[hidden]{display:none!important}
:root{--navy:#071a3d;--blue:#1464f4;--bg:#f3f6fb;--line:#dfe6f0;--text:#10213d;--muted:#68758a}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.screen{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),#103979)}.login-card{width:min(410px,calc(100% - 28px));background:white;border-radius:20px;padding:28px;box-shadow:0 30px 80px #0005}.logo{width:64px;height:64px;border-radius:15px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:900}.login-card h1{margin-bottom:2px}.login-card p{color:var(--muted)}label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:.86rem;margin-top:12px}input,select,textarea{padding:11px;border:1px solid var(--line);border-radius:9px;width:100%}textarea{min-height:85px}button{background:var(--blue);color:white;border:0;border-radius:9px;padding:10px 13px;font-weight:800;cursor:pointer}.login-card>button,.modal>button{width:100%;margin-top:18px;padding:12px}.secondary{background:#e8eef8;color:var(--navy)}header{background:var(--navy);color:#fff;padding:16px max(16px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;align-items:center}header strong{display:block;font-size:1.2rem}header span{font-size:.85rem;color:#bfd2f4;margin-right:10px}nav{display:flex;gap:8px;padding:12px max(16px,calc((100vw - 1180px)/2));background:white;border-bottom:1px solid var(--line)}nav button{background:transparent;color:#40516c}nav button.active{background:#e8f0ff;color:#0d47b8}main{max-width:1180px;margin:auto;padding:22px 16px 50px}.view{display:none}.view.active{display:block}.title{display:flex;justify-content:space-between;align-items:center;gap:15px}.title h1{margin-bottom:0}.title p{margin-top:4px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.stat,.card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;box-shadow:0 10px 30px #10213d12}.stat strong{font-size:1.7rem;display:block}.stat span{color:var(--muted)}.row{padding:13px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px}.row:last-child{border:0}.meta{color:var(--muted);font-size:.88rem}.pill{display:inline-block;background:#e8eef8;padding:4px 8px;border-radius:99px;font-size:.76rem;font-weight:800}.filters{display:grid;grid-template-columns:1fr 220px;gap:10px;margin-bottom:12px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.full{grid-column:1/-1}dialog{border:0;border-radius:18px;padding:0;width:min(720px,calc(100% - 24px));box-shadow:0 30px 90px #0006}.modal{padding:20px}.modal-head{display:flex;justify-content:space-between;align-items:center}.icon{background:#edf1f7;color:#22344f;width:36px;height:36px;border-radius:50%;font-size:1.4rem;padding:0}.error{color:#b4233c;margin-top:10px}.empty{padding:25px;text-align:center;color:var(--muted)}@media(max-width:700px){.stats{grid-template-columns:1fr 1fr}.grid,.filters{grid-template-columns:1fr}.title{align-items:flex-start}.row{flex-direction:column}} 
.clickable{cursor:pointer}.clickable:hover{background:#f5f8fc}.wide{width:min(940px,94vw)}.detail-actions,.actions,.uploadbar,.notebar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-grid .card{margin:0}dl{display:grid;grid-template-columns:120px 1fr;gap:8px;margin:0}dt{font-weight:700;color:#53627a}dd{margin:0}.files{display:flex;flex-direction:column;gap:8px}.files a{padding:10px;background:#eef4ff;border-radius:8px;text-decoration:none;color:#0b4fb3}.notebar textarea{flex:1;min-height:70px}.timeline>div{border-left:3px solid #0b66ff;padding:4px 0 10px 14px;margin:10px 0}.timeline span{display:block;color:#69768b;font-size:.82rem}.timeline p{margin:4px 0}.danger{background:#b42318}.secondary{background:#e9eef6;color:#16345e}.modal-head p{margin:2px 0;color:#69768b}@media(max-width:720px){.detail-grid{grid-template-columns:1fr}.uploadbar>*{width:100%}dl{grid-template-columns:95px 1fr}}

/* v2.1.1 session and navigation polish */
body.app-ready{overflow-x:hidden}
body.auth-pending #loginForm{opacity:.72;pointer-events:none}
.login-card button[disabled]{opacity:.65;cursor:wait}
@media(max-width:700px){header{gap:12px;align-items:flex-start}header>div:last-child{display:flex;align-items:center;gap:7px}header span{margin-right:0;max-width:150px}nav{position:sticky;top:0;z-index:20;overflow-x:auto}nav button{white-space:nowrap}}

.app-error{position:relative;z-index:9999;margin:12px auto;padding:12px 16px;max-width:1180px;background:#fff1f0;border:1px solid #f2b8b5;border-radius:10px;color:#8a1c13;font-weight:700}

.row-actions{display:flex;gap:8px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:10px 14px;border-radius:9px;font-weight:700}.small-btn{padding:9px 12px}code{background:#eef2f7;padding:2px 6px;border-radius:5px}

#manufacturerSelect,#modelSelect{width:100%} select:disabled{opacity:.65;cursor:not-allowed}.meta+button{margin-left:.5rem}

/* v3.1.1 searchable device selector */
#manufacturerSearch,#modelSearch{margin-bottom:6px;background:#fff}.device-search-hint{font-size:.78rem;color:var(--muted);font-weight:500}

/* v3.1.2 autocomplete-only device selector */
.autocomplete{position:relative}.autocomplete-results{position:absolute;z-index:50;left:0;right:0;top:calc(100% + 4px);max-height:280px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 40px #10213d2b;padding:6px}.autocomplete-option,.autocomplete-add{display:flex;width:100%;text-align:left;border-radius:7px;padding:10px;background:#fff;color:var(--text);font-weight:600}.autocomplete-option{flex-direction:column;gap:2px}.autocomplete-option span{font-size:.76rem;color:var(--muted);font-weight:500}.autocomplete-option:hover,.autocomplete-option:focus{background:#eef4ff}.autocomplete-add{margin-top:5px;background:#e8f0ff;color:#0d47b8}.autocomplete-empty{padding:10px;color:var(--muted);font-size:.86rem}#manufacturerSearch,#modelSearch{margin-bottom:0}
#faultSearch{margin-bottom:0}.fault-option{display:flex;width:100%;text-align:left;border-radius:7px;padding:10px;background:#fff;color:var(--text);font-weight:600}.fault-option:hover,.fault-option:focus{background:#eef4ff}

/* v3.1.4 PIN and Android pattern capture */
.access-code{border:1px solid var(--line);border-radius:12px;padding:14px;margin:0;min-width:0}.access-code legend{font-weight:700;padding:0 6px}.access-choice{display:flex;gap:10px;flex-wrap:wrap}.access-choice label{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:9px;padding:9px 11px;background:#fff;cursor:pointer}.access-choice input{width:auto;margin:0}.access-panel{margin-top:14px}.pattern-lock{position:relative;width:min(280px,100%);aspect-ratio:1;margin:10px auto;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:28px;touch-action:none;user-select:none}.pattern-lock svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.pattern-lock line{stroke:var(--primary);stroke-width:8;stroke-linecap:round;opacity:.75}.pattern-lock button{position:relative;z-index:2;width:42px;height:42px;padding:0;border-radius:50%;justify-self:center;align-self:center;background:#fff;border:4px solid #8090a8;box-shadow:0 0 0 8px #eef3fb;color:transparent}.pattern-lock button.selected{background:var(--primary);border-color:var(--primary);box-shadow:0 0 0 8px #dce9ff}.pattern-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.pattern-actions span{font-size:.86rem;color:var(--muted);font-weight:600}@media(max-width:520px){.access-choice{display:grid}.pattern-lock{gap:20px;padding:22px}}


/* v3.2.0 Technician Workspace */
.workspace-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px;padding:6px;background:#eef3f9;border-radius:14px}.workspace-tabs button{background:transparent;color:#18324d;border:0}.workspace-tabs button.active{background:#fff;color:#071a3d;box-shadow:0 2px 10px #071a3d1a}.workspace-panel{display:none}.workspace-panel.active{display:block}.diagnostic-shell{display:grid;gap:16px}.diagnostic-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:18px;border-radius:16px;background:linear-gradient(135deg,#071a3d,#124f91);color:#fff}.diagnostic-header h3{font-size:1.4rem;margin:3px 0}.diagnostic-header p{margin:0;color:#dcecff}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800}.diagnostic-status{background:#ffffff1f;border:1px solid #ffffff38;padding:7px 10px;border-radius:999px;font-size:.78rem;white-space:nowrap}.diagnostic-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:16px}.diagnostic-step{display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:10px;padding:13px 0;border-bottom:1px solid #e5ebf2}.diagnostic-step>div span{display:block;color:#62758a;font-size:.84rem;margin-top:3px}.diagnostic-step textarea{grid-column:1/-1;min-height:58px}.diagnostic-grid label{display:grid;gap:5px;margin-bottom:10px}@media(max-width:800px){.diagnostic-grid{grid-template-columns:1fr}.diagnostic-step{grid-template-columns:1fr}.diagnostic-header{display:block}.diagnostic-status{display:inline-block;margin-top:12px}}

/* v3.2.1 unified intelligent device search */
#deviceSearch{margin-bottom:0}.device-smart-search .autocomplete-results{max-height:360px}.device-result strong{font-size:.94rem}.device-result span{line-height:1.35}.device-result span:empty{display:none}#selectedManufacturer,#selectedModel,#deviceCategory{background:#f5f7fb;color:var(--text)}

/* v3.2.3 business-portal style device picker */
.device-picker-label{font-size:1rem}.device-search-input-wrap{position:relative}.device-search-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-size:1.35rem;color:#61728b;pointer-events:none}.device-smart-search #deviceSearch{height:58px;padding:14px 48px;font-size:1rem;font-weight:650;border:2px solid #cbd6e5;border-radius:14px;background:#fff;transition:border-color .15s,box-shadow .15s}.device-smart-search #deviceSearch:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px #1464f425}.device-smart-search #deviceSearch::-webkit-search-cancel-button{cursor:pointer}.device-picker-results{top:calc(100% + 8px);max-height:430px;padding:0;border-radius:14px;border:1px solid #bfd0e6;overflow:auto;box-shadow:0 22px 55px #071a3d35}.device-picker-results .device-result{display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;align-items:center;padding:16px 18px;border-radius:0;border-bottom:1px solid var(--line);min-height:78px}.device-picker-results .device-result:last-of-type{border-bottom:0}.device-picker-results .device-result:hover,.device-picker-results .device-result:focus,.device-picker-results .device-result.active{background:#eef5ff;outline:0}.device-result-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:#eaf1fa;font-size:1.7rem}.device-result-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.device-result-copy strong{font-size:1rem;line-height:1.2;color:var(--text)}.device-result-copy>span{font-size:.86rem;color:var(--muted);font-weight:600}.device-result-copy small{font-size:.75rem;color:#41638e;font-weight:650}.device-picker-results .autocomplete-add{margin:0;border-radius:0;padding:15px 18px;gap:8px;border-top:1px solid var(--line);background:#f4f8ff}.device-picker-results .autocomplete-empty{padding:22px 18px}.selected-device-summary{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:13px;align-items:center;padding:13px 15px;border:1px solid #b8cceb;border-radius:12px;background:#f1f7ff;margin-top:4px}.selected-device-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#fff;font-size:1.6rem}.selected-device-summary div{display:flex;flex-direction:column;gap:3px}.selected-device-summary strong{font-size:.96rem}.selected-device-summary span:not(.selected-device-icon){font-size:.8rem;color:var(--muted);font-weight:600}.selected-device-summary button{white-space:nowrap}@media(max-width:520px){.device-smart-search #deviceSearch{height:54px;padding-left:44px;font-size:.94rem}.device-picker-results .device-result{grid-template-columns:44px minmax(0,1fr);padding:13px}.device-result-icon{width:38px;height:38px;font-size:1.4rem}.selected-device-summary{grid-template-columns:42px minmax(0,1fr)}.selected-device-summary button{grid-column:1/-1;width:100%}}

/* v3.2.6 CCUS Scotland branding and persistent themes */
:root{
 --surface:#fff;--surface-soft:#f7f9fc;--surface-raised:#fff;--header:#071a3d;
 --button-secondary:#e9eef6;--button-secondary-text:#16345e;--input-bg:#fff;
 --shadow:16,33,61;--overlay:0,0,0;--accent-soft:#e8f0ff;--accent-text:#0d47b8;
}
html[data-theme="dark"]{
 --navy:#071426;--blue:#2f80ff;--bg:#081321;--line:#26384d;--text:#edf5ff;--muted:#9cafc4;
 --surface:#0e1d2e;--surface-soft:#122338;--surface-raised:#13253a;--header:#06111f;
 --button-secondary:#20344b;--button-secondary-text:#e4efff;--input-bg:#091727;
 --shadow:0,0,0;--overlay:0,0,0;--accent-soft:#173b69;--accent-text:#acd0ff;
}
body,.card,.stat,nav,input,select,textarea,dialog,.login-card,.autocomplete-results,.autocomplete-option,.access-choice label,.pattern-lock button,.workspace-tabs,.workspace-tabs button.active{transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}
body{background:var(--bg);color:var(--text)}
.screen{position:relative;background:radial-gradient(circle at 20% 15%,#1767b666,transparent 32%),linear-gradient(135deg,var(--navy),#103979)}
html[data-theme="dark"] .screen{background:radial-gradient(circle at 20% 15%,#1464f433,transparent 32%),linear-gradient(135deg,#030a12,#0b213d)}
.login-card,.card,.stat,dialog{background:var(--surface);color:var(--text);border-color:var(--line)}
.login-card{width:min(440px,calc(100% - 28px));padding:30px}.login-card h1{margin-top:24px}
.brand-lockup,.header-brand{display:flex;align-items:center;gap:13px}.brand-name{font-size:1.15rem;font-weight:900;letter-spacing:.01em}.brand-subtitle{text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;font-weight:800;color:var(--blue);margin-top:2px}
.brand-mark{position:relative;width:72px;height:72px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#1464f4,#071a3d);color:#fff;box-shadow:0 12px 28px #071a3d45;overflow:hidden}.brand-mark strong{position:relative;font-size:.9rem;letter-spacing:.05em;margin-top:21px}.power-ring{position:absolute;width:28px;height:28px;border:4px solid #fff;border-top-color:transparent;border-radius:50%;top:10px}.power-ring:before{content:"";position:absolute;width:4px;height:15px;background:#fff;border-radius:4px;left:8px;top:-8px}.brand-mark-small{width:48px;height:48px;border-radius:12px;box-shadow:none;flex:none}.brand-mark-small .power-ring{width:20px;height:20px;border-width:3px;top:6px}.brand-mark-small .power-ring:before{width:3px;height:11px;left:6px;top:-6px}.brand-mark-small strong{font-size:.62rem;margin-top:16px}
header{background:var(--header)}header .header-brand>div:last-child>strong{font-size:1.05rem}.header-actions{display:flex;align-items:center;gap:9px}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:auto;background:#ffffff18;color:#fff;border:1px solid #ffffff32;padding:9px 11px}.theme-toggle:hover{background:#ffffff27}.login-theme-toggle{position:absolute;right:18px;top:18px;z-index:2;background:#071a3dcc}.login-theme-toggle span:first-child{font-size:1.08rem}
nav{background:var(--surface);border-color:var(--line)}nav button{color:var(--muted)}nav button.active{background:var(--accent-soft);color:var(--accent-text)}
input,select,textarea{background:var(--input-bg);color:var(--text);border-color:var(--line)}input::placeholder,textarea::placeholder{color:var(--muted)}
.secondary{background:var(--button-secondary);color:var(--button-secondary-text)}.icon{background:var(--button-secondary);color:var(--button-secondary-text)}
.row{border-color:var(--line)}.clickable:hover{background:var(--surface-soft)}.pill{background:var(--button-secondary);color:var(--button-secondary-text)}code{background:var(--surface-soft);color:var(--text)}
.autocomplete-results,.autocomplete-option,.fault-option{background:var(--surface-raised);color:var(--text);border-color:var(--line)}.autocomplete-option:hover,.autocomplete-option:focus,.fault-option:hover,.fault-option:focus{background:var(--accent-soft)}
.access-choice label,.pattern-lock button{background:var(--surface);border-color:var(--line)}.workspace-tabs{background:var(--surface-soft)}.workspace-tabs button{color:var(--muted)}.workspace-tabs button.active{background:var(--surface-raised);color:var(--text)}
.files a{background:var(--accent-soft);color:var(--accent-text)}dt{color:var(--muted)}.timeline span,.modal-head p{color:var(--muted)}
html[data-theme="dark"] dialog::backdrop{background:#000a}html[data-theme="dark"] .diagnostic-step{border-color:var(--line)}html[data-theme="dark"] .diagnostic-step>div span{color:var(--muted)}
@media(max-width:700px){.header-brand .brand-mark-small{display:none}.header-actions{flex-wrap:wrap;justify-content:flex-end}.theme-toggle [data-theme-label]{display:none}.theme-toggle{width:40px}.login-theme-toggle{width:auto}.login-theme-toggle [data-theme-label]{display:inline}}

/* v3.2.7 CCUS executive dashboard */
.app-shell{min-height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr);background:var(--bg)}
.app-sidebar{position:fixed;inset:0 auto 0 0;width:252px;z-index:60;display:flex;flex-direction:column;background:linear-gradient(180deg,#06152a,#071b32 65%,#061426);color:#fff;border-right:1px solid #ffffff12;overflow-y:auto}
.sidebar-brand{display:flex;align-items:center;gap:12px;padding:18px 16px 16px;border-bottom:1px solid #ffffff12}.sidebar-brand img{width:66px;height:66px;border-radius:50%;object-fit:cover;box-shadow:0 0 24px #17a8ff55}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand strong{font-size:1.05rem;text-transform:uppercase;letter-spacing:.035em}.sidebar-brand span{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:#26a9ff;font-weight:900;margin-top:3px}
.sidebar-nav{display:flex;flex-direction:column;gap:4px;padding:15px 10px;background:transparent;border:0}.sidebar-nav button{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:transparent;color:#d8e6f7;padding:10px 12px;border-radius:8px;font-weight:650}.sidebar-nav button:hover{background:#ffffff0d}.sidebar-nav button.active{background:linear-gradient(90deg,#1556ba,#1767cf);color:#fff;box-shadow:0 6px 18px #0003}.nav-icon{width:22px;text-align:center;font-size:1.08rem}.nav-heading{padding:13px 12px 5px;color:#8ea3bd;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;font-weight:800}
.sidebar-footer{margin-top:auto;padding:16px;border-top:1px solid #ffffff18;display:flex;gap:10px;align-items:flex-start}.sidebar-footer img{width:46px;height:46px;border-radius:50%;object-fit:cover}.sidebar-footer strong,.sidebar-footer span{display:block}.sidebar-footer strong{font-size:.78rem;text-transform:uppercase}.sidebar-footer span{font-size:.69rem;color:#bdcce0;margin-top:4px;line-height:1.35}
.app-content{min-width:0;margin-left:252px}.topbar{position:sticky;top:0;z-index:50;min-height:76px;padding:12px 24px;background:var(--header);border-bottom:1px solid #ffffff10}.menu-toggle{display:none;background:#ffffff12;color:#fff;font-size:1.2rem}.topbar-title strong,.topbar-title span{display:block}.topbar-title strong{font-size:1rem}.topbar-title span{font-size:.75rem;color:#8fb0d3;margin:3px 0 0}.user-chip{display:flex;align-items:center;gap:9px;padding-left:10px;border-left:1px solid #ffffff1c}.user-chip>div strong,.user-chip>div span{display:block}.user-chip>div strong{font-size:.86rem}.user-chip>div span{font-size:.72rem;color:#a9bdd5;margin:2px 0 0;text-transform:capitalize}.user-avatar{display:grid!important;place-items:center;width:34px;height:34px;border-radius:50%;background:#e6edf7;color:#8999ad!important;margin:0!important}.signout-button{padding:8px 10px}
.app-content main{max-width:none;padding:28px 34px 50px}.dashboard-welcome{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.dashboard-welcome h1{margin:0;font-size:1.8rem}.dashboard-welcome p{margin:7px 0 0;color:var(--muted)}.welcome-actions{display:flex;gap:10px}.dashboard-stats{margin:0 0 18px}.dashboard-stats .stat{display:grid;grid-template-columns:52px 1fr;gap:13px;align-items:center;padding:20px}.stat-icon{grid-row:1/3;display:grid;place-items:center;width:52px;height:52px;border-radius:12px;background:var(--accent-soft);color:var(--blue);font-size:1.45rem}.dashboard-stats .stat strong{font-size:1.65rem;color:var(--blue)}.dashboard-stats .stat span{font-size:.86rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:18px}.dashboard-side{display:grid;gap:18px;align-content:start}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.card-heading h2,.dashboard-search h2{margin:0;font-size:1.04rem}.text-button{background:transparent;color:var(--blue);padding:6px}.dashboard-recent .row{padding:15px 4px}.dashboard-search-wrap{position:relative;margin-top:16px}.dashboard-search-wrap span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:1.25rem}.dashboard-search-wrap input{padding-left:44px;height:48px}.quick-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.quick-action-grid button{min-height:58px}
html[data-theme="dark"] .app-sidebar{background:linear-gradient(180deg,#030b15,#071727 70%,#030b15)}
@media(max-width:980px){.app-shell{display:block}.app-sidebar{transform:translateX(-100%);transition:transform .2s ease;box-shadow:20px 0 50px #0007}.app-shell.sidebar-open .app-sidebar{transform:translateX(0)}.app-content{margin-left:0}.menu-toggle{display:inline-flex}.topbar-title{display:none}.dashboard-grid{grid-template-columns:1fr}.app-content main{padding:22px 18px 44px}}
@media(max-width:700px){.dashboard-welcome{align-items:flex-start;flex-direction:column}.welcome-actions{width:100%}.welcome-actions button{flex:1}.dashboard-stats{grid-template-columns:1fr 1fr}.quick-action-grid{grid-template-columns:1fr}.app-content main{padding:18px 13px 40px}.user-chip{display:none}.topbar{padding:10px 13px}.sidebar-footer{display:none}}
@media(max-width:480px){.dashboard-stats{grid-template-columns:1fr}.welcome-actions{flex-direction:column}}


/* v3.2.8 navigation and repair workspace usability hotfix */
#detailDialog{width:min(1180px,calc(100vw - 32px));max-width:none;height:min(900px,calc(100vh - 32px));max-height:calc(100vh - 32px);overflow:hidden}
#detailDialog>.modal.wide{width:100%;height:100%;max-width:none;display:flex;flex-direction:column;padding:22px}
#detailDialog .modal-head{flex:0 0 auto;padding-bottom:12px;border-bottom:1px solid var(--line)}
#detailBody{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 5px 8px 0}
#detailBody>.card{margin-top:16px}
#detailBody .detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(max-width:720px){#detailDialog{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}#detailDialog>.modal.wide{padding:14px}#detailBody{padding-right:0}#detailBody .detail-grid{grid-template-columns:1fr}.detail-actions{position:sticky;top:-16px;z-index:4;background:var(--surface);padding:10px 0;border-bottom:1px solid var(--line)}}

/* Workshop Pro 4.0 staff accounts */
.staff-modal{width:min(860px,calc(100vw - 28px))}.permission-panel{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.permission-panel h3{margin:0 0 5px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}.permission-item,.check-line{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft)}.permission-item input,.check-line input{width:auto;margin:0}.permissions-disabled{opacity:.55}.staff-modal .meta{display:block;margin-top:5px}@media(max-width:650px){.permission-grid{grid-template-columns:1fr}}


/* Workshop Pro 4.0.1 staff-dialog viewport fix */
#staffDialog{
  width:min(900px,calc(100vw - 28px));
  max-width:900px;
  max-height:calc(100dvh - 28px);
  overflow:hidden;
}
#staffDialog>.staff-modal{
  width:100%;
  max-height:calc(100dvh - 28px);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  padding:0 20px 20px;
}
#staffDialog .modal-head{
  position:sticky;
  top:0;
  z-index:5;
  margin:0 -20px 16px;
  padding:18px 20px 14px;
  background:var(--surface);
  border-bottom:1px solid var(--line);
}
#staffDialog .actions{
  position:sticky;
  bottom:0;
  z-index:5;
  margin:18px -20px -20px;
  padding:14px 20px 18px;
  background:var(--surface);
  border-top:1px solid var(--line);
}
#staffDialog .actions button{min-width:140px}
@media(max-width:700px){
  #staffDialog{
    width:100vw;
    max-width:none;
    height:100dvh;
    max-height:100dvh;
    border-radius:0;
  }
  #staffDialog>.staff-modal{
    max-height:100dvh;
    padding:0 14px 16px;
  }
  #staffDialog .modal-head{
    margin:0 -14px 14px;
    padding:14px;
  }
  #staffDialog .actions{
    margin:16px -14px -16px;
    padding:12px 14px calc(12px + env(safe-area-inset-bottom));
  }
  #staffDialog .actions button{flex:1;min-width:0}
}

/* Workshop Pro 4.0.3 RC1 administrator tools */
.admin-mode-banner{position:fixed;z-index:1200;top:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:14px;padding:10px 16px;background:#f59e0b;color:#1f2937;box-shadow:0 2px 12px rgba(0,0,0,.25)}
.admin-mode-banner[hidden]{display:none}.admin-mode-banner button{padding:7px 12px;background:#1f2937;color:#fff}.is-impersonating .app-sidebar,.is-impersonating .app-content{padding-top:48px}
.permission-inspector{display:grid;gap:8px}.permission-inspector-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid var(--border,#dbe3ef);border-radius:10px}.permission-inspector-row small{display:block;opacity:.65}.permission-inspector-row b{font-size:.85rem}.audit-details{margin-top:5px;font-size:.82rem;opacity:.75}.update-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.notice.success{border-color:#22c55e;background:rgba(34,197,94,.12)}
@media(max-width:700px){.admin-mode-banner{align-items:flex-start;flex-wrap:wrap;font-size:.85rem}.is-impersonating .app-sidebar,.is-impersonating .app-content{padding-top:78px}}

/* Workshop Pro 4.0.4 secure Update Centre */
.stat-warning{outline:1px solid rgba(245,158,11,.55)}
.update-progress{margin-top:16px;display:grid;gap:9px}
.update-progress[hidden]{display:none}
.update-progress-bar{height:9px;border-radius:999px;overflow:hidden;background:var(--surface-soft);border:1px solid var(--line)}
.update-progress-bar span{display:block;width:36%;height:100%;border-radius:inherit;background:currentColor;animation:update-centre-progress 1.25s ease-in-out infinite}
@keyframes update-centre-progress{0%{transform:translateX(-110%)}100%{transform:translateX(310%)}}
.update-history-row{align-items:flex-start;gap:16px}.update-history-actions{display:flex;align-items:flex-end;gap:9px;flex-direction:column}.title.compact{margin-bottom:12px}.title.compact h2{margin-bottom:3px}
@media(max-width:700px){.update-history-row{display:grid}.update-history-actions{align-items:flex-start;flex-direction:row;flex-wrap:wrap}.update-form input{width:100%}}

/* Workshop Pro 5.0 RC1 */
.v5-commandbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,var(--surface),var(--surface-soft));margin-bottom:14px}.v5-commandbar>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.v5-commandbar strong{font-size:1.15rem}.work-timer{font-variant-numeric:tabular-nums;font-weight:800;font-size:1.05rem;padding:8px 12px;border-radius:10px;background:var(--surface-soft)}.v5-tabs{overflow:auto;white-space:nowrap}.v5-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.v5-kpis>div{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.v5-kpis span{display:block;font-size:.78rem;opacity:.7}.v5-kpis strong{display:block;margin-top:4px;font-size:1.08rem}.v5-fault{font-size:1.08rem;line-height:1.55}.sticky-card{position:sticky;top:12px;align-self:start}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.measurement-list{display:grid;gap:9px}.measurement-list>div{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:12px;border:1px solid var(--line);border-radius:12px}.measurement-list small{grid-column:1/-1;opacity:.65}.v5-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:12px}.v5-gallery a{display:grid;gap:4px;padding:13px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:inherit}.v5-gallery span{font-size:.82rem;opacity:.7;overflow-wrap:anywhere}.qc-head{display:flex;justify-content:space-between;align-items:center}.qc-head>strong{font-size:1.5rem}.qc-list{display:grid;gap:8px}.qc-list>div{display:grid;grid-template-columns:1fr 170px;gap:8px 14px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:12px}.qc-list small{grid-column:1/-1;opacity:.65}.memory-match{padding:12px 0;border-bottom:1px solid var(--line)}.memory-match>div{display:flex;justify-content:space-between;gap:10px}.memory-match p{margin:6px 0}.diagnostic-shell details{padding:10px 0;border-bottom:1px solid var(--line)}.diagnostic-shell summary{cursor:pointer}.card output{display:inline-block;margin-left:8px;font-weight:800}
@media(max-width:900px){.v5-kpis{grid-template-columns:1fr 1fr}.v5-commandbar{align-items:flex-start}.diagnostic-grid{grid-template-columns:1fr}.sticky-card{position:static}}
@media(max-width:620px){.v5-commandbar{display:grid}.v5-kpis{grid-template-columns:1fr 1fr}.mini-grid{grid-template-columns:1fr}.qc-list>div{grid-template-columns:1fr}.qc-list small{grid-column:1}.v5-gallery{grid-template-columns:1fr}}

/* v5.0.0 RC1.1 device selector contrast hotfix */
.device-smart-search #deviceSearch{
 background:#0b1d31;
 color:#f5f9ff;
 border-color:#35516f;
 caret-color:#fff;
}
.device-smart-search #deviceSearch::placeholder{color:#aebed1;opacity:1}
.device-smart-search #deviceSearch:focus{
 background:#0b1d31;
 color:#fff;
 border-color:#4b95ff;
 box-shadow:0 0 0 4px #2f80ff33;
}
.device-search-icon{color:#b9c9dc}
.device-picker-results{
 background:#0e2035;
 border-color:#35516f;
 color:#f2f7ff;
}
.device-picker-results .device-result{
 background:#0e2035;
 border-bottom-color:#263f5b;
 color:#f2f7ff;
}
.device-picker-results .device-result:hover,
.device-picker-results .device-result:focus,
.device-picker-results .device-result.active{background:#183a61}
.device-result-icon{background:#173553;color:#fff}
.device-result-copy strong{color:#f5f9ff}
.device-result-copy>span{color:#b8c8da}
.device-result-copy small{color:#8fc1ff}
.device-picker-results .autocomplete-add{background:#142f4e;color:#cfe3ff;border-top-color:#35516f}
.device-picker-results .autocomplete-empty{color:#b8c8da}
.selected-device-summary{
 background:#0d2239;
 border-color:#355a80;
 color:#f5f9ff;
}
.selected-device-icon{background:#173553;color:#fff}
.selected-device-summary strong{color:#f5f9ff}
.selected-device-summary span:not(.selected-device-icon){color:#b9c9dc}

/* v5.1 CCUS CRM */
.crm-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.crm-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:800;background:var(--surface-2,#173451);color:var(--text,#fff)}.crm-badge.vip{background:#5b4300;color:#ffe49a}.crm-badge.trade{background:#123e31;color:#9ce8cb}.crm-badge.inactive{background:#4b2730;color:#ffc0cb}.crm-modal{width:min(820px,calc(100vw - 28px));max-height:calc(100vh - 36px);overflow:auto}.customer-workspace{width:100%;min-height:calc(100dvh - 120px)}.customer-workspace-head{position:sticky;top:0;z-index:8;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:16px 0 18px;background:var(--bg,#071a2d);border-bottom:1px solid var(--border,#29445f);margin-bottom:18px}.customer-workspace-title h1{margin:0}.customer-workspace-title p{margin:4px 0 0;color:var(--muted,#9db0c5)}.customer-workspace-body{display:grid;gap:16px;padding-bottom:32px}.customer-back{white-space:nowrap}.customer-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.crm-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.crm-metrics>div{padding:16px;border-radius:12px;background:var(--surface-2,#122c48);text-align:center}.crm-metrics strong{display:block;font-size:1.5rem}.crm-metrics span,.crm-device span{display:block;color:var(--muted,#9db0c5);font-size:.85rem}.crm-device{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border,#29445f)}.selected-customer-panel{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:14px;border:1px solid #2f6ca7;border-radius:14px;background:#092440;color:#eef8ff}.selected-customer-panel strong,.selected-customer-panel span{display:block}.selected-customer-panel span{color:#aac6de;font-size:.86rem}.customer-device-choices{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.customer-device-choice,.customer-result{background:#0e2d4b!important;color:#eef8ff!important;border:1px solid #315f86!important;text-align:left}.customer-device-choice{padding:8px 10px;border-radius:10px}.customer-device-choice small,.customer-result span{display:block;color:#afc8dc}.customer-result{width:100%;padding:12px}.customer-picker-label .autocomplete-results{max-height:300px;overflow:auto;background:#081f36;border-color:#315f86}@media(max-width:760px){.crm-stats{grid-template-columns:1fr 1fr}.customer-profile-grid{grid-template-columns:1fr}.crm-modal{width:100vw;height:100dvh;max-height:none;border-radius:0}.customer-workspace-head{grid-template-columns:1fr auto;gap:10px}.customer-back{grid-column:1/-1;justify-self:start}.customer-workspace-title h1{font-size:1.45rem}.selected-customer-panel{grid-template-columns:1fr}}

/* v5.1.0 RC1.2 CRM theme contrast hotfix */
#customerDirectoryView,
#customerWorkspace,
.customer-workspace,
.customer-workspace-body,
.crm-customer-row,
.crm-device{
  color:var(--text);
}
#customerDirectoryView .card,
#customerDirectoryView .stat,
#customerWorkspace .card{
  background:var(--surface);
  color:var(--text);
  border-color:var(--line);
}
.customer-workspace-head{
  background:var(--bg);
  color:var(--text);
  border-color:var(--line);
}
.customer-workspace-title h1,
.customer-workspace h2,
.customer-workspace h3,
.crm-customer-row strong,
.crm-device strong,
.crm-metrics strong,
.customer-workspace dd,
.customer-workspace p{
  color:var(--text);
}
.customer-workspace-title p,
.crm-customer-row .meta,
.customer-workspace .meta,
.crm-device span,
.crm-metrics span,
.customer-workspace dt,
.customer-workspace .empty{
  color:var(--muted);
}
.crm-metrics>div{
  background:var(--surface-soft);
  color:var(--text);
  border:1px solid var(--line);
}
.crm-badge{
  background:var(--accent-soft);
  color:var(--accent-text);
  border:1px solid var(--line);
}
.crm-badge.active{background:var(--accent-soft);color:var(--accent-text)}
.crm-customer-row.clickable:hover,
#customerWorkspace .row.clickable:hover{
  background:var(--surface-soft);
}
#customerWorkspace .pill{
  background:var(--button-secondary);
  color:var(--button-secondary-text);
}
html[data-theme="dark"] .crm-badge.vip{background:#5b4300;color:#ffe49a;border-color:#8a6a0a}
html[data-theme="dark"] .crm-badge.trade{background:#123e31;color:#9ce8cb;border-color:#24664f}
html[data-theme="dark"] .crm-badge.inactive{background:#4b2730;color:#ffc0cb;border-color:#75404c}
html:not([data-theme="dark"]) .crm-badge.vip{background:#fff2bd;color:#624700;border-color:#dfbd43}
html:not([data-theme="dark"]) .crm-badge.trade{background:#dff8ee;color:#15543f;border-color:#89cdb4}
html:not([data-theme="dark"]) .crm-badge.inactive{background:#ffe8ec;color:#842839;border-color:#eab0bc}

/* v5.1.0 RC1.3 — Customer editor sizing and scrolling */
#customerDialog{
  width:min(980px,calc(100vw - 32px));
  max-width:980px;
  height:min(880px,calc(100dvh - 32px));
  max-height:calc(100dvh - 32px);
  overflow:hidden;
}
#customerDialog>.crm-modal{
  width:100%;
  height:100%;
  max-height:none;
  padding:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:var(--surface,#fff);
  color:var(--text,#10213d);
}
#customerDialog .modal-head{
  flex:0 0 auto;
  position:sticky;
  top:0;
  z-index:5;
  padding:18px 20px 14px;
  background:var(--surface,#fff);
  border-bottom:1px solid var(--line,#dfe6f0);
}
#customerDialog .crm-modal>.grid{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:6px 20px 20px;
  align-content:start;
}
#customerDialog .crm-modal>.actions{
  flex:0 0 auto;
  position:sticky;
  bottom:0;
  z-index:5;
  margin:0;
  padding:14px 20px;
  background:var(--surface,#fff);
  border-top:1px solid var(--line,#dfe6f0);
}
#customerDialog .crm-modal>.actions button{
  min-width:180px;
}
#customerDialog #customerError{
  flex:0 0 auto;
  margin:0;
  padding:0 20px 12px;
  background:var(--surface,#fff);
}

@media(max-width:760px){
  #customerDialog{
    width:100vw;
    max-width:none;
    height:100dvh;
    max-height:100dvh;
    border-radius:0;
    margin:0;
  }
  #customerDialog .modal-head{padding:14px 16px 12px}
  #customerDialog .crm-modal>.grid{padding:4px 16px 18px}
  #customerDialog .crm-modal>.actions{padding:12px 16px}
  #customerDialog .crm-modal>.actions button{width:100%;min-width:0}
  #customerDialog #customerError{padding:0 16px 10px}
}


/* v5.1.1 CRM device workspaces, timelines and merge tools */
.crm-panel{display:none}.crm-panel.active{display:block}.crm-tabs{margin-bottom:16px;overflow-x:auto}.crm-tabs button{white-space:nowrap}.crm-timeline{display:grid;gap:0}.crm-timeline-item{position:relative;display:grid;grid-template-columns:22px 1fr;gap:10px;padding:0 0 20px}.crm-timeline-item:before{content:"";position:absolute;left:7px;top:15px;bottom:-2px;width:2px;background:var(--border)}.crm-timeline-item:last-child:before{display:none}.crm-timeline-dot{width:16px;height:16px;border-radius:50%;background:var(--accent);margin-top:3px;z-index:1;border:3px solid var(--bg)}.crm-timeline-item p{margin:4px 0;color:var(--text)}.crm-timeline-item small{color:var(--muted)}.link-button{display:block;background:transparent!important;color:var(--accent-text)!important;padding:5px 0!important;margin-top:3px;text-align:left}.warranty-banner{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:12px;border:1px solid}.warranty-banner strong,.warranty-banner span{display:block}.warranty-banner.active{background:#123e31;color:#baf4dc;border-color:#2f8165}.warranty-banner.expired{background:#4b2730;color:#ffd4dc;border-color:#8b4e5b}.merge-results{display:grid;gap:8px;max-height:270px;overflow:auto;margin:12px 0}.merge-results button{display:flex;flex-direction:column;align-items:flex-start;background:var(--surface-2);color:var(--text);border:1px solid var(--border);padding:12px}.merge-results button span{color:var(--muted);font-size:.86rem}#deviceEditorDialog,#mergeCustomerDialog{padding:0;border:0;background:transparent}#deviceEditorDialog>.crm-modal,#mergeCustomerDialog>.crm-modal{width:min(900px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto}.customer-device-choice small{line-height:1.35}@media(max-width:760px){#deviceEditorDialog,#mergeCustomerDialog{width:100vw;height:100dvh;max-width:none;max-height:none}#deviceEditorDialog>.crm-modal,#mergeCustomerDialog>.crm-modal{width:100vw;height:100dvh;max-height:none;border-radius:0}.warranty-banner{flex-direction:column}}

/* v5.1.1 RC1.2 — Find or add customer during repair booking */
.customer-create-result{border-top:1px solid var(--border,#2b4774)!important;background:linear-gradient(135deg,rgba(23,99,255,.18),rgba(21,193,161,.12))!important}
.customer-create-result strong{color:var(--text,#f4f8ff)!important}
.customer-create-result span{color:var(--muted,#b8c7df)!important}
body.light-theme .customer-create-result{background:#edf5ff!important}
body.light-theme .customer-create-result strong{color:#10284f!important}
body.light-theme .customer-create-result span{color:#53647d!important}
.repair-customer-create-note{margin:0 0 12px}


/* v5.1.1 RC1.3 — single customer entry and accessible booking search */
.customer-picker-label #repairCustomerSearch{background:#fff!important;color:#10213d!important;-webkit-text-fill-color:#10213d!important;border:1px solid #9eabc0!important;caret-color:#10213d!important;box-shadow:0 0 0 1px transparent}
.customer-picker-label #repairCustomerSearch::placeholder{color:#59677c!important;opacity:1}
.customer-picker-label #repairCustomerSearch:focus{border-color:#1464f4!important;box-shadow:0 0 0 3px #1464f426!important;outline:none}
.customer-picker-label .autocomplete-results{background:#fff!important;color:#10213d!important;border-color:#9eabc0!important}
.customer-picker-label .customer-result{display:block;background:#fff!important;color:#10213d!important;border:1px solid #d2dae6!important;margin:0 0 6px;border-radius:10px}
.customer-picker-label .customer-result strong{display:block;color:#10213d!important;font-size:.94rem;margin-bottom:3px}
.customer-picker-label .customer-result span{display:block;color:#59677c!important;line-height:1.35;margin-top:1px}
.customer-picker-label .customer-result:hover,.customer-picker-label .customer-result:focus{background:#eaf2ff!important;border-color:#6a9be7!important}
.customer-picker-label .customer-create-result{background:#e5efff!important;color:#0b438f!important;border-color:#83a9df!important}
.customer-picker-label .customer-create-result strong{color:#0b438f!important}
.customer-picker-label .customer-create-result span{color:#315f91!important}
.customer-picker-label .autocomplete-empty{color:#59677c!important}
html[data-theme="dark"] .customer-picker-label #repairCustomerSearch{background:#081f36!important;color:#f1f7ff!important;-webkit-text-fill-color:#f1f7ff!important;border-color:#4a6f91!important;caret-color:#fff!important}
html[data-theme="dark"] .customer-picker-label #repairCustomerSearch::placeholder{color:#aec2d6!important}
html[data-theme="dark"] .customer-picker-label .autocomplete-results{background:#071a2d!important;color:#f1f7ff!important;border-color:#4a6f91!important}
html[data-theme="dark"] .customer-picker-label .customer-result{background:#0d2944!important;color:#f1f7ff!important;border-color:#315f86!important}
html[data-theme="dark"] .customer-picker-label .customer-result strong{color:#fff!important}
html[data-theme="dark"] .customer-picker-label .customer-result span{color:#b5cadc!important}
html[data-theme="dark"] .customer-picker-label .customer-result:hover,html[data-theme="dark"] .customer-picker-label .customer-result:focus{background:#143b60!important;border-color:#5e91bd!important}
html[data-theme="dark"] .customer-picker-label .customer-create-result{background:#123b67!important;color:#fff!important;border-color:#4f88bb!important}
html[data-theme="dark"] .customer-picker-label .customer-create-result strong{color:#fff!important}
html[data-theme="dark"] .customer-picker-label .customer-create-result span{color:#c2d8eb!important}
html[data-theme="dark"] .customer-picker-label .autocomplete-empty{color:#b5cadc!important}

/* Workshop Pro v5.1.2 CRM communications, warranties and documents */
.crm-section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.crm-section-head h3{margin-bottom:4px}.crm-record-list{display:grid;gap:12px}.crm-record{background:var(--card,#102b46);color:var(--text,#eef8ff);border:1px solid var(--border,#284761);border-radius:14px;padding:16px}.crm-record p{color:inherit;opacity:.9;white-space:pre-wrap}.crm-record small,.crm-record span{color:var(--muted,#a9bfd2)}.crm-record-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.crm-record-head>div{display:grid;gap:3px}.crm-visibility{display:inline-flex!important;align-items:center;padding:5px 9px;border-radius:999px;font-size:.76rem;font-weight:750;white-space:nowrap}.crm-visibility.customer{background:#0e6b53;color:#eafff8!important}.crm-visibility.internal{background:#5a3440;color:#fff1f4!important}.warranty-record.active{border-left:4px solid #31c48d}.warranty-record.expired{border-left:4px solid #e59a42}.button-link{display:inline-flex;margin:6px 0;padding:8px 11px;border-radius:9px;background:var(--accent,#1677ff);color:#fff!important;text-decoration:none;font-weight:700}
body.light .crm-record{background:#fff;color:#142235;border-color:#ccd7e2}body.light .crm-record small,body.light .crm-record span{color:#52677b}body.light .crm-visibility.customer{background:#dff8ee;color:#07533f!important}body.light .crm-visibility.internal{background:#fae3e8;color:#6b2332!important}
@media(max-width:800px){.crm-section-head,.crm-record-head{align-items:stretch;flex-direction:column}.crm-section-head button{width:100%}.crm-record-head .crm-visibility{align-self:flex-start}}


/* Workshop Pro v5.1.2 RC1.1 — communication editor and warranty automation */
#communicationDialog{width:min(980px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);padding:0;background:transparent;overflow:hidden}
#communicationDialog>.crm-modal{width:100%;max-height:calc(100dvh - 28px);overflow:auto;padding:22px;background:var(--surface);color:var(--text);border-radius:18px}
#communicationDialog .modal-head{position:sticky;top:-22px;z-index:3;background:var(--surface);padding:22px 0 14px;border-bottom:1px solid var(--line)}
#communicationDialog .actions{position:sticky;bottom:-22px;z-index:3;background:var(--surface);padding:14px 0 22px;border-top:1px solid var(--line)}
#communicationDialog textarea[name="message"]{min-height:240px;resize:vertical}
@media(max-width:760px){#communicationDialog{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border-radius:0}#communicationDialog>.crm-modal{height:100dvh;max-height:none;border-radius:0;padding:18px}#communicationDialog .modal-head{top:-18px;padding-top:18px}#communicationDialog .actions{bottom:-18px;padding-bottom:18px}#communicationDialog textarea[name="message"]{min-height:32vh}}

/* Workshop Pro v5.1.2 RC1.2 — consistent CRM dialog sizing */
#customerDialog,
#deviceEditorDialog,
#mergeCustomerDialog,
#communicationDialog,
#warrantyDialog,
#customerDocumentDialog{
  width:min(980px,calc(100vw - 28px));
  max-width:none;
  max-height:calc(100dvh - 28px);
  padding:0;
  background:transparent;
  overflow:hidden;
}
#customerDialog>.crm-modal,
#deviceEditorDialog>.crm-modal,
#mergeCustomerDialog>.crm-modal,
#communicationDialog>.crm-modal,
#warrantyDialog>.crm-modal,
#customerDocumentDialog>.crm-modal{
  box-sizing:border-box;
  width:100%;
  max-height:calc(100dvh - 28px);
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding:22px;
  background:var(--surface);
  color:var(--text);
  border-radius:18px;
}
#customerDialog .modal-head,
#deviceEditorDialog .modal-head,
#mergeCustomerDialog .modal-head,
#communicationDialog .modal-head,
#warrantyDialog .modal-head,
#customerDocumentDialog .modal-head{
  position:sticky;
  top:-22px;
  z-index:4;
  background:var(--surface);
  padding:22px 0 14px;
  border-bottom:1px solid var(--line);
}
#customerDialog .actions,
#deviceEditorDialog .actions,
#mergeCustomerDialog .actions,
#communicationDialog .actions,
#warrantyDialog .actions,
#customerDocumentDialog .actions{
  position:sticky;
  bottom:-22px;
  z-index:4;
  background:var(--surface);
  padding:14px 0 22px;
  border-top:1px solid var(--line);
}
#warrantyDialog textarea[name="notes"],
#customerDocumentDialog textarea,
#deviceEditorDialog textarea,
#customerDialog textarea{
  min-height:150px;
  resize:vertical;
}
@media(max-width:760px){
  #customerDialog,
  #deviceEditorDialog,
  #mergeCustomerDialog,
  #communicationDialog,
  #warrantyDialog,
  #customerDocumentDialog{
    width:100vw;
    height:100dvh;
    max-width:none;
    max-height:none;
    margin:0;
    border:0;
    border-radius:0;
  }
  #customerDialog>.crm-modal,
  #deviceEditorDialog>.crm-modal,
  #mergeCustomerDialog>.crm-modal,
  #communicationDialog>.crm-modal,
  #warrantyDialog>.crm-modal,
  #customerDocumentDialog>.crm-modal{
    height:100dvh;
    max-height:none;
    border-radius:0;
    padding:18px;
  }
  #customerDialog .modal-head,
  #deviceEditorDialog .modal-head,
  #mergeCustomerDialog .modal-head,
  #communicationDialog .modal-head,
  #warrantyDialog .modal-head,
  #customerDocumentDialog .modal-head{
    top:-18px;
    padding-top:18px;
  }
  #customerDialog .actions,
  #deviceEditorDialog .actions,
  #mergeCustomerDialog .actions,
  #communicationDialog .actions,
  #warrantyDialog .actions,
  #customerDocumentDialog .actions{
    bottom:-18px;
    padding-bottom:18px;
  }
}

.crm-inline-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.crm-inline-actions button{padding:7px 11px}.warranty-rule{display:grid;grid-template-columns:minmax(180px,1fr) 120px auto auto;gap:12px;align-items:end}.warranty-rule>div span{display:block;color:var(--muted)}.warranty-rule input[type=number]{width:100%}@media(max-width:760px){.warranty-rule{grid-template-columns:1fr 1fr}.warranty-rule>div{grid-column:1/-1}}

/* Workshop Pro v5.1.3 RC1.3 — Warranty Defaults dialog layout */
#warrantyRulesDialog{
  width:min(1050px,calc(100vw - 28px));
  max-width:none;
  max-height:calc(100dvh - 28px);
  padding:0;
  background:transparent;
  overflow:hidden;
}
#warrantyRulesDialog>.crm-modal{
  box-sizing:border-box;
  width:100%;
  max-height:calc(100dvh - 28px);
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding:22px;
  background:var(--surface);
  color:var(--text);
  border-radius:18px;
}
#warrantyRulesDialog .modal-head{
  position:sticky;
  top:-22px;
  z-index:4;
  background:var(--surface);
  padding:22px 0 14px;
  border-bottom:1px solid var(--line);
}
#warrantyRulesDialog .actions{
  position:sticky;
  bottom:-22px;
  z-index:4;
  background:var(--surface);
  padding:14px 0 22px;
  border-top:1px solid var(--line);
}
#warrantyRulesDialog #warrantyRulesList{
  display:grid;
  gap:12px;
  padding:14px 0;
}
@media(max-width:760px){
  #warrantyRulesDialog{
    width:100vw;
    height:100dvh;
    max-width:none;
    max-height:none;
    margin:0;
    border:0;
    border-radius:0;
  }
  #warrantyRulesDialog>.crm-modal{
    height:100dvh;
    max-height:none;
    border-radius:0;
    padding:18px;
  }
  #warrantyRulesDialog .modal-head{
    top:-18px;
    padding-top:18px;
  }
  #warrantyRulesDialog .actions{
    bottom:-18px;
    padding-bottom:18px;
  }
  #warrantyRulesDialog .warranty-rule{
    grid-template-columns:1fr;
    align-items:stretch;
  }
  #warrantyRulesDialog .warranty-rule>div{
    grid-column:auto;
  }
  #warrantyRulesDialog .warranty-rule button{
    width:100%;
  }
}

/* Workshop Pro v5.1.4 — full-screen Repair Workspace */
#detailDialog.repair-workspace-dialog{
  width:100vw;
  height:100dvh;
  max-width:none;
  max-height:none;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  overflow:hidden;
  background:var(--surface);
}
#detailDialog.repair-workspace-dialog::backdrop{background:rgba(3,12,28,.72);backdrop-filter:blur(4px)}
#detailDialog .repair-workspace-shell{
  width:100%;height:100%;max-width:none;padding:0;
  display:grid;grid-template-rows:auto minmax(0,1fr);background:var(--surface);
}
#detailDialog .repair-workspace-head{
  position:relative;z-index:20;display:grid;grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;gap:16px;padding:14px 20px;border-bottom:1px solid var(--line);
  background:var(--surface-raised);box-shadow:0 5px 18px rgba(7,26,61,.08);
}
.repair-workspace-heading{min-width:0}.repair-workspace-heading h2{margin:2px 0;font-size:1.35rem}.repair-workspace-heading p{margin:0;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.repair-workspace-back{white-space:nowrap}.repair-workspace-close{display:none}
#detailBody.repair-workspace-body{min-height:0;overflow:auto;padding:18px 22px 36px;overscroll-behavior:contain}
#detailBody .v5-commandbar{position:sticky;top:-18px;z-index:12;margin:-18px -22px 14px;padding:14px 22px;border-radius:0;border-width:0 0 1px;background:var(--surface)}
#detailBody .v5-tabs{position:sticky;top:64px;z-index:11;padding:8px;margin:0 0 16px;box-shadow:0 6px 14px rgba(7,26,61,.07)}
#detailBody .workspace-panel{max-width:1500px;margin:0 auto}
.repair-context-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0 0 14px}
.repair-context-strip>div{padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);min-width:0}
.repair-context-strip span{display:block;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.repair-context-strip strong{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:900px){
 #detailDialog .repair-workspace-head{grid-template-columns:auto minmax(0,1fr);padding:12px 14px}
 .repair-workspace-close{display:none}.repair-workspace-heading h2{font-size:1.15rem}
 #detailBody.repair-workspace-body{padding:14px 14px 30px}
 #detailBody .v5-commandbar{top:-14px;margin:-14px -14px 12px;padding:12px 14px}
 #detailBody .v5-tabs{top:60px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
 .repair-context-strip{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
 #detailDialog .repair-workspace-head{grid-template-columns:1fr auto;gap:8px}
 .repair-workspace-back{grid-column:1/-1;justify-self:start}
 .repair-workspace-close{display:block}
 .repair-context-strip{grid-template-columns:1fr}
 #detailBody .v5-tabs{top:103px}
}


/* Workshop Pro v5.2.0 — POS Foundation */
.pos-view{padding-bottom:20px}.pos-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.pos-head h1{margin:0}.pos-head p{margin:3px 0 0;color:var(--muted)}.pos-head-actions{display:flex;gap:8px;flex-wrap:wrap}.pos-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(340px,.8fr);gap:16px;min-height:calc(100dvh - 170px)}.pos-catalog,.pos-checkout{margin:0;min-height:0}.pos-catalog{display:flex;flex-direction:column}.pos-search{display:grid;grid-template-columns:1fr auto;gap:10px}.pos-search input{font-size:1.05rem}.pos-category-chips{display:flex;gap:7px;overflow-x:auto;padding:12px 0}.pos-category-chips button{white-space:nowrap;background:var(--surface-soft);color:var(--text);border:1px solid var(--line)}.pos-category-chips button.active{background:var(--brand);color:#fff}.pos-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;overflow:auto;padding:2px}.pos-product{min-height:125px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;background:var(--surface-soft);color:var(--text);border:1px solid var(--line);padding:13px}.pos-product:hover{border-color:var(--brand);transform:translateY(-1px)}.pos-product span,.pos-product small{color:var(--muted);font-size:.75rem}.pos-product strong{margin:6px 0;line-height:1.25}.pos-product b{margin-top:auto;font-size:1.05rem;color:var(--brand)}.pos-checkout{display:flex;flex-direction:column;max-height:calc(100dvh - 170px);position:sticky;top:90px}.pos-customer-block{position:relative}.pos-customer-block label{display:block}.pos-customer-results{position:absolute;z-index:30;left:0;right:0;top:66px;background:var(--surface-raised);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);max-height:280px;overflow:auto}.pos-customer-results button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--text)}.pos-customer-results button span{display:block;color:var(--muted);font-size:.82rem}.pos-selected-customer{display:flex;align-items:center;gap:8px;padding:10px;margin-top:8px;background:var(--surface-soft);border-radius:10px}.pos-selected-customer span{color:var(--muted)}.pos-selected-customer button{margin-left:auto}.pos-basket-head{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.pos-basket{flex:1;min-height:100px;overflow:auto;border-block:1px solid var(--line)}.pos-basket-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.pos-basket-item span{display:block;color:var(--muted);font-size:.78rem}.pos-qty{display:flex;align-items:center;gap:6px}.pos-qty button{padding:5px 9px}.pos-discount-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding-top:10px}.pos-totals{padding:10px 0}.pos-totals>div{display:flex;justify-content:space-between;padding:3px 0;color:var(--muted)}.pos-totals .grand{font-size:1.25rem;color:var(--text);border-top:1px solid var(--line);margin-top:6px;padding-top:10px}.pos-pay-button{width:100%;font-size:1.08rem;padding:14px}.pos-modal,.pos-history-modal,.pos-receipt-modal{width:min(760px,92vw);max-height:90dvh;overflow:auto}.pos-payment-rows{display:grid;gap:8px;margin:12px 0}.pos-payment-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.pos-history-modal{width:min(920px,94vw)}.pos-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px;border-bottom:1px solid var(--line)}.pos-history-row span{display:block;color:var(--muted)}.pos-receipt{max-width:420px;margin:auto;padding:18px;background:#fff;color:#111;border-radius:10px}.receipt-brand{text-align:center;margin-bottom:14px}.receipt-brand span{display:block;font-size:.8rem}.receipt-meta,.receipt-line,.receipt-total{display:flex;justify-content:space-between;gap:10px;padding:5px 0}.receipt-total{font-size:1.2rem;border-top:1px dashed;margin-top:8px}.receipt-payments{display:flex;gap:10px;justify-content:flex-end;font-size:.85rem}.pos-history-row button+button{margin-left:6px}
@media(max-width:1000px){.pos-layout{grid-template-columns:1fr}.pos-checkout{position:static;max-height:none}.pos-product-grid{max-height:42dvh}.pos-view{padding-bottom:90px}}
@media(max-width:700px){.pos-head{align-items:flex-start;flex-direction:column}.pos-search{grid-template-columns:1fr}.pos-layout{min-height:auto}.pos-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-basket-item{grid-template-columns:minmax(0,1fr) auto auto}.pos-basket-item>.icon{grid-column:3}.pos-modal,.pos-history-modal,.pos-receipt-modal{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border-radius:0}.pos-history-row{grid-template-columns:1fr auto}.pos-history-row>div:last-child{grid-column:1/-1}}


/* Workshop Pro v5.2.1 Platform Edition */
.platform-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.platform-row{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid var(--line,#2b3b50)}.platform-row:last-child{border-bottom:0}.platform-row span{color:var(--muted,#9eb0c7)}.platform-row strong{color:var(--text,#edf5ff);text-align:right}.platform-row strong.ok{color:#70dfa5}.warning-text{color:#ffb4a8!important}.fingerprint{display:block;overflow-wrap:anywhere;margin:14px 0;padding:12px;border-radius:10px;background:#07111f;color:#bfe2ff}.module-manager-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.module-card{display:flex;justify-content:space-between;gap:18px;min-height:190px;padding:20px;border:1px solid var(--line,#2b3b50);border-radius:16px;background:var(--card,#122238)}.module-card h2{margin:10px 0 6px}.module-card p{color:var(--muted,#9eb0c7)}.module-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:90px}.module-toggle input{width:28px;height:28px}@media(max-width:800px){.platform-grid{grid-template-columns:1fr}.module-card{min-height:0}}


/* Workshop Pro v5.2.1 RC1.1 — Update Centre MariaDB and System Health workspace hotfix */
main:has(#platformHealth.view.active){max-width:none;width:100%;padding-top:0}
#platformHealth.view.active{
  display:flex;
  flex-direction:column;
  min-height:calc(100dvh - 34px);
  width:100%;
  max-width:1600px;
  margin:0 auto;
  padding:0 4px 40px;
}
#platformHealth>.title{
  position:sticky;
  top:0;
  z-index:24;
  margin:0 -4px 16px;
  padding:18px 14px 14px;
  background:var(--bg);
  border-bottom:1px solid var(--line);
}
#platformHealthSummary{flex:0 0 auto}
#platformHealth .platform-grid{flex:1;align-content:start}
#platformHealth .card{min-width:0;overflow:auto}
#platformHealth .platform-row{align-items:flex-start}
#platformHealth .platform-row strong{overflow-wrap:anywhere;word-break:break-word}
@media(max-width:900px){
 main:has(#platformHealth.view.active){padding-left:10px;padding-right:10px}
 #platformHealth.view.active{min-height:100dvh;padding-bottom:30px}
 #platformHealth>.title{top:0;align-items:flex-start;flex-wrap:wrap;padding:14px 10px}
 #platformHealth>.title button{width:100%}
 #platformHealth .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 #platformHealth .platform-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
 #platformHealth .stats{grid-template-columns:1fr}
 #platformHealth .platform-row{flex-direction:column;gap:4px}
 #platformHealth .platform-row strong{text-align:left}
}

/* Workshop Pro v5.2.1 RC1.2 — balanced Platform workspace sizing */
main:has(#platformHealth.view.active),
main:has(#modules.view.active){
  max-width:1280px;
  width:min(100%,1280px);
  margin:0 auto;
  padding-top:18px;
}
#platformHealth.view.active,
#modules.view.active{
  width:100%;
  max-width:1180px;
  min-height:auto;
  margin:0 auto;
  padding:0 0 36px;
}
#platformHealth>.title,
#modules>.title{
  position:static;
  margin:0 0 14px;
  padding:0;
  border-bottom:0;
  background:transparent;
}
#platformHealthSummary.stats{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:10px;
  margin-bottom:14px;
}
#platformHealthSummary .stat{padding:14px;min-height:82px}
#platformHealth .platform-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
#platformHealth .card{
  padding:16px;
  overflow:visible;
}
#platformHealth .card h2{font-size:1.05rem;margin:0 0 8px}
#platformHealth .platform-row{padding:8px 0;gap:12px}
#platformHealth .platform-row strong{max-width:60%}
#modules .module-manager-grid{
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:12px;
}
#modules .module-card{
  min-height:130px;
  padding:15px;
  border-radius:14px;
  gap:12px;
}
#modules .module-card h2{font-size:1.08rem;margin:7px 0 4px}
#modules .module-card p{margin:0;font-size:.9rem;line-height:1.35}
#modules .module-toggle{min-width:72px}
#modules .module-toggle input{width:24px;height:24px}
@media(max-width:900px){
  main:has(#platformHealth.view.active),
  main:has(#modules.view.active){
    width:100%;
    max-width:none;
    padding:14px 12px 24px;
  }
  #platformHealth.view.active,
  #modules.view.active{max-width:760px;padding-bottom:28px}
  #platformHealth>.title,
  #modules>.title{align-items:center;flex-wrap:wrap}
  #platformHealth>.title button,
  #modules>.title button{width:auto}
  #platformHealth .platform-grid{grid-template-columns:1fr}
  #platformHealth .platform-row strong{max-width:58%}
  #modules .module-manager-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  #platformHealthSummary.stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  #modules .module-manager-grid{grid-template-columns:1fr}
  #modules .module-card{min-height:0}
}
@media(max-width:460px){
  #platformHealthSummary.stats{grid-template-columns:1fr}
  #platformHealth .platform-row{flex-direction:column;gap:3px}
  #platformHealth .platform-row strong{max-width:none;text-align:left}
}

/* Workshop Pro v5.2.1 RC1.3 — application shell and Platform workspace correction */
@media (min-width:981px){
  .app-shell{
    display:block;
    min-height:100dvh;
  }
  .app-content{
    margin-left:252px;
    width:calc(100% - 252px);
    min-height:100dvh;
  }
}
.app-content main{
  width:100%;
  margin:0;
}
main:has(#platformHealth.view.active),
main:has(#modules.view.active){
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  margin:0!important;
  padding:22px 28px 44px!important;
  overflow:visible;
}
#platformHealth.view.active,
#modules.view.active{
  display:block!important;
  position:relative;
  inset:auto;
  width:100%;
  max-width:1180px;
  min-height:0;
  margin:0 auto;
  padding:0 0 30px;
  transform:none;
}
#platformHealth>.title,
#modules>.title{
  margin:0 0 14px;
  padding:0;
}
#platformHealthSummary.stats{margin-top:0}
@media (max-width:980px){
  .app-content{width:100%}
  main:has(#platformHealth.view.active),
  main:has(#modules.view.active){padding:18px 16px 36px!important}
  #platformHealth.view.active,
  #modules.view.active{max-width:760px}
}

/* Workshop Pro v5.2.1 RC1.4 — Platform sections restored to main workspace */
@media (min-width:981px){
  .app-shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100dvh}
  .app-content{margin-left:0!important;width:auto!important;min-width:0;min-height:100dvh}
}
.app-content main{width:100%;max-width:1180px;margin:0 auto;padding:22px 16px 50px}
main:has(#platformHealth.view.active),
main:has(#modules.view.active){max-width:1180px!important;width:100%!important;margin:0 auto!important;padding:22px 16px 50px!important;overflow:visible}
#platformHealth.view.active,
#modules.view.active{position:static!important;inset:auto!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;transform:none!important}
#platformHealth>.title,
#modules>.title{position:static!important;top:auto!important;margin:0 0 14px!important;padding:0!important;background:transparent!important;box-shadow:none!important}
#platformHealthSummary.stats{margin:18px 0!important}
#platformHealth .platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#modules .module-manager-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
@media(max-width:980px){
  .app-content{width:100%!important;margin-left:0!important}
  .app-content main,
  main:has(#platformHealth.view.active),
  main:has(#modules.view.active){max-width:none!important;padding:18px 16px 36px!important}
}
@media(max-width:760px){
  #platformHealth .platform-grid{grid-template-columns:1fr}
  #modules .module-manager-grid{grid-template-columns:1fr}
}

/* Workshop Pro v5.2.1 RC1.5 — fixed sidebar/content alignment */
@media (min-width:981px){
  .app-shell{
    display:block!important;
    min-height:100dvh;
  }
  .app-sidebar{
    position:fixed;
    left:0;
    top:0;
    bottom:0;
    width:252px;
  }
  .app-content{
    display:block;
    margin-left:252px!important;
    width:calc(100% - 252px)!important;
    min-width:0;
    min-height:100dvh;
  }
  .app-content main,
  main:has(#platformHealth.view.active),
  main:has(#modules.view.active){
    width:auto!important;
    max-width:1180px!important;
    margin:0 auto!important;
    padding:22px 24px 50px!important;
  }
}
@media (max-width:980px){
  .app-shell{display:block!important}
  .app-content{
    margin-left:0!important;
    width:100%!important;
  }
}

/* Workshop Pro v5.2.1 RC1.6 — unified workspace UI framework */
:root{
  --workspace-max:1180px;
  --workspace-gap:16px;
  --workspace-radius:14px;
  --workspace-shadow:0 8px 24px rgba(16,33,61,.08);
}

/* Major page container: one consistent shell for every module */
.app-content main{
  width:auto!important;
  max-width:var(--workspace-max)!important;
  margin:0 auto!important;
  padding:22px 24px 52px!important;
}
.view.active{
  width:100%;
  min-width:0;
}

/* Page headers */
.view>.title,
#customerDirectoryView>.title,
.pos-head,
.dashboard-welcome{
  min-height:66px;
  margin:0 0 16px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.view>.title h1,
#customerDirectoryView>.title h1,
.pos-head h1,
.dashboard-welcome h1{
  margin:0;
  line-height:1.15;
  font-size:clamp(1.45rem,2vw,1.85rem);
}
.view>.title p,
#customerDirectoryView>.title p,
.pos-head p,
.dashboard-welcome p{
  margin:5px 0 0;
  color:var(--muted);
  line-height:1.4;
}
.view>.title>.actions,
#customerDirectoryView>.title>.actions,
.pos-head-actions,
.welcome-actions{
  margin:0;
  justify-content:flex-end;
}

/* Cards and statistics */
.card,.stat,.module-card{
  border-radius:var(--workspace-radius);
  box-shadow:var(--workspace-shadow);
}
.card{padding:16px}
.stats,.crm-stats{gap:12px;margin:16px 0}
.stat{min-height:88px;padding:15px}
.stat strong{font-size:1.55rem;line-height:1.1}
.card h2{margin-top:0}
.card+.card{margin-top:14px}

/* Compact, predictable data rows */
.row,.platform-row{
  min-width:0;
  padding:10px 0;
  align-items:center;
}
.row>* ,.platform-row>*{min-width:0}
.row strong,.platform-row strong{overflow-wrap:anywhere}

/* Tables and long lists */
table{width:100%;border-collapse:separate;border-spacing:0}
th,td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
th{position:sticky;top:0;z-index:2;background:#f8fafe;color:#42536d;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}
tbody tr:hover{background:#f7faff}
.card:has(table){overflow:auto}

/* Filters and controls */
.filters{align-items:end;margin-bottom:14px}
input,select,textarea{background:#fff;color:var(--text)}
button{min-height:40px}
.actions button,.title button,.pos-head-actions button,.welcome-actions button{white-space:nowrap}

/* Platform pages use the exact same workspace dimensions */
main:has(#platformHealth.view.active),
main:has(#modules.view.active){
  width:auto!important;
  max-width:var(--workspace-max)!important;
  margin:0 auto!important;
  padding:22px 24px 52px!important;
}
#platformHealth.view.active,
#modules.view.active{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
#platformHealth .platform-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
#platformHealth .card{min-height:0;padding:16px}
#platformHealthSummary.stats{margin:16px 0}
#modules .module-manager-grid{
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:14px;
}
#modules .module-card{min-height:0;padding:16px}

/* CRM, POS and dashboard alignment */
.crm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.pos-layout{gap:16px}
.dashboard-grid{gap:16px}
.customer-workspace,
.repair-workspace-shell{max-width:var(--workspace-max)}

/* Tablet and mobile */
@media(max-width:980px){
  .app-content main,
  main:has(#platformHealth.view.active),
  main:has(#modules.view.active){
    max-width:none!important;
    padding:18px 16px 40px!important;
  }
  .view>.title,
  #customerDirectoryView>.title,
  .pos-head,
  .dashboard-welcome{
    align-items:flex-start;
    flex-wrap:wrap;
    min-height:0;
  }
  .view>.title>.actions,
  #customerDirectoryView>.title>.actions,
  .pos-head-actions,
  .welcome-actions{width:100%;justify-content:flex-start}
  #platformHealth .platform-grid{grid-template-columns:1fr}
  #modules .module-manager-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .app-content main,
  main:has(#platformHealth.view.active),
  main:has(#modules.view.active){padding:14px 12px 32px!important}
  .view>.title button,
  #customerDirectoryView>.title button,
  .pos-head-actions button,
  .welcome-actions button{flex:1 1 auto}
  #modules .module-manager-grid{grid-template-columns:1fr}
  .stats,.crm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .card{padding:14px}
}
@media(max-width:440px){
  .stats,.crm-stats{grid-template-columns:1fr}
}


/* v5.3.1 API & Integrations Manager */
.integration-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px;align-items:start}.integration-client-row,.integration-log-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--border)}.integration-client-row:last-child,.integration-log-row:last-child{border-bottom:0}.integration-client-title{display:flex;align-items:center;gap:9px;margin-bottom:5px}.integration-modal{width:min(760px,calc(100vw - 32px));max-height:min(88vh,820px);overflow:auto}.integration-token-modal{width:min(660px,calc(100vw - 32px))}.integration-token-modal textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all}.integration-scopes{border:1px solid var(--border);border-radius:12px;padding:14px;margin:16px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.integration-scopes legend{font-weight:700;padding:0 6px}.integration-scopes label{display:flex;align-items:center;gap:8px}.selected-customer{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);margin-top:8px}.selected-customer span{color:var(--muted)}.selected-customer .text-button{margin-left:auto}.autocomplete-list button span{display:block;font-size:.84rem;color:var(--muted);margin-top:3px}@media(max-width:900px){.integration-layout{grid-template-columns:1fr}}@media(max-width:700px){.integration-scopes{grid-template-columns:1fr}.integration-client-row{align-items:flex-start;flex-direction:column}.integration-client-row .row-actions{width:100%;justify-content:flex-end}.integration-modal,.integration-token-modal{width:100vw;max-width:none;height:100dvh;max-height:none;border-radius:0}}

/* v5.3.1 RC1.1 — API & Integrations layout correction */
#integrations{width:100%;max-width:1180px;margin:0 auto}
#integrations>.title{margin-bottom:16px}
#integrations .stats{margin-bottom:16px}
#integrations .integration-layout{grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:16px}
#integrations .card{min-width:0}
#integrations .integration-client-row,#integrations .integration-log-row{min-width:0}
#integrations .integration-client-row>div:first-child,#integrations .integration-log-row>div:first-child{min-width:0}
#integrations .meta{overflow-wrap:anywhere}

dialog#apiClientDialog,dialog#apiTokenDialog{
  width:min(720px,calc(100vw - 40px));
  max-width:720px;
  max-height:calc(100dvh - 40px);
  padding:0;
  border:0;
  border-radius:16px;
  background:transparent;
  overflow:hidden;
}
dialog#apiTokenDialog{width:min(620px,calc(100vw - 40px));max-width:620px}
dialog#apiClientDialog::backdrop,dialog#apiTokenDialog::backdrop{background:rgba(4,15,35,.64);backdrop-filter:blur(2px)}
dialog#apiClientDialog .integration-modal,dialog#apiTokenDialog .integration-token-modal{
  box-sizing:border-box;
  width:100%;
  max-width:none;
  height:auto;
  max-height:calc(100dvh - 40px);
  margin:0;
  display:flex;
  flex-direction:column;
  overflow:auto;
  overscroll-behavior:contain;
  border-radius:16px;
}
dialog#apiClientDialog .modal-head,dialog#apiTokenDialog .modal-head{
  position:sticky;
  top:0;
  z-index:3;
  background:var(--surface);
  padding-top:2px;
}
dialog#apiClientDialog .actions,dialog#apiTokenDialog .actions{
  position:sticky;
  bottom:0;
  z-index:3;
  margin-top:16px;
  padding-top:14px;
  padding-bottom:2px;
  background:var(--surface);
  border-top:1px solid var(--border);
}
dialog#apiClientDialog label,dialog#apiTokenDialog label{min-width:0}
dialog#apiClientDialog input,dialog#apiClientDialog textarea,dialog#apiTokenDialog textarea{max-width:100%;box-sizing:border-box}

@media(max-width:980px){
  #integrations{max-width:none}
  #integrations .integration-layout{grid-template-columns:1fr}
}
@media(max-width:700px){
  dialog#apiClientDialog,dialog#apiTokenDialog{width:100vw;max-width:none;height:100dvh;max-height:none;border-radius:0}
  dialog#apiClientDialog .integration-modal,dialog#apiTokenDialog .integration-token-modal{height:100dvh;max-height:none;border-radius:0;padding:16px}
  dialog#apiClientDialog .modal-head,dialog#apiTokenDialog .modal-head{margin:-16px -16px 12px;padding:16px}
  dialog#apiClientDialog .actions,dialog#apiTokenDialog .actions{margin:16px -16px -16px;padding:14px 16px calc(16px + env(safe-area-inset-bottom))}
}

/* v5.3.1 RC1.2 — API & Integrations contrast correction */
#integrations,
#integrations .card,
#integrations .stat,
#integrations .integration-client-row,
#integrations .integration-log-row{
  color:var(--text,#14213a);
}
#integrations .card,
#integrations .stat{
  background:var(--surface,#fff);
  border-color:var(--border,#d9e1ee);
}
#integrations h1,
#integrations h2,
#integrations h3,
#integrations strong,
#integrations .integration-client-title{
  color:var(--text,#14213a);
}
#integrations p,
#integrations .meta,
#integrations small,
#integrations .integration-log-row span,
#integrations .integration-client-row span{
  color:var(--muted,#5d6b82);
}
#integrations code,
#integrations .badge,
#integrations .pill,
#integrations .status-badge{
  color:var(--text,#14213a);
  background:var(--surface-2,#eef3fa);
  border-color:var(--border,#d9e1ee);
}
#integrations table,
#integrations th,
#integrations td{
  color:var(--text,#14213a);
}
#integrations th{
  background:var(--surface-2,#f3f6fb);
}
#integrations tbody tr:hover{
  background:var(--surface-2,#f3f6fb);
}

dialog#apiClientDialog .integration-modal,
dialog#apiTokenDialog .integration-token-modal,
dialog#apiClientDialog .modal-head,
dialog#apiTokenDialog .modal-head,
dialog#apiClientDialog .actions,
dialog#apiTokenDialog .actions{
  background:var(--surface,#fff);
  color:var(--text,#14213a);
}
dialog#apiClientDialog h2,
dialog#apiTokenDialog h2,
dialog#apiClientDialog legend,
dialog#apiClientDialog label,
dialog#apiTokenDialog label{
  color:var(--text,#14213a);
}
dialog#apiClientDialog p,
dialog#apiTokenDialog p,
dialog#apiClientDialog .meta,
dialog#apiTokenDialog .meta{
  color:var(--muted,#5d6b82);
}
dialog#apiClientDialog input,
dialog#apiClientDialog select,
dialog#apiClientDialog textarea,
dialog#apiTokenDialog textarea{
  background:#fff!important;
  color:#14213a!important;
  border-color:#b9c6d8!important;
  caret-color:#14213a;
}
dialog#apiClientDialog input::placeholder,
dialog#apiClientDialog textarea::placeholder,
dialog#apiTokenDialog textarea::placeholder{
  color:#6b778b!important;
  opacity:1;
}
dialog#apiClientDialog .integration-scopes,
dialog#apiClientDialog .selected-customer,
dialog#apiClientDialog .notice,
dialog#apiTokenDialog .notice{
  background:var(--surface-2,#f3f6fb);
  color:var(--text,#14213a);
  border-color:var(--border,#d9e1ee);
}
dialog#apiClientDialog .autocomplete-list{
  background:#fff;
  color:#14213a;
  border-color:#b9c6d8;
}
dialog#apiClientDialog .autocomplete-list button{
  background:#fff;
  color:#14213a;
}
dialog#apiClientDialog .autocomplete-list button:hover,
dialog#apiClientDialog .autocomplete-list button:focus{
  background:#eaf2ff;
  color:#0f2748;
}
dialog#apiClientDialog .autocomplete-list button span{
  color:#5d6b82;
}

[data-theme="dark"] #integrations .card,
[data-theme="dark"] #integrations .stat,
body.dark #integrations .card,
body.dark #integrations .stat,
[data-theme="dark"] dialog#apiClientDialog .integration-modal,
[data-theme="dark"] dialog#apiTokenDialog .integration-token-modal,
body.dark dialog#apiClientDialog .integration-modal,
body.dark dialog#apiTokenDialog .integration-token-modal{
  background:var(--surface,#10213b);
  color:var(--text,#f3f7ff);
}
[data-theme="dark"] #integrations h1,
[data-theme="dark"] #integrations h2,
[data-theme="dark"] #integrations h3,
[data-theme="dark"] #integrations strong,
body.dark #integrations h1,
body.dark #integrations h2,
body.dark #integrations h3,
body.dark #integrations strong,
[data-theme="dark"] dialog#apiClientDialog h2,
[data-theme="dark"] dialog#apiTokenDialog h2,
body.dark dialog#apiClientDialog h2,
body.dark dialog#apiTokenDialog h2{
  color:var(--text,#f3f7ff);
}
/* v5.3.1 RC1.3 — dark, high-contrast API permission cards */
dialog#apiClientDialog .integration-scopes{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding:14px;
  background:#071a33!important;
  border:1px solid #24476f!important;
  border-radius:14px;
}
dialog#apiClientDialog .integration-scopes legend{
  color:#f4f8ff!important;
  background:#071a33;
  padding:0 8px;
  font-weight:800;
}
dialog#apiClientDialog .integration-scopes label{
  position:relative;
  display:flex;
  align-items:center;
  min-height:54px;
  gap:11px;
  padding:12px 14px;
  margin:0;
  border:1px solid #31577f;
  border-radius:11px;
  background:#102b4d!important;
  color:#f4f8ff!important;
  font-weight:700;
  line-height:1.25;
  cursor:pointer;
  user-select:none;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .08s ease;
}
dialog#apiClientDialog .integration-scopes label:hover,
dialog#apiClientDialog .integration-scopes label:focus-within{
  background:#15375f!important;
  border-color:#65a7ff;
  box-shadow:0 0 0 3px rgba(57,139,255,.18);
}
dialog#apiClientDialog .integration-scopes label:active{transform:translateY(1px)}
dialog#apiClientDialog .integration-scopes label:has(input:checked){
  background:#123f70!important;
  border-color:#55a1ff;
  box-shadow:inset 4px 0 0 #39d98a,0 0 0 1px rgba(85,161,255,.16);
  color:#fff!important;
}
dialog#apiClientDialog .integration-scopes input[type="checkbox"]{
  flex:0 0 auto;
  width:21px;
  height:21px;
  margin:0;
  accent-color:#39d98a;
  cursor:pointer;
}
dialog#apiClientDialog .integration-scopes input[type="checkbox"]:focus-visible{
  outline:3px solid rgba(101,167,255,.55);
  outline-offset:3px;
}
@media(max-width:700px){
  dialog#apiClientDialog .integration-scopes{grid-template-columns:1fr;padding:12px}
  dialog#apiClientDialog .integration-scopes label{min-height:56px;padding:13px 14px}
}

/* v5.3.1 RC1.4 — readable API customer-portal security notice */
dialog#apiClientDialog .integration-security-notice{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:start;
  gap:4px 12px;
  margin-top:14px;
  padding:14px 16px;
  border:1px solid #31577f!important;
  border-left:4px solid #55a1ff!important;
  border-radius:12px;
  background:#0d2948!important;
  color:#f4f8ff!important;
  box-shadow:0 8px 22px rgba(3,18,38,.16);
}
dialog#apiClientDialog .integration-security-notice::before{
  content:"i";
  grid-row:1 / span 2;
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#55a1ff;
  color:#06182e;
  font-weight:900;
  font-family:Georgia,serif;
}
dialog#apiClientDialog .integration-security-notice strong{
  display:block;
  color:#fff!important;
  font-size:.96rem;
  line-height:1.25;
}
dialog#apiClientDialog .integration-security-notice span{
  display:block;
  color:#c9daf0!important;
  font-size:.88rem;
  line-height:1.45;
}
@media(max-width:700px){
  dialog#apiClientDialog .integration-security-notice{padding:13px 14px;gap:4px 10px}
}


/* v5.4 Device Intelligence */
.device-intelligence-view{max-width:1180px;margin:0 auto}.device-provider-card{margin-top:18px}.imei-entry-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.imei-entry-row button{white-space:nowrap}.imei-lookup-result{margin-top:10px;padding:12px 14px;border-radius:12px;display:flex;flex-direction:column;gap:4px;background:#0d213b;color:#eaf2ff;border:1px solid #24486f}.imei-lookup-result.success-state{border-color:#24a36a;background:#0b2d25}.imei-lookup-result.error-state{border-color:#d65c65;background:#36191e}.imei-lookup-result.unknown-state{border-color:#d39a3b;background:#352817}.tac-mapping-row .actions{display:flex;gap:8px}.device-intelligence-view .stats{grid-template-columns:repeat(3,minmax(0,1fr))}.device-intelligence-view .stats .card strong{font-size:1.5rem}.device-provider-card input{min-width:0}@media(max-width:800px){.imei-entry-row{grid-template-columns:1fr}.device-intelligence-view .stats{grid-template-columns:1fr}.tac-mapping-row{align-items:flex-start}.tac-mapping-row .actions{width:100%;margin-top:8px}}

/* v5.4.1 RC1 — stability and contrast */
#login.screen{background:#06152f!important;color:#f8fbff!important}.login-card{background:#0d2448!important;color:#f8fbff!important;border:1px solid #315783!important}.login-card h1,.login-card label,.login-card p,.login-card .brand-name,.login-card .brand-subtitle{color:#f8fbff!important}.login-card input{background:#071a36!important;color:#fff!important;border-color:#416b9c!important}.login-card input::placeholder{color:#aebfd6!important}
#updates .card,#updates .notice,#updates .update-progress,#updateHistory .row{color:var(--text)!important}#updates input[type=file]{background:#0b2346!important;color:#f5f9ff!important;border:1px solid #416b9c!important;padding:12px;border-radius:10px}#updates code{color:#d8e8ff!important;background:#102b52!important}
#repairDialog .modal,#repairDialog fieldset,#repairDialog .selected-customer-panel,#repairDialog .selected-device-summary,#repairDialog .notice,#repairDialog .autocomplete-results{background:#0d2448!important;color:#f8fbff!important;border-color:#315783!important}#repairDialog label,#repairDialog legend,#repairDialog strong,#repairDialog .meta,#repairDialog .device-search-hint{color:#e7f0ff!important}#repairDialog input,#repairDialog select,#repairDialog textarea{background:#071a36!important;color:#fff!important;border-color:#416b9c!important}#repairDialog input::placeholder,#repairDialog textarea::placeholder{color:#aebfd6!important}#repairDialog .autocomplete-results button{background:#0b2141!important;color:#fff!important;border-color:#315783!important}
.part-modal{width:min(760px,calc(100vw - 32px));max-height:90dvh;overflow:auto}.part-row-actions{display:flex;align-items:center;gap:10px}.inventory-receipt-option{padding:12px 14px;border-radius:10px;background:#0b2346;color:#f5f9ff!important;border:1px solid #315783}.inventory-receipt-option input{width:auto!important}
.provider-settings-form input,.provider-settings-form select{background:#071a36!important;color:#fff!important;border-color:#416b9c!important}.provider-settings-form label{color:var(--text)!important}.provider-enable{align-self:end;padding:12px;background:#0b2346;color:#fff!important;border-radius:10px}.provider-enable input{width:auto!important}
@media(max-width:700px){.part-modal{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0}}


/* v5.5.0 — Parts & Inventory workspace */
.parts-workspace{max-width:1180px;margin:0 auto}.parts-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.parts-list-card{padding:0;overflow:hidden}.parts-filters{padding:16px;border-bottom:1px solid var(--border)}.part-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-bottom:1px solid var(--border);background:var(--panel)}.part-card:hover{background:var(--panel-hover)}.part-card-main{min-width:0;flex:1}.part-card-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.part-card-title strong{font-size:1rem;color:var(--text)}.part-card-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px}.part-card-meta span{padding:3px 8px;border-radius:999px;background:#102b4d;color:#dceaff;font-size:.78rem}.part-card-detail{margin-top:7px;color:var(--muted);font-size:.86rem}.part-status-required{background:#5b3a12!important;color:#ffd99a!important}.part-status-ordered,.part-status-dispatched{background:#123f70!important;color:#dcebff!important}.part-status-arrived{background:#123f2d!important;color:#bff5d5!important}.part-status-allocated-to-repair{background:#3c2768!important;color:#e4d8ff!important}.part-status-fitted{background:#1f5136!important;color:#d8ffe8!important}.part-status-returned,.part-status-cancelled{background:#5a2029!important;color:#ffd7dc!important}
.parts-editor-dialog{width:min(980px,calc(100vw - 32px));max-width:980px}.parts-editor{width:100%;max-width:none;max-height:92dvh;display:flex;flex-direction:column;overflow:hidden;background:#081b36!important;color:#f5f9ff!important}.parts-editor-body{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px;overflow:auto}.parts-editor-panel{padding:16px;border:1px solid #315783;border-radius:14px;background:#0d2948}.parts-editor-panel h3{margin:0 0 14px;color:#fff}.parts-editor label{color:#eaf2ff!important}.parts-editor input,.parts-editor select,.parts-editor textarea{background:#06182f!important;color:#fff!important;border-color:#416b9c!important}.parts-editor input::placeholder,.parts-editor textarea::placeholder{color:#9fb2cc!important}.parts-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-top:1px solid #315783;background:#07172f}.parts-inventory-hint{color:#c7d8ed;font-size:.86rem}.inventory-receipt-option{display:flex!important;align-items:flex-start;gap:11px}.inventory-receipt-option span{display:flex;flex-direction:column;gap:3px}.inventory-receipt-option small{color:#b9cbe0}.inventory-receipt-option[hidden]{display:none!important}
.tac-import-dialog{width:min(760px,calc(100vw - 32px))}.tac-import-dialog .modal{width:100%;max-width:none;max-height:90dvh;overflow:auto;background:#081b36!important;color:#f5f9ff!important}.tac-import-dialog textarea{min-height:280px;background:#06182f!important;color:#fff!important;border-color:#416b9c!important;font-family:ui-monospace,monospace}.tac-import-dialog label{color:#fff!important}
@media(max-width:820px){.parts-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.parts-editor-body{grid-template-columns:1fr}.parts-editor-dialog{width:100vw;max-width:none;height:100dvh;max-height:none}.parts-editor{height:100dvh;max-height:none;border-radius:0}.parts-editor-footer{position:sticky;bottom:0;flex-direction:column;align-items:stretch}.parts-editor-footer .actions{justify-content:flex-end}.part-card{align-items:flex-start}}
@media(max-width:520px){.parts-stats{grid-template-columns:1fr}.part-card{flex-direction:column}.part-card>button{width:100%}}


/* v5.5.1 Device Intelligence Manager and Parts editor refinement */
.device-intelligence-view .stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.unknown-tac-card{margin-top:18px}.unknown-tac-card .card-heading{align-items:flex-start}.unknown-tac-row{gap:14px}.unknown-tac-row button{min-width:100px}.success-empty{color:#b9f3d2}
.device-intelligence-dialog{width:min(620px,calc(100vw - 32px));max-width:620px}.unknown-tac-summary{display:flex;align-items:baseline;gap:12px;padding:14px;margin-bottom:16px;border-radius:12px;background:#0d2948;border:1px solid #315783;color:#eaf2ff}.unknown-tac-summary span,.unknown-tac-summary small{color:#b9cbe0}.unknown-tac-summary strong{font-size:1.25rem;color:#fff}
.repair-imei-field{padding:14px;border:1px solid #315783;border-radius:13px;background:#0d2948;color:#eaf2ff!important}.repair-imei-field input{background:#06182f!important;color:#fff!important;border-color:#416b9c!important}.repair-imei-field input::placeholder{color:#9fb2cc!important}
.parts-editor-dialog{inset:0;margin:auto;width:min(1060px,calc(100vw - 32px));max-width:1060px;max-height:calc(100dvh - 32px);padding:0;background:transparent;border:0}.parts-editor-dialog::backdrop{background:rgba(0,8,20,.72)}.parts-editor{max-height:calc(100dvh - 32px);border:1px solid #315783;box-shadow:0 24px 70px rgba(0,0,0,.55)}.parts-editor .modal-head{flex:0 0 auto;background:#0a2240;border-bottom:1px solid #315783;padding:16px 18px}.parts-editor-body{min-height:0;overscroll-behavior:contain}.parts-editor-panel .grid{align-items:start}.parts-editor select option{background:#06182f;color:#fff}.parts-editor input[type=date]{color-scheme:dark}.parts-editor-footer{flex:0 0 auto}.parts-editor .error{padding:0 16px 12px;color:#ffb4bb}
@media(max-width:900px){.device-intelligence-view .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.parts-editor-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.parts-editor{max-height:calc(100dvh - 16px)}}
@media(max-width:620px){.device-intelligence-view .stats{grid-template-columns:1fr}.device-intelligence-dialog{width:100vw;max-width:none;height:100dvh;max-height:none}.device-intelligence-dialog .modal{height:100dvh;max-height:none;border-radius:0}.parts-editor-dialog{width:100vw;max-height:100dvh}.parts-editor{max-height:100dvh}}

/* v5.6.0 inventory allocation & purchasing */
.parts-actions{display:flex;gap:10px;justify-content:flex-end;margin:0 0 12px}.inventory-dialog{width:min(980px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;background:#101b2d;color:#eef5ff}.inventory-dialog label,.inventory-dialog h2,.inventory-dialog h3{color:#f5f8ff}.inventory-dialog input,.inventory-dialog select,.inventory-dialog textarea{background:#17263d!important;color:#f5f8ff!important;border-color:#38506f!important}.inventory-rule-list{margin-top:18px;display:grid;gap:10px}.rule-row,.requirement-card{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px 16px;border:1px solid #314763;border-radius:12px;background:#142238;color:#f4f8ff}.rule-row>div:first-child{display:grid;gap:4px}.rule-row span,.requirement-card .meta{color:#b8c7da}.requirements-list{display:grid;gap:12px}.requirement-card .part-card-meta{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}.requirement-card .part-card-meta span{background:#203451;color:#dce8f8;padding:4px 8px;border-radius:999px}.danger{background:#7f1d1d!important;color:white!important}.inventory-dialog .check{display:flex;align-items:center;gap:10px}.inventory-dialog .check input{width:20px;height:20px}@media(max-width:760px){.parts-actions{justify-content:stretch;flex-direction:column}.parts-actions button{width:100%}.rule-row,.requirement-card{align-items:stretch;flex-direction:column}.inventory-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;border-radius:0;margin:0}}

/* Workshop Pro v5.6.0 RC1.3 — verified authentication and Parts Rules layout */
#partRuleDialog.part-rule-dialog,
#requirementsDialog.requirements-dialog{
  inset:0;
  margin:auto;
  padding:0;
  border:0;
  background:transparent;
  width:min(860px,calc(100vw - 32px));
  max-width:860px;
  max-height:calc(100dvh - 32px);
}
#requirementsDialog.requirements-dialog{width:min(980px,calc(100vw - 32px));max-width:980px}
#partRuleDialog::backdrop,#requirementsDialog::backdrop{background:rgba(0,8,20,.72);backdrop-filter:blur(3px)}
#partRuleDialog .part-rule-modal,
#requirementsDialog .requirements-modal{
  width:100%;
  max-width:none;
  max-height:calc(100dvh - 32px);
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  overflow:auto;
  border:1px solid #315783;
  border-radius:16px;
  box-shadow:0 24px 70px rgba(0,0,0,.55);
}
#partRuleDialog .modal-head,#requirementsDialog .modal-head{
  position:sticky;top:0;z-index:3;
  padding:16px 18px;
  background:#0a2240;
  border-bottom:1px solid #315783;
}
#partRuleDialog .grid{padding:4px 18px 12px;grid-template-columns:1fr 1fr}
#partRuleDialog .inventory-rule-list{padding:0 18px 8px;margin-top:8px}
#partRuleDialog .actions{
  position:sticky;bottom:0;z-index:3;
  margin:0;padding:14px 18px;
  background:#0a2240;border-top:1px solid #315783;
}
#partRuleDialog .error{padding:0 18px 14px;margin:0;background:#0a2240}
#requirementsDialog .requirements-list{padding:16px 18px 20px;overflow:auto}
#partRuleDialog select option{background:#17263d;color:#f5f8ff}
@media(max-width:760px){
  #partRuleDialog.part-rule-dialog,#requirementsDialog.requirements-dialog{
    width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;
  }
  #partRuleDialog .part-rule-modal,#requirementsDialog .requirements-modal{
    height:100dvh;max-height:none;border-radius:0;border:0;
  }
  #partRuleDialog .grid{grid-template-columns:1fr;padding:4px 14px 12px}
  #partRuleDialog .inventory-rule-list{padding:0 14px 8px}
  #partRuleDialog .actions{padding:14px calc(14px + env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left))}
}


/* Workshop Pro v5.6.0 RC1.4 — compact Parts Rules dialog */
#partRuleDialog.part-rule-dialog{
  width:min(760px,calc(100vw - 40px));
  max-width:760px;
  max-height:min(82dvh,760px);
}
#partRuleDialog .part-rule-modal{
  max-height:min(82dvh,760px);
  overflow:auto;
}
#partRuleDialog .grid{gap:12px;padding-top:12px}
#partRuleDialog .inventory-rule-list{max-height:260px;overflow:auto;overscroll-behavior:contain}
#partRuleDialog .error:not(:empty){color:#ffd0d5;background:#3a1420;padding:10px 18px;margin:0;border-top:1px solid #6d2637}
@media (min-width:761px) and (max-width:1100px){
  #partRuleDialog.part-rule-dialog{width:min(720px,calc(100vw - 28px));max-height:86dvh}
  #partRuleDialog .part-rule-modal{max-height:86dvh}
}
@media(max-width:760px){
  #partRuleDialog.part-rule-dialog{width:100vw;max-width:none;height:100dvh;max-height:none}
  #partRuleDialog .part-rule-modal{height:100dvh;max-height:none}
  #partRuleDialog .inventory-rule-list{max-height:none}
}

/* v5.6.1 Repair Workflow Engine */
.part-rule-modal .span-2{grid-column:1/-1}.part-rule-modal small{color:#b9c7d8}.part-rule-modal .autocomplete{position:relative;max-height:220px;overflow:auto;background:#111c2b;border:1px solid #36506d;border-radius:10px;margin-top:6px;padding:6px;z-index:4}.part-rule-modal .autocomplete button{display:block;width:100%;text-align:left;background:#17263a;color:#f4f8ff;border:0;border-radius:8px;padding:10px;margin:2px 0}.rule-group{background:#111c2b;border:1px solid #2e435e;border-radius:12px;padding:10px;margin:10px 0}.rule-group h4{margin:0 0 8px;color:#fff}.part-rule-dialog .part-rule-modal{width:min(880px,calc(100vw - 32px));max-height:min(86vh,820px)}

/* v5.6.1 RC1.1 Parts & Inventory controls */
.requirement-edit-modal{width:min(760px,calc(100vw - 32px));max-height:min(82vh,760px);overflow:auto}.inventory-controls-modal{width:min(940px,calc(100vw - 32px));max-height:min(86vh,820px);overflow:auto}.requirement-card.is-archived{opacity:.72}.danger{background:#7f1d1d!important;color:#fff!important;border-color:#b91c1c!important}@media(max-width:820px){.requirement-edit-modal,.inventory-controls-modal{width:100vw;max-width:none;height:100dvh;max-height:none;border-radius:0;margin:0}}


/* v5.6.1 RC1.2: Inventory List sizing and Repair Rule device-search contrast/selection */
#inventoryControlsDialog.requirements-dialog {
  width: min(900px, calc(100vw - 40px)) !important;
  max-width: 900px !important;
  height: auto !important;
  max-height: min(84dvh, 760px) !important;
  padding: 0 !important;
  overflow: hidden !important;
}
#inventoryControlsDialog .inventory-controls-modal {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  max-height: min(84dvh, 760px) !important;
  margin: 0 !important;
  overflow: auto !important;
}
#partRuleDeviceResults {
  position: relative;
  z-index: 30;
  display: block;
  max-height: 300px;
  overflow-y: auto;
  margin-top: 7px;
  padding: 6px;
  border: 1px solid #47698f !important;
  border-radius: 11px;
  background: #071a2d !important;
  color: #f4f8ff !important;
  box-shadow: 0 16px 36px rgba(0,0,0,.32);
}
#partRuleDeviceResults[hidden] { display: none !important; }
#partRuleDeviceResults .part-rule-device-result {
  display: grid !important;
  grid-template-columns: minmax(110px,.42fr) minmax(0,1fr);
  gap: 12px;
  align-items: center;
  width: 100%;
  min-height: 48px;
  margin: 2px 0;
  padding: 11px 13px;
  border: 1px solid transparent !important;
  border-radius: 9px;
  background: #102b48 !important;
  color: #f7fbff !important;
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
#partRuleDeviceResults .part-rule-device-result strong { color: #ffffff !important; }
#partRuleDeviceResults .part-rule-device-result span { color: #c6d9ec !important; }
#partRuleDeviceResults .part-rule-device-result:hover,
#partRuleDeviceResults .part-rule-device-result:focus,
#partRuleDeviceResults .part-rule-device-result:active {
  border-color: #66a8f5 !important;
  background: #17406a !important;
  outline: none;
}
#partRuleDeviceSelected { display:block; margin-top:7px; color:#c8d9ea !important; font-weight:650; }
@media (max-width: 820px) {
  #inventoryControlsDialog.requirements-dialog {
    width: 100vw !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
  }
  #inventoryControlsDialog .inventory-controls-modal {
    height: 100dvh !important;
    max-height: none !important;
    border-radius: 0 !important;
  }
  #partRuleDeviceResults .part-rule-device-result { grid-template-columns: 1fr; gap: 3px; }
}

/* v5.6.1 RC1.3: readable Parts status selection and bulk import */
#partStatusFilter{background:#0b2442!important;color:#f5f9ff!important;border-color:#3c638f!important;color-scheme:dark}
#partStatusFilter option{background:#0b2442!important;color:#f5f9ff!important}
#partStatusFilter:focus{outline:2px solid #62a9ff;outline-offset:1px}
.bulk-import-modal{width:min(700px,calc(100vw - 32px));max-width:700px;max-height:calc(100dvh - 32px);overflow:auto}
.bulk-import-modal input[type=file]{background:#0b2442!important;color:#f5f9ff!important;border:1px solid #3c638f!important;padding:12px}
.import-result{margin-top:14px;padding:12px;border-radius:10px;background:#0b2442;color:#dcecff;white-space:normal;overflow-wrap:anywhere}
@media(max-width:760px){.bulk-import-modal{width:100vw;max-width:none;height:100dvh;max-height:none;border-radius:0}}

/* v5.6.2 RC1: Catalogue Builder */
.catalogue-builder-modal{width:min(1050px,calc(100vw - 32px));max-width:1050px;max-height:calc(100dvh - 32px);overflow:auto;background:#071a2d!important;color:#eef6ff!important}
.catalogue-builder-grid{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(360px,1.15fr);gap:18px}
.catalogue-model-list{max-height:430px;overflow:auto;padding:8px;border:1px solid #365b82;border-radius:12px;background:#091f36}
.catalogue-model-list label,.catalogue-options label{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:9px;background:#102b48;color:#f5f9ff;margin:5px 0;cursor:pointer}
.catalogue-model-list label:hover,.catalogue-options label:hover{background:#17406a}.catalogue-options label input,.catalogue-model-list label input{margin-top:3px}.catalogue-options small{display:block;color:#bdd1e5;margin-top:3px}.catalogue-select-actions{display:flex;gap:8px;margin:8px 0}.catalogue-defaults{margin-top:14px}
@media(max-width:820px){.catalogue-builder-modal{width:100vw;max-width:none;height:100dvh;max-height:none;border-radius:0}.catalogue-builder-grid{grid-template-columns:1fr}.catalogue-model-list{max-height:36dvh}}


/* v5.6.2 RC2 — module framework, Catalogue Builder hardening and diagnostics */
#catalogueBuilderDialog{inset:0;margin:auto;padding:0;border:0;background:transparent;max-width:none;max-height:none}
#catalogueBuilderDialog[open]{display:block}
#catalogueBuilderDialog::backdrop{background:rgba(0,8,20,.76);backdrop-filter:blur(3px)}
#catalogueBuilderDialog .catalogue-builder-modal{margin:auto;width:min(1050px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #365b82;box-shadow:0 24px 70px rgba(0,0,0,.58)}
.diagnostics-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.diagnostic-card{padding:16px;border-radius:13px;border:1px solid #36506d;background:#101f33}.diagnostic-card.is-ok{border-color:#287a59}.diagnostic-card.is-error{border-color:#a63e4a}.diagnostic-title,.diagnostic-check{display:flex;justify-content:space-between;gap:14px;align-items:center}.diagnostic-title{margin-bottom:10px}.diagnostic-check{padding:7px 0;border-top:1px solid rgba(255,255,255,.08);color:#c7d6e8}.diagnostic-check strong{color:#f7fbff;text-align:right}
@media(max-width:820px){#catalogueBuilderDialog{width:100vw;height:100dvh;margin:0}#catalogueBuilderDialog .catalogue-builder-modal{width:100vw;max-width:none;height:100dvh;max-height:none;border-radius:0}}

/* v5.7 shared identity */
.shared-identity-card{grid-column:1/-1}.shared-identity-card .stats{margin:12px 0}.shared-identity-card .integration-client-row{margin-top:8px}


/* Workshop Pro v5.7.0 RC1.4 — Shared Identity card layout */
.crm-identity-card{
  padding:20px 22px;
  display:grid;
  gap:16px;
}
.crm-identity-card .crm-section-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:18px;
  margin:0;
}
.crm-identity-card .crm-section-head h3{margin:0 0 4px}
.crm-identity-card .crm-section-head .meta{margin:0;line-height:1.45}
.crm-identity-card .crm-identity-badge{align-self:start;justify-self:end;margin-top:1px}
.crm-identity-details{
  display:grid;
  grid-template-columns:minmax(160px,210px) minmax(0,1fr);
  column-gap:24px;
  row-gap:8px;
  margin:0;
  max-width:720px;
}
.crm-identity-details dt,
.crm-identity-details dd{margin:0;line-height:1.35}
.crm-identity-details dt{font-weight:750;color:var(--muted,#9db0c5)}
.crm-identity-details dd{color:var(--text,#eef8ff);overflow-wrap:anywhere}
.crm-identity-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin-top:2px;
}
.crm-identity-actions button{margin:0}
.crm-identity-card + .card{margin-top:0}
@media(max-width:760px){
  .crm-identity-card{padding:18px;gap:14px}
  .crm-identity-card .crm-section-head{grid-template-columns:1fr;gap:10px}
  .crm-identity-card .crm-identity-badge{justify-self:start}
  .crm-identity-details{grid-template-columns:1fr;row-gap:4px}
  .crm-identity-details dd{margin:0 0 8px}
  .crm-identity-actions{margin-top:0}
}

/* Workshop Pro v5.7.0 RC1.5 — CRM card spacing & layout polish */
#crm-overview > .customer-profile-grid { margin-bottom: 24px !important; }
#crm-overview > section.card,
#crm-overview > .crm-identity-card { margin-top: 24px !important; margin-bottom: 0 !important; }
#crm-overview > .customer-profile-grid + section.card,
#crm-overview > .customer-profile-grid + .crm-identity-card { margin-top: 0 !important; }
#crm-communications > .card + .card,
#crm-warranties > .card + .card,
#crm-documents > .card + .card { margin-top: 24px !important; }
@media (max-width: 900px) {
  #crm-overview > .customer-profile-grid { margin-bottom: 20px !important; }
  #crm-overview > section.card,
  #crm-overview > .crm-identity-card,
  #crm-communications > .card + .card,
  #crm-warranties > .card + .card,
  #crm-documents > .card + .card { margin-top: 20px !important; }
  #crm-overview > .customer-profile-grid + section.card,
  #crm-overview > .customer-profile-grid + .crm-identity-card { margin-top: 0 !important; }
}

/* CCUS Connect SSO — 5.7.0-rc1.5 connector */
.sso-divider{display:flex;align-items:center;gap:10px;margin:14px 0;color:var(--muted,#7f8da3);font-size:12px}
.sso-divider:before,.sso-divider:after{content:"";height:1px;background:rgba(127,141,163,.25);flex:1}
.ccus-connect-login{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;border-radius:10px;text-decoration:none;font-weight:700;border:1px solid rgba(47,143,255,.45);background:rgba(47,143,255,.10);color:inherit}
.ccus-connect-login:hover{background:rgba(47,143,255,.18)}

/* v5.7.0-rc1.14 SSO-first authentication */
.sso-first-card{max-width:460px}
.sso-primary-login{display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:18px;font-weight:800}
.sso-primary-note{margin-top:10px;text-align:center;color:var(--muted);font-size:13px;line-height:1.45}
.emergency-login{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}
.emergency-login summary{cursor:pointer;font-weight:700;color:var(--muted);text-align:center}
.emergency-login[open] summary{margin-bottom:14px}
.emergency-login-copy{font-size:13px;line-height:1.5;color:var(--muted);margin-bottom:14px}
.emergency-login form{display:grid;gap:12px}
.emergency-login-banner{grid-column:1/-1;background:#fff3cd;color:#563f00;border:1px solid #e7c768;padding:10px 16px;display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;font-size:13px}
.emergency-login-banner[hidden]{display:none!important}
[data-theme="dark"] .emergency-login-banner{background:#3b2e08;color:#ffe7a0;border-color:#6d5717}


/* v5.7.0-rc1.15 — official CCUS Scotland logo */
.ccus-official-logo{
    display:block;
    object-fit:cover;
    border-radius:50%;
    background:transparent;
}
.login-official-logo{
    width:62px;
    height:62px;
    flex:0 0 62px;
    box-shadow:0 8px 24px rgba(0,0,0,.28);
}
.sidebar-brand img{
    border-radius:50%;
    object-fit:cover;
    background:transparent;
}


/* v5.7.0-rc1.16 — official logo layout correction */
.login-brand-logo-only{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0 0 30px!important;
    width:100%;
}
.login-brand-logo-only .login-official-logo{
    width:138px!important;
    height:138px!important;
    flex:0 0 138px!important;
    object-fit:contain!important;
    object-position:center!important;
    border-radius:50%!important;
    background:transparent!important;
    box-shadow:0 14px 34px rgba(0,0,0,.30);
}
.sso-first-card h1{
    text-align:center;
}
.sso-first-card>p{
    text-align:center;
}
@media(max-width:600px){
    .login-brand-logo-only .login-official-logo{
        width:118px!important;
        height:118px!important;
        flex-basis:118px!important;
    }
}


/* v5.7.0-rc1.17 — true transparent logo asset */
.login-brand-logo-only,
.login-brand-logo-only .login-official-logo,
.ccus-official-logo {
    background: transparent !important;
}
.login-brand-logo-only .login-official-logo {
    object-fit: contain !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.sidebar-brand img {
    background: transparent !important;
    object-fit: contain !important;
}

/* 5.7.0-rc1.24 — Repair Workflow Simplification Phase 1 */
.streamlined-commandbar{margin-bottom:10px}.streamlined-context{grid-template-columns:repeat(4,minmax(0,1fr))}.streamlined-context>div{min-width:0}.streamlined-context strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.streamlined-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.streamlined-tabs button{min-height:44px}
.repair-focus-card{border:1px solid var(--border);border-radius:18px;padding:22px;background:var(--panel);margin-bottom:14px}.repair-focus-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.repair-focus-heading h2{margin:4px 0 0;font-size:clamp(1.25rem,2.4vw,1.8rem);line-height:1.2}.status-focus{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:var(--soft);font-weight:700;white-space:nowrap}.repair-focus-device{display:flex;flex-direction:column;gap:4px;margin:18px 0;color:var(--muted)}.repair-focus-device strong{color:var(--text);font-size:1.05rem}
.repair-primary-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.repair-primary-actions button{min-height:44px;min-width:140px}.streamlined-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.streamlined-summary>div{border:1px solid var(--border);border-radius:14px;padding:14px;background:var(--panel)}.streamlined-summary span{display:block;color:var(--muted);font-size:.8rem;margin-bottom:4px}.streamlined-summary strong{font-size:1.05rem}
.secondary-details{border:1px solid var(--border);border-radius:14px;background:var(--panel);overflow:hidden}.secondary-details>summary{cursor:pointer;padding:14px 16px;font-weight:700}.secondary-details>.detail-grid{padding:0 14px 14px}.repair-core-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:14px}.repair-task-card h3{font-size:1.35rem;margin:.3rem 0}.advanced-tools-card>h3{margin-bottom:.25rem}.advanced-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.advanced-tool-grid button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:5px;min-height:86px;padding:14px}.advanced-tool-grid button span{font-size:.82rem;font-weight:400;opacity:.8}
@media(max-width:760px){.streamlined-context{grid-template-columns:repeat(2,minmax(0,1fr))}.streamlined-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.repair-focus-heading{flex-direction:column}.streamlined-summary,.repair-core-grid,.advanced-tool-grid{grid-template-columns:1fr}.repair-primary-actions button{width:100%}}


/* 5.7.0-rc1.25 — New Repair light-mode contrast polish */
html[data-theme="light"] #repairDialog,
html[data-theme="light"] #newRepairDialog,
html[data-theme="light"] dialog:has(form[data-repair-form]),
html[data-theme="light"] dialog:has(#customerSearch),
html[data-theme="light"] dialog:has(#deviceSearch){
    color:#10213a;
}

/* Preserve the navy Workshop Pro shell/header while making the working
   form surface genuinely light and easy to scan. */
html[data-theme="light"] #repairDialog .dialog-body,
html[data-theme="light"] #newRepairDialog .dialog-body,
html[data-theme="light"] dialog:has(#customerSearch) .dialog-body,
html[data-theme="light"] dialog:has(#deviceSearch) .dialog-body,
html[data-theme="light"] dialog:has(#customerSearch) form,
html[data-theme="light"] dialog:has(#deviceSearch) form{
    color:#10213a;
}

/* Text inputs / selects / textareas */
html[data-theme="light"] dialog:has(#customerSearch) input:not([type="radio"]):not([type="checkbox"]),
html[data-theme="light"] dialog:has(#customerSearch) select,
html[data-theme="light"] dialog:has(#customerSearch) textarea,
html[data-theme="light"] dialog:has(#deviceSearch) input:not([type="radio"]):not([type="checkbox"]),
html[data-theme="light"] dialog:has(#deviceSearch) select,
html[data-theme="light"] dialog:has(#deviceSearch) textarea{
    background:#ffffff!important;
    color:#10213a!important;
    border-color:#b8c7db!important;
    box-shadow:none!important;
}

html[data-theme="light"] dialog:has(#customerSearch) input::placeholder,
html[data-theme="light"] dialog:has(#customerSearch) textarea::placeholder,
html[data-theme="light"] dialog:has(#deviceSearch) input::placeholder,
html[data-theme="light"] dialog:has(#deviceSearch) textarea::placeholder{
    color:#667892!important;
    opacity:1!important;
}

html[data-theme="light"] dialog:has(#customerSearch) label,
html[data-theme="light"] dialog:has(#customerSearch) legend,
html[data-theme="light"] dialog:has(#customerSearch) .meta,
html[data-theme="light"] dialog:has(#deviceSearch) label,
html[data-theme="light"] dialog:has(#deviceSearch) legend,
html[data-theme="light"] dialog:has(#deviceSearch) .meta{
    color:#18304f!important;
}

/* Grouped controls such as Serial/IMEI and Device Access should read as
   discrete cards rather than dark panels inside a light-mode application. */
html[data-theme="light"] dialog:has(#deviceSearch) fieldset,
html[data-theme="light"] dialog:has(#deviceSearch) .device-access,
html[data-theme="light"] dialog:has(#deviceSearch) .serial-imei,
html[data-theme="light"] dialog:has(#deviceSearch) .form-section,
html[data-theme="light"] dialog:has(#customerSearch) fieldset,
html[data-theme="light"] dialog:has(#customerSearch) .form-section{
    background:#f7f9fc!important;
    color:#10213a!important;
    border-color:#c8d4e3!important;
}

/* Choice cards (No code supplied / PIN / Android pattern). */
html[data-theme="light"] dialog:has(#deviceSearch) .radio-card,
html[data-theme="light"] dialog:has(#deviceSearch) .choice-card,
html[data-theme="light"] dialog:has(#deviceSearch) label:has(input[type="radio"]){
    background:#ffffff!important;
    color:#10213a!important;
    border-color:#c8d4e3!important;
}

html[data-theme="light"] dialog:has(#deviceSearch) label:has(input[type="radio"]:checked){
    border-color:#1677ff!important;
    box-shadow:0 0 0 1px #1677ff inset!important;
}

html[data-theme="light"] dialog:has(#deviceSearch) label:has(input[type="radio"]) *{
    color:inherit!important;
}

/* Secondary light action inside the form. */
html[data-theme="light"] dialog:has(#deviceSearch) .secondary,
html[data-theme="light"] dialog:has(#deviceSearch) button.secondary,
html[data-theme="light"] dialog:has(#customerSearch) .secondary,
html[data-theme="light"] dialog:has(#customerSearch) button.secondary{
    background:#ffffff!important;
    color:#173b6d!important;
    border-color:#b8c7db!important;
}

/* Keep focus states obvious on iPad/desktop keyboard navigation. */
html[data-theme="light"] dialog:has(#customerSearch) input:focus,
html[data-theme="light"] dialog:has(#customerSearch) select:focus,
html[data-theme="light"] dialog:has(#customerSearch) textarea:focus,
html[data-theme="light"] dialog:has(#deviceSearch) input:focus,
html[data-theme="light"] dialog:has(#deviceSearch) select:focus,
html[data-theme="light"] dialog:has(#deviceSearch) textarea:focus{
    border-color:#1677ff!important;
    box-shadow:0 0 0 3px rgba(22,119,255,.12)!important;
    outline:none!important;
}


/* 5.7.0-rc1.26 — New Repair contrast regression fix
   Keep the modal navy; keep controls light; restore readable labels/help text. */

html[data-theme="light"] dialog:has(#customerSearch),
html[data-theme="light"] dialog:has(#deviceSearch){
    color:#f7fbff!important;
}

/* Headings, labels and helper copy that sit directly on the navy modal. */
html[data-theme="light"] dialog:has(#customerSearch) h1,
html[data-theme="light"] dialog:has(#customerSearch) h2,
html[data-theme="light"] dialog:has(#customerSearch) h3,
html[data-theme="light"] dialog:has(#customerSearch) label,
html[data-theme="light"] dialog:has(#customerSearch) legend,
html[data-theme="light"] dialog:has(#customerSearch) .meta,
html[data-theme="light"] dialog:has(#customerSearch) small,
html[data-theme="light"] dialog:has(#customerSearch) p,
html[data-theme="light"] dialog:has(#deviceSearch) h1,
html[data-theme="light"] dialog:has(#deviceSearch) h2,
html[data-theme="light"] dialog:has(#deviceSearch) h3,
html[data-theme="light"] dialog:has(#deviceSearch) label,
html[data-theme="light"] dialog:has(#deviceSearch) legend,
html[data-theme="light"] dialog:has(#deviceSearch) .meta,
html[data-theme="light"] dialog:has(#deviceSearch) small,
html[data-theme="light"] dialog:has(#deviceSearch) p{
    color:#f4f8ff!important;
}

/* Secondary explanatory copy on navy should be softer than labels. */
html[data-theme="light"] dialog:has(#customerSearch) .help,
html[data-theme="light"] dialog:has(#customerSearch) .hint,
html[data-theme="light"] dialog:has(#deviceSearch) .help,
html[data-theme="light"] dialog:has(#deviceSearch) .hint{
    color:#c9d7e8!important;
}

/* Keep normal controls bright and readable. */
html[data-theme="light"] dialog:has(#customerSearch) input:not([type="radio"]):not([type="checkbox"]),
html[data-theme="light"] dialog:has(#customerSearch) select,
html[data-theme="light"] dialog:has(#customerSearch) textarea,
html[data-theme="light"] dialog:has(#deviceSearch) input:not([type="radio"]):not([type="checkbox"]),
html[data-theme="light"] dialog:has(#deviceSearch) select,
html[data-theme="light"] dialog:has(#deviceSearch) textarea{
    background:#fff!important;
    color:#10213a!important;
    border-color:#b9c7d9!important;
}

html[data-theme="light"] dialog:has(#customerSearch) input::placeholder,
html[data-theme="light"] dialog:has(#customerSearch) textarea::placeholder,
html[data-theme="light"] dialog:has(#deviceSearch) input::placeholder,
html[data-theme="light"] dialog:has(#deviceSearch) textarea::placeholder{
    color:#64758c!important;
    opacity:1!important;
}

/* Serial / IMEI remains part of the navy modal rather than a light panel. */
html[data-theme="light"] dialog:has(#deviceSearch) .serial-imei,
html[data-theme="light"] dialog:has(#deviceSearch) .serial-imei-section{
    background:transparent!important;
    color:#f4f8ff!important;
    border-color:#35567f!important;
}

/* Undo rc1.25's broad fieldset/form-section whitening. */
html[data-theme="light"] dialog:has(#customerSearch) fieldset,
html[data-theme="light"] dialog:has(#customerSearch) .form-section,
html[data-theme="light"] dialog:has(#deviceSearch) fieldset,
html[data-theme="light"] dialog:has(#deviceSearch) .form-section,
html[data-theme="light"] dialog:has(#deviceSearch) .device-access{
    background:transparent!important;
    color:#f4f8ff!important;
    border-color:#35567f!important;
}

/* Device-access container stays navy; only each choice card is light. */
html[data-theme="light"] dialog:has(#deviceSearch) fieldset:has(input[type="radio"]),
html[data-theme="light"] dialog:has(#deviceSearch) .device-access{
    background:#0d2a50!important;
    border:1px solid #35567f!important;
    border-radius:14px!important;
    padding:14px!important;
}

html[data-theme="light"] dialog:has(#deviceSearch) fieldset:has(input[type="radio"]) legend,
html[data-theme="light"] dialog:has(#deviceSearch) .device-access legend{
    color:#f4f8ff!important;
    padding:0 6px!important;
}

/* Individual choices: white cards, dark content, obvious selected state. */
html[data-theme="light"] dialog:has(#deviceSearch) label:has(input[type="radio"]),
html[data-theme="light"] dialog:has(#deviceSearch) .radio-card,
html[data-theme="light"] dialog:has(#deviceSearch) .choice-card{
    background:#fff!important;
    color:#10213a!important;
    border:1px solid #c6d2e1!important;
    border-radius:12px!important;
}

html[data-theme="light"] dialog:has(#deviceSearch) label:has(input[type="radio"]) *,
html[data-theme="light"] dialog:has(#deviceSearch) .radio-card *,
html[data-theme="light"] dialog:has(#deviceSearch) .choice-card *{
    color:#10213a!important;
}

html[data-theme="light"] dialog:has(#deviceSearch) label:has(input[type="radio"]:checked),
html[data-theme="light"] dialog:has(#deviceSearch) .radio-card:has(input[type="radio"]:checked),
html[data-theme="light"] dialog:has(#deviceSearch) .choice-card:has(input[type="radio"]:checked){
    border-color:#1684ff!important;
    box-shadow:0 0 0 2px rgba(22,132,255,.18)!important;
}

/* Add-unlisted remains a light action without losing contrast. */
html[data-theme="light"] dialog:has(#deviceSearch) button.secondary,
html[data-theme="light"] dialog:has(#deviceSearch) .secondary{
    background:#fff!important;
    color:#173b6d!important;
    border-color:#b9c7d9!important;
}

/* 5.7.0-rc1.27 — streamlined repair booking */
.booking-fault-section,.booking-price-section{border:1px solid var(--border);border-radius:14px;padding:14px;background:rgba(255,255,255,.025)}
.booking-section-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.booking-section-head h3{margin:.2rem 0 0}
.fault-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.fault-add-row .autocomplete{min-width:0}.fault-add-row>button{min-width:110px}
.selected-fault-list{display:grid;gap:10px;margin-top:12px}.booking-fault-card{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--panel)}.booking-fault-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.booking-fault-price-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.45fr);gap:10px;align-items:end;margin-top:10px}.system-price{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:10px}.system-price span{color:var(--muted)}
.booking-price-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.booking-price-summary>div{padding:12px;border:1px solid var(--border);border-radius:12px}.booking-price-summary span{display:block;color:var(--muted);font-size:.8rem}.booking-price-summary strong{font-size:1.1rem}.booking-total{border-color:#2f80ed!important}.booking-total strong{font-size:1.35rem}.discount-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
html[data-theme="light"] dialog:has(#deviceSearch) .booking-fault-section,html[data-theme="light"] dialog:has(#deviceSearch) .booking-price-section{background:#0d2a50!important;border-color:#35567f!important;color:#f4f8ff!important}
html[data-theme="light"] dialog:has(#deviceSearch) .booking-fault-card,html[data-theme="light"] dialog:has(#deviceSearch) .booking-price-summary>div{background:#fff!important;color:#10213a!important;border-color:#c6d2e1!important}
html[data-theme="light"] dialog:has(#deviceSearch) .booking-fault-card label,html[data-theme="light"] dialog:has(#deviceSearch) .booking-price-summary span{color:#344b67!important}
@media(max-width:700px){.fault-add-row,.booking-fault-price-row,.booking-price-summary,.discount-controls{grid-template-columns:1fr}.fault-add-row>button{width:100%}}

/* 5.7.0-rc1.27.5 — CLEAN repair-booking layout (replaces rc1.27.1–rc1.27.4 overrides) */
#repairForm .booking-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;
  align-items:start;
}
#repairForm .booking-grid > .full,
#repairForm .booking-fault-section,
#repairForm .booking-price-section,
#repairForm label:has(input[name="due_date"]),
#repairForm label:has(textarea[name="technician_notes"]),
#repairForm label:has(textarea[name="condition_notes"]){
  grid-column:1 / -1;
  min-width:0;
  margin:0;
  box-sizing:border-box;
}

/* Fault section */
#repairForm .booking-fault-section,
#repairForm .booking-price-section{
  width:100%;
  padding:12px;
  border:1px solid var(--border);
  border-radius:14px;
  box-sizing:border-box;
}
#repairForm .fault-add-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 112px;
  gap:10px;
}
#repairForm .selected-fault-list{display:grid;gap:8px;margin-top:10px}
#repairForm .booking-fault-card.booking-fault-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 165px 82px;
  gap:10px;
  align-items:center;
  min-height:50px;
  padding:6px 8px 6px 12px;
  margin:0;
  box-sizing:border-box;
}
#repairForm .booking-fault-main{display:flex;align-items:center;gap:10px;min-width:0}
#repairForm .booking-fault-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#repairForm .fault-inline-option,
#repairForm .fault-inline-option-label{min-width:0;max-width:220px}
#repairForm .booking-fault-inline-price{
  display:grid;
  grid-template-columns:auto 88px;
  gap:6px;
  align-items:center;
  margin:0;
}
#repairForm .booking-fault-inline-price>span{font-size:.78rem;white-space:nowrap}
#repairForm .booking-fault-inline-price input{width:88px;height:36px;min-height:36px;margin:0;padding:0 9px;box-sizing:border-box}
#repairForm .booking-fault-remove{width:82px;height:36px;min-height:36px;margin:0;padding:0 10px}

/* Discount sits immediately under faults and before totals. */
#repairForm .booking-price-section{display:flex;flex-direction:column;gap:10px}
#repairForm .discount-controls{order:1;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end;margin:0}
#repairForm .discount-controls::before{
  content:"Discount (optional)";grid-column:1/-1;margin:0 0 -2px;
  font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)
}
#repairForm .discount-controls label{display:grid;grid-template-rows:auto 40px;gap:5px;margin:0;min-width:0}
#repairForm .discount-controls select,
#repairForm .discount-controls input{width:100%;height:40px;min-height:40px;margin:0;box-sizing:border-box}
#repairForm .booking-price-summary{
  order:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:stretch;margin:0
}
#repairForm .booking-price-summary>div{
  display:flex;flex-direction:column;justify-content:center;
  height:72px;min-height:72px;margin:0;padding:10px 12px;box-sizing:border-box
}
#repairForm .booking-price-summary span{margin:0 0 4px;line-height:1.1}
#repairForm .booking-price-summary strong{margin:0;line-height:1.05}

/* Lower fields use the SAME grid edges, without artificial card padding. */
#repairForm label:has(input[name="due_date"]),
#repairForm label:has(textarea[name="technician_notes"]),
#repairForm label:has(textarea[name="condition_notes"]){
  display:block;
  width:auto; /* important: do not force 100% on a grid item */
}
#repairForm input[name="due_date"]{
  display:block;
  width:50%;
  max-width:360px;
  height:36px;
  min-height:36px;
  margin:5px 0 0;
  padding:0 10px;
  line-height:normal;
  box-sizing:border-box;
  border-radius:9px;
}
#repairForm label:has(input[name="due_date"]) .device-search-hint{
  display:block;margin-top:5px
}
#repairForm textarea[name="technician_notes"],
#repairForm textarea[name="condition_notes"]{
  display:block;
  width:100%;
  height:54px;
  min-height:54px;
  margin:5px 0 0;
  padding:9px 11px;
  box-sizing:border-box;
  border-radius:9px;
  resize:vertical;
}

/* Footer aligns to the same form content edges. */
#repairForm > .actions{
  display:flex;
  align-items:center;
  gap:10px;
  width:auto;
  margin:14px 0 0;
  padding:12px 0 0;
  border-top:1px solid rgba(255,255,255,.10);
  box-sizing:border-box;
}
#repairForm > .actions #saveRepairBtn{margin-left:auto;height:40px;min-height:40px;min-width:140px}
#repairForm > .actions #deleteRepairBtn{height:40px;min-height:40px}

/* Explicit light-mode contrast */
html[data-theme="light"] dialog:has(#deviceSearch) .booking-fault-card.booking-fault-row,
html[data-theme="light"] dialog:has(#deviceSearch) .booking-price-summary>div{
  background:#fff!important;color:#10213a!important;border-color:#c6d2e1!important
}
html[data-theme="light"] dialog:has(#deviceSearch) .booking-fault-name,
html[data-theme="light"] dialog:has(#deviceSearch) .booking-price-summary strong{color:#10213a!important}
html[data-theme="light"] dialog:has(#deviceSearch) .fault-inline-option-label,
html[data-theme="light"] dialog:has(#deviceSearch) .booking-fault-inline-price>span,
html[data-theme="light"] dialog:has(#deviceSearch) .booking-price-summary span{color:#52667f!important}
html[data-theme="light"] dialog:has(#deviceSearch) .booking-total strong{color:#0b63ce!important}

@media(max-width:700px){
  #repairForm .booking-grid{grid-template-columns:1fr}
  #repairForm .booking-grid>*{grid-column:1}
  #repairForm .booking-fault-card.booking-fault-row{grid-template-columns:minmax(0,1fr) 145px 78px}
  #repairForm input[name="due_date"]{width:100%;max-width:none}
}
@media(max-width:560px){
  #repairForm .fault-add-row,
  #repairForm .discount-controls,
  #repairForm .booking-price-summary{grid-template-columns:1fr}
  #repairForm .booking-fault-card.booking-fault-row{grid-template-columns:1fr auto}
  #repairForm .booking-fault-main{grid-column:1/-1}
}


/* 5.7.0-rc1.27.6 — exact lower white-box alignment fix
   Fault/pricing sections have 12px internal padding. The lower controls now
   use the same 12px inset so every white control shares identical left/right edges. */

#repairForm .booking-grid > label:has(input[name="due_date"]),
#repairForm .booking-grid > label:has(textarea[name="technician_notes"]),
#repairForm .booking-grid > label:has(textarea[name="condition_notes"]){
  width:calc(100% - 24px)!important;
  max-width:none!important;
  margin-left:12px!important;
  margin-right:12px!important;
  box-sizing:border-box!important;
}

/* Due date is full aligned width, but remains deliberately compact vertically. */
#repairForm input[name="due_date"]{
  width:100%!important;
  max-width:none!important;
  height:36px!important;
  min-height:36px!important;
  margin:5px 0 0!important;
  padding:0 10px!important;
  box-sizing:border-box!important;
}

/* Notes use exactly the same horizontal geometry as the due-date control. */
#repairForm textarea[name="technician_notes"],
#repairForm textarea[name="condition_notes"]{
  width:100%!important;
  max-width:none!important;
  height:54px!important;
  min-height:54px!important;
  margin:5px 0 0!important;
  padding:9px 11px!important;
  box-sizing:border-box!important;
}

/* Keep helper copy aligned with its field rather than the outer modal edge. */
#repairForm label:has(input[name="due_date"]) .device-search-hint{
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Footer button line follows the same inner content edge for visual consistency. */
#repairForm > .actions{
  margin-left:12px!important;
  margin-right:12px!important;
  width:calc(100% - 24px)!important;
  box-sizing:border-box!important;
}

@media(max-width:700px){
  #repairForm .booking-grid > label:has(input[name="due_date"]),
  #repairForm .booking-grid > label:has(textarea[name="technician_notes"]),
  #repairForm .booking-grid > label:has(textarea[name="condition_notes"]){
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  #repairForm > .actions{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}


/* 5.7.0-rc1.27.7 — due-date value alignment */
#repairForm input[name="due_date"]{
  display:block!important;
  height:36px!important;
  min-height:36px!important;
  padding:0 36px 0 12px!important;
  line-height:36px!important;
  text-align:left!important;
  vertical-align:middle!important;
  box-sizing:border-box!important;
}
#repairForm input[name="due_date"]::-webkit-date-and-time-value{
  text-align:left!important;
  min-height:36px!important;
  line-height:36px!important;
  padding:0!important;
  margin:0!important;
}
#repairForm input[name="due_date"]::-webkit-datetime-edit{
  display:flex!important;
  align-items:center!important;
  height:36px!important;
  padding:0!important;
  margin:0!important;
}
#repairForm input[name="due_date"]::-webkit-datetime-edit-fields-wrapper{
  padding:0!important;
}
#repairForm input[name="due_date"]::-webkit-calendar-picker-indicator{
  margin:0!important;
}


/* 5.7.0-rc1.27.8 — equal Due Date / Repair Priority row */
#repairForm .booking-grid > .booking-date-priority-row{
  grid-column:1 / -1!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:12px!important;
  width:calc(100% - 24px)!important;
  margin:0 12px!important;
  box-sizing:border-box!important;
  align-items:start!important;
}
#repairForm .booking-date-priority-row > label{
  display:block!important;
  min-width:0!important;
  width:100%!important;
  margin:0!important;
  box-sizing:border-box!important;
}
#repairForm .booking-date-priority-row input[name="due_date"],
#repairForm .booking-date-priority-row select[name="priority"]{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:40px!important;
  min-height:40px!important;
  margin:5px 0 0!important;
  padding:0 12px!important;
  box-sizing:border-box!important;
  border-radius:9px!important;
}
#repairForm .booking-date-priority-row input[name="due_date"]{
  padding-right:36px!important;
  line-height:40px!important;
}
#repairForm .booking-date-priority-row input[name="due_date"]::-webkit-date-and-time-value{
  text-align:left!important;
  line-height:40px!important;
}
#repairForm .booking-date-priority-row input[name="due_date"]::-webkit-datetime-edit{
  display:flex!important;
  align-items:center!important;
  height:40px!important;
  padding:0!important;
}
#repairForm .booking-date-priority-row .device-search-hint{
  display:block!important;
  margin-top:5px!important;
}
html[data-theme="light"] dialog:has(#deviceSearch) #repairForm .booking-date-priority-row input[name="due_date"],
html[data-theme="light"] dialog:has(#deviceSearch) #repairForm .booking-date-priority-row select[name="priority"]{
  background:#fff!important;
  color:#10213a!important;
  border-color:#b9c7d9!important;
}
@media(max-width:700px){
  #repairForm .booking-grid > .booking-date-priority-row{
    grid-template-columns:1fr!important;
    width:100%!important;
    margin:0!important;
  }
}


/* 5.7.0-rc1.27.9 — Due Date + Priority must remain one 50/50 row */
#repairForm .booking-grid > .booking-date-priority-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
}
#repairForm .booking-date-priority-row > label{
  min-width:0!important;
  width:100%!important;
}
#repairForm .booking-date-priority-row input[name="due_date"],
#repairForm .booking-date-priority-row select[name="priority"]{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:40px!important;
  min-height:40px!important;
  box-sizing:border-box!important;
}

/* Do not stack this pair on iPad/mobile; preserve equal columns. */
@media(max-width:700px){
  #repairForm .booking-grid > .booking-date-priority-row{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:8px!important;
  }
}


/* 5.7.0-rc1.27.10 — definitive Due Date / Priority same-row fix
   rc1.27.5 applied grid-column:1/-1 to the label containing due_date.
   Reset BOTH child labels to one grid cell each. */
#repairForm .booking-date-priority-row > label,
#repairForm .booking-date-priority-row > label:has(input[name="due_date"]),
#repairForm .booking-date-priority-row > label:has(select[name="priority"]){
  grid-column:auto!important;
  grid-row:auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box!important;
}
#repairForm .booking-date-priority-row{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-flow:column!important;
  grid-auto-columns:minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
}
#repairForm .booking-date-priority-row > label:first-child{
  grid-column:1!important;
}
#repairForm .booking-date-priority-row > label:nth-child(2){
  grid-column:2!important;
}
#repairForm .booking-date-priority-row input[name="due_date"],
#repairForm .booking-date-priority-row select[name="priority"]{
  width:100%!important;
  height:40px!important;
  min-height:40px!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
@media(max-width:700px){
  #repairForm .booking-date-priority-row{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:column!important;
  }
  #repairForm .booking-date-priority-row > label:first-child{grid-column:1!important}
  #repairForm .booking-date-priority-row > label:nth-child(2){grid-column:2!important}
}


/* 5.7.0-rc1.27.11 — Due Date / Priority overlap fix */
#repairForm .booking-date-priority-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  column-gap:12px!important;
  row-gap:0!important;
  width:calc(100% - 24px)!important;
  margin-left:12px!important;
  margin-right:12px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}

#repairForm .booking-date-priority-row > label{
  grid-column:auto!important;
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

#repairForm .booking-date-priority-row > label:first-child{
  grid-column:1!important;
}
#repairForm .booking-date-priority-row > label:nth-child(2){
  grid-column:2!important;
}

/* Prevent either white control from exceeding its own grid cell. */
#repairForm .booking-date-priority-row input[name="due_date"],
#repairForm .booking-date-priority-row select[name="priority"]{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:40px!important;
  min-height:40px!important;
  margin:5px 0 0!important;
  box-sizing:border-box!important;
}

/* Safari date controls can otherwise visually overflow despite width:100%. */
#repairForm .booking-date-priority-row input[name="due_date"]{
  -webkit-appearance:none!important;
  appearance:none!important;
  padding:0 36px 0 12px!important;
  overflow:hidden!important;
}

#repairForm .booking-date-priority-row select[name="priority"]{
  padding-left:12px!important;
  padding-right:34px!important;
}

/* Keep the helper text under Due Date without affecting the priority column. */
#repairForm .booking-date-priority-row .device-search-hint{
  width:100%!important;
  max-width:100%!important;
  margin:5px 0 0!important;
  box-sizing:border-box!important;
}

/* Tablet: preserve the same side-by-side 50/50 layout. */
@media(max-width:700px){
  #repairForm .booking-date-priority-row{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    column-gap:10px!important;
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}


/* 5.7.0-rc1.27.14 — Device make/model search height alignment */
#repairForm .device-search-input-wrap{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  min-height:40px!important;
  height:40px!important;
  box-sizing:border-box!important;
}

#repairForm #deviceSearch{
  display:block!important;
  width:100%!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  margin:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  padding-left:36px!important;
  padding-right:12px!important;
  line-height:40px!important;
  box-sizing:border-box!important;
  border-radius:9px!important;
}

/* Keep the search icon visually centred in the standard 40px control. */
#repairForm .device-search-input-wrap .device-search-icon{
  position:absolute!important;
  left:12px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:16px!important;
  height:16px!important;
  line-height:1!important;
  margin:0!important;
  pointer-events:none!important;
}

/* Safari/iPad search inputs can retain native inner offsets; neutralise them. */
#repairForm #deviceSearch::-webkit-search-decoration,
#repairForm #deviceSearch::-webkit-search-cancel-button,
#repairForm #deviceSearch::-webkit-search-results-button,
#repairForm #deviceSearch::-webkit-search-results-decoration{
  -webkit-appearance:none!important;
}

html[data-theme="light"] dialog:has(#deviceSearch) #repairForm #deviceSearch{
  background:#fff!important;
  color:#10213a!important;
  border-color:#b9c7d9!important;
}


/* 5.7.0-rc1.27.15 — Android pattern visibility + directional path */
#repairForm .pattern-lock svg{
  z-index:1!important;
}
#repairForm .pattern-lock .pattern-direction-line{
  stroke:#1684ff;
  stroke-width:7;
  stroke-linecap:round;
  opacity:.96;
  filter:drop-shadow(0 0 3px rgba(22,132,255,.35));
}
#repairForm .pattern-lock .pattern-arrowhead{
  fill:#1684ff;
  stroke:#1684ff;
  stroke-width:1;
}
#repairForm .pattern-lock button{
  z-index:2!important;
}
#repairForm .pattern-lock button.selected{
  background:#1684ff!important;
  border-color:#ffffff!important;
  box-shadow:0 0 0 7px rgba(22,132,255,.22),0 0 16px rgba(22,132,255,.48)!important;
}

/* Dark mode needs deliberately stronger contrast than the inherited theme colours. */
html[data-theme="dark"] #repairForm .pattern-lock{
  background:#07182d;
  border:1px solid #31577f;
  border-radius:16px;
}
html[data-theme="dark"] #repairForm .pattern-lock button{
  background:#0d2745!important;
  border-color:#8fa9c8!important;
  box-shadow:0 0 0 7px rgba(143,169,200,.12)!important;
}
html[data-theme="dark"] #repairForm .pattern-lock button.selected{
  background:#22c7ff!important;
  border-color:#ffffff!important;
  box-shadow:0 0 0 7px rgba(34,199,255,.22),0 0 18px rgba(34,199,255,.62)!important;
}
html[data-theme="dark"] #repairForm .pattern-lock .pattern-direction-line{
  stroke:#22c7ff!important;
  opacity:1!important;
  filter:drop-shadow(0 0 5px rgba(34,199,255,.7));
}
html[data-theme="dark"] #repairForm .pattern-lock .pattern-arrowhead{
  fill:#ffffff!important;
  stroke:#22c7ff!important;
  stroke-width:1.5!important;
}
html[data-theme="dark"] #repairForm .pattern-actions #patternSummary{
  color:#f4f8ff!important;
  font-weight:800!important;
}

/* Keep the chosen access type itself obvious in dark mode. */
html[data-theme="dark"] #repairForm .access-choice label:has(input[type="radio"]:checked){
  background:#173b69!important;
  border-color:#55a1ff!important;
  color:#ffffff!important;
  box-shadow:0 0 0 2px rgba(85,161,255,.18)!important;
}


/* 5.7.0-rc1.27.18 — subtle Android pattern direction indicators */
#repairForm .pattern-lock .pattern-direction-line{
  stroke-width:5!important;
  opacity:.94!important;
}
#repairForm .pattern-lock .pattern-arrowhead{
  stroke-width:.75!important;
}
html[data-theme="dark"] #repairForm .pattern-lock .pattern-direction-line{
  stroke-width:5!important;
  opacity:1!important;
  filter:drop-shadow(0 0 3px rgba(34,199,255,.55))!important;
}
html[data-theme="dark"] #repairForm .pattern-lock .pattern-arrowhead{
  stroke-width:1!important;
}


/* 5.7.0-rc1.27.22 — Repair Booking Form dark-mode component separation
   Contrast-only polish: no layout, dimensions or light-mode changes. */
html[data-theme="dark"] dialog:has(#repairForm){
  --booking-dark-surface:#0d2038;
  --booking-dark-surface-raised:#122944;
  --booking-dark-border:#355372;
  --booking-dark-border-soft:#294762;
}

/* Give the major booking sections a distinct surface against the dialog body. */
html[data-theme="dark"] #repairForm .booking-card,
html[data-theme="dark"] #repairForm .access-panel,
html[data-theme="dark"] #repairForm .booking-total-card,
html[data-theme="dark"] #repairForm .booking-discount-row,
html[data-theme="dark"] #repairForm .booking-date-priority-row,
html[data-theme="dark"] #repairForm .booking-notes-row{
  background:var(--booking-dark-surface)!important;
  border-color:var(--booking-dark-border)!important;
}

/* Selected faults need to read as separate rows rather than one continuous panel. */
html[data-theme="dark"] #repairForm .booking-fault-card{
  background:var(--booking-dark-surface-raised)!important;
  border:1px solid var(--booking-dark-border)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.025),0 3px 10px rgba(0,0,0,.14)!important;
}

/* Individual controls should remain visibly separate from their parent cards. */
html[data-theme="dark"] #repairForm input:not([type="radio"]):not([type="checkbox"]),
html[data-theme="dark"] #repairForm select,
html[data-theme="dark"] #repairForm textarea{
  background:#081a2f!important;
  border-color:#496784!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.018)!important;
}

/* Preserve a stronger focus state so active controls are immediately obvious. */
html[data-theme="dark"] #repairForm input:not([type="radio"]):not([type="checkbox"]):focus,
html[data-theme="dark"] #repairForm select:focus,
html[data-theme="dark"] #repairForm textarea:focus{
  border-color:#62a7ff!important;
  box-shadow:0 0 0 2px rgba(65,145,255,.20)!important;
  outline:none!important;
}

/* Access-type choices are individual controls too. */
html[data-theme="dark"] #repairForm .access-choice label{
  background:#102640!important;
  border-color:#3b5b79!important;
}
html[data-theme="dark"] #repairForm .access-choice label:has(input[type="radio"]:checked){
  background:#173b69!important;
  border-color:#63a9ff!important;
}

/* Keep subtotal / quoted-total cards individually legible. */
html[data-theme="dark"] #repairForm .booking-total-card > *,
html[data-theme="dark"] #repairForm .booking-summary-card{
  border-color:var(--booking-dark-border-soft)!important;
}

/* Slightly strengthen separators without changing spacing. */
html[data-theme="dark"] #repairForm .booking-card + .booking-card,
html[data-theme="dark"] #repairForm .booking-fault-card + .booking-fault-card{
  border-top-color:var(--booking-dark-border)!important;
}


/* 5.7.0-rc1.27.23 — dark-mode total-card separation */
html[data-theme="dark"] #repairForm .booking-price-summary{
  gap:10px!important;
}

html[data-theme="dark"] #repairForm .booking-price-summary > div{
  background:#122944!important;
  border:1px solid #3b5b79!important;
  border-radius:12px!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 3px 10px rgba(0,0,0,.16)!important;
}

html[data-theme="dark"] #repairForm .booking-price-summary > div span{
  color:#a9bad0!important;
}

html[data-theme="dark"] #repairForm .booking-price-summary > div strong{
  color:#f4f8ff!important;
}

/* Quoted Total remains the strongest card in the group. */
html[data-theme="dark"] #repairForm .booking-price-summary .booking-total{
  background:#15345a!important;
  border-color:#4f86c6!important;
  box-shadow:
    inset 0 0 0 1px rgba(79,134,198,.10),
    0 3px 12px rgba(0,0,0,.18)!important;
}

html[data-theme="dark"] #repairForm .booking-price-summary .booking-total strong{
  color:#75b6ff!important;
}


/* 5.7.0-rc1.28.0 — Walk In Repair */
.repair-create-actions{display:flex;gap:10px;align-items:center}
.walk-in-badge{display:inline-flex;align-items:center;margin-left:7px;padding:2px 7px;border-radius:999px;font-size:.68rem;letter-spacing:.06em;background:#fff0c7;color:#765000;border:1px solid #e4bd59;vertical-align:middle}
.walk-in-turnaround{border:1px solid #3d87d4;border-radius:14px;padding:14px 16px;background:#eaf4ff;display:grid;grid-template-columns:1fr auto;gap:3px 12px;align-items:center}
.walk-in-turnaround .eyebrow{grid-column:1}
.walk-in-turnaround strong{grid-column:2;grid-row:1 / span 2;font-size:1.1rem;letter-spacing:.08em;color:#0b63ce}
.walk-in-turnaround>span:last-child{color:#52667f;font-size:.84rem}

/* Walk In deliberately removes non-essential counter fields. */
#repairForm.walk-in-mode .booking-email-field,
#repairForm.walk-in-mode .repair-imei-field,
#repairForm.walk-in-mode .booking-date-priority-row,
#repairForm.walk-in-mode .booking-technician-notes,
#repairForm.walk-in-mode .booking-condition-notes{
  display:none!important;
}
#repairForm.walk-in-mode .booking-phone-field{
  grid-column:1 / -1;
}
#repairForm.walk-in-mode #walkInTurnaround{
  display:grid!important;
}
html[data-theme="dark"] #repairForm .walk-in-turnaround{
  background:#102b4b;
  border-color:#4f86c6;
}
html[data-theme="dark"] #repairForm .walk-in-turnaround strong{color:#75b6ff}
html[data-theme="dark"] #repairForm .walk-in-turnaround>span:last-child{color:#b8c8db}
html[data-theme="dark"] .walk-in-badge{background:#4b3510;color:#ffdc84;border-color:#896623}
@media(max-width:700px){
 .repair-create-actions{width:100%}
 .repair-create-actions button{flex:1}
 .walk-in-turnaround{grid-template-columns:1fr}
 .walk-in-turnaround strong{grid-column:1;grid-row:auto}
}


/* 5.7.0-rc1.28.1 — Walk Ins navigation + light-mode contrast */
.walk-ins-view{max-width:1180px;margin:0 auto}
.walk-in-overview{margin-bottom:14px}
.walk-in-same-day-card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:4px 14px;
  align-items:center;
  padding:16px 18px;
  border:1px solid #3d87d4;
  border-radius:14px;
  background:#102b4b;
  color:#f4f8ff;
}
.walk-in-same-day-card .eyebrow{grid-column:1}
.walk-in-same-day-card strong{grid-column:2;grid-row:1 / span 2;font-size:1.15rem;letter-spacing:.08em;color:#75b6ff}
.walk-in-same-day-card>span:last-child{color:#b8c8db}
.walk-in-filters{display:grid;grid-template-columns:minmax(0,1fr) 160px 190px;gap:10px}
.walk-in-list-card .row{border-color:var(--border)}
.walk-in-list-card .empty{padding:24px}

/* Explicit light-mode hierarchy for the Walk In view. */
html[data-theme="light"] .walk-ins-view .card,
html[data-theme="light"] .walk-in-list-card{
  background:#ffffff!important;
  color:#10213a!important;
  border-color:#c6d2e1!important;
}
html[data-theme="light"] .walk-in-same-day-card{
  background:#eaf4ff!important;
  color:#10213a!important;
  border-color:#7aaddf!important;
  box-shadow:0 2px 8px rgba(31,79,126,.08)!important;
}
html[data-theme="light"] .walk-in-same-day-card .eyebrow{
  color:#315b87!important;
}
html[data-theme="light"] .walk-in-same-day-card strong{
  color:#0b63ce!important;
}
html[data-theme="light"] .walk-in-same-day-card>span:last-child{
  color:#52667f!important;
}
html[data-theme="light"] .walk-ins-view input,
html[data-theme="light"] .walk-ins-view select{
  background:#ffffff!important;
  color:#10213a!important;
  border-color:#b9c7d9!important;
}
html[data-theme="light"] .walk-ins-view .row{
  background:#ffffff!important;
  color:#10213a!important;
  border-color:#d5deea!important;
}
html[data-theme="light"] .walk-ins-view .row:hover{
  background:#f3f7fc!important;
}
html[data-theme="light"] .walk-ins-view .row .meta{
  color:#52667f!important;
}
html[data-theme="light"] .walk-ins-view .pill{
  background:#e7eef8!important;
  color:#233b5a!important;
  border:1px solid #c4d1e2!important;
}

/* Walk In booking form: make every major component distinct in light mode. */
html[data-theme="light"] #repairForm.walk-in-mode .booking-fault-section,
html[data-theme="light"] #repairForm.walk-in-mode .booking-price-section,
html[data-theme="light"] #repairForm.walk-in-mode .access-code{
  background:#f4f7fb!important;
  color:#10213a!important;
  border-color:#b9c7d9!important;
}
html[data-theme="light"] #repairForm.walk-in-mode .walk-in-turnaround{
  background:#eaf4ff!important;
  color:#10213a!important;
  border-color:#7aaddf!important;
}
html[data-theme="light"] #repairForm.walk-in-mode .walk-in-turnaround .eyebrow{
  color:#315b87!important;
}
html[data-theme="light"] #repairForm.walk-in-mode .walk-in-turnaround strong{
  color:#0b63ce!important;
}
html[data-theme="light"] #repairForm.walk-in-mode .walk-in-turnaround>span:last-child{
  color:#52667f!important;
}
html[data-theme="light"] #repairForm.walk-in-mode .access-choice label{
  background:#ffffff!important;
  color:#10213a!important;
  border-color:#b9c7d9!important;
}
html[data-theme="light"] #repairForm.walk-in-mode .access-choice label:has(input[type="radio"]:checked){
  background:#e9f2ff!important;
  color:#0d3566!important;
  border-color:#5c98dc!important;
}
html[data-theme="light"] #repairForm.walk-in-mode .booking-fault-card,
html[data-theme="light"] #repairForm.walk-in-mode .booking-price-summary>div{
  background:#ffffff!important;
  color:#10213a!important;
  border-color:#c6d2e1!important;
}
html[data-theme="light"] #repairForm.walk-in-mode input,
html[data-theme="light"] #repairForm.walk-in-mode select,
html[data-theme="light"] #repairForm.walk-in-mode textarea{
  background:#ffffff!important;
  color:#10213a!important;
  border-color:#b9c7d9!important;
}

@media(max-width:760px){
  .walk-in-filters{grid-template-columns:1fr}
  .walk-in-same-day-card{grid-template-columns:1fr}
  .walk-in-same-day-card strong{grid-column:1;grid-row:auto}
}


/* 5.7.0-rc1.28.2 — Walk In SAME DAY + Device Access legend fix */

/* Fieldset legends sit across the border. Give the legend its own surface so
   "Device Access" remains fully readable in light mode. */
html[data-theme="light"] #repairForm.walk-in-mode .access-code{
  position:relative!important;
  background:#f4f7fb!important;
  border-color:#b9c7d9!important;
}
html[data-theme="light"] #repairForm.walk-in-mode .access-code legend{
  position:relative!important;
  z-index:2!important;
  display:inline-block!important;
  padding:0 8px!important;
  margin-left:2px!important;
  background:#f4f7fb!important;
  color:#10213a!important;
  font-weight:700!important;
  line-height:1.35!important;
}

/* Keep the same clean legend treatment on the standard repair form too. */
html[data-theme="light"] #repairForm .access-code legend{
  position:relative!important;
  z-index:2!important;
  padding:0 8px!important;
  background:#f4f7fb!important;
  color:#10213a!important;
}


/* 5.7.0-rc1.28.3 — SAME DAY list reliability */
.walk-ins-view .walk-in-badge{white-space:nowrap}


/* 5.7.0-rc1.28.4 — professional Device Access card
   Replaces the old fieldset/legend visual treatment in both Repair and Walk In forms. */

#repairForm .booking-access-section{
  display:block!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  padding:14px!important;
  margin:0!important;
  background:var(--surface-soft)!important;
  box-sizing:border-box!important;
}

#repairForm .booking-access-section .access-section-head{
  margin:0 0 12px!important;
  padding:0!important;
  border:0!important;
}

#repairForm .booking-access-section .access-section-head h3{
  margin:2px 0 0!important;
  font-size:1.05rem!important;
  line-height:1.2!important;
}

#repairForm .booking-access-section .access-choice{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
  margin:0!important;
}

#repairForm .booking-access-section .access-choice label{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  gap:7px!important;
  min-height:72px!important;
  padding:10px 12px!important;
  margin:0!important;
  border:1px solid var(--line)!important;
  border-radius:11px!important;
  background:var(--surface-raised)!important;
  color:var(--text)!important;
  text-align:center!important;
  font-weight:700!important;
  box-sizing:border-box!important;
}

#repairForm .booking-access-section .access-choice label:hover{
  border-color:#6d95c2!important;
}

#repairForm .booking-access-section .access-choice label:has(input[type="radio"]:checked){
  border-color:#2f80ff!important;
  background:var(--accent-soft)!important;
  color:var(--accent-text)!important;
  box-shadow:0 0 0 2px rgba(47,128,255,.12)!important;
}

#repairForm .booking-access-section .access-choice input[type="radio"]{
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  min-height:24px!important;
  margin:0!important;
  accent-color:#2f80ff!important;
}

#repairForm .booking-access-section .access-panel{
  margin-top:14px!important;
  padding-top:14px!important;
  border-top:1px solid var(--line)!important;
}

/* Light mode: card hierarchy mirrors Reported Fault / Pricing sections. */
html[data-theme="light"] #repairForm .booking-access-section{
  background:#f4f7fb!important;
  border-color:#c6d2e1!important;
  color:#10213a!important;
}

html[data-theme="light"] #repairForm .booking-access-section .access-section-head .eyebrow{
  color:#315b87!important;
}

html[data-theme="light"] #repairForm .booking-access-section .access-section-head h3{
  color:#10213a!important;
}

html[data-theme="light"] #repairForm .booking-access-section .access-choice label{
  background:#ffffff!important;
  color:#10213a!important;
  border-color:#c2cfdf!important;
  box-shadow:0 1px 2px rgba(15,36,61,.04)!important;
}

html[data-theme="light"] #repairForm .booking-access-section .access-choice label:has(input[type="radio"]:checked){
  background:#e9f2ff!important;
  color:#0d3566!important;
  border-color:#5c98dc!important;
  box-shadow:0 0 0 2px rgba(47,128,255,.11)!important;
}

html[data-theme="light"] #repairForm .booking-access-section .access-panel{
  border-top-color:#d5deea!important;
}

/* Dark mode: keep the section distinct from the modal without over-outlining it. */
html[data-theme="dark"] #repairForm .booking-access-section{
  background:#0d2038!important;
  border-color:#355372!important;
}

html[data-theme="dark"] #repairForm .booking-access-section .access-choice label{
  background:#122944!important;
  color:#edf5ff!important;
  border-color:#3b5b79!important;
}

html[data-theme="dark"] #repairForm .booking-access-section .access-choice label:has(input[type="radio"]:checked){
  background:#173b69!important;
  color:#ffffff!important;
  border-color:#63a9ff!important;
}

@media(max-width:700px){
  #repairForm .booking-access-section .access-choice{
    grid-template-columns:1fr!important;
  }
  #repairForm .booking-access-section .access-choice label{
    min-height:54px!important;
    flex-direction:row!important;
    justify-content:flex-start!important;
    text-align:left!important;
  }
}

/* Workshop Print Service */
.print-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.print-panel-head h3{margin-bottom:4px}.print-offline-note{padding:10px 12px;border-radius:10px;background:#fff7e6;color:#7a4a00}
.print-history{display:grid;gap:8px}.print-history-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--border,#e5e7eb)}
.print-history-row>div:first-child{display:flex;flex-direction:column;gap:3px}.print-history-row span{font-size:.85rem}
button.small{padding:6px 9px;font-size:.82rem}
@media(max-width:700px){.print-panel-head,.print-history-row{align-items:flex-start;flex-direction:column}.print-history-row>div:last-child{display:flex;gap:6px;flex-wrap:wrap}}

.print-admin-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.print-admin-grid{display:grid;gap:16px}.print-admin-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--border,#e5e7eb)}.print-admin-row>div:first-child{display:flex;flex-direction:column;gap:4px}.print-admin-row>div:last-child{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.print-audit-row{padding:10px 0;border-top:1px solid var(--border,#e5e7eb)}.print-audit-row span{display:block;font-size:.85rem;opacity:.75}.print-audit-row p{margin:4px 0 0}@media(max-width:720px){.print-admin-row{align-items:flex-start;flex-direction:column}}

/* POS Experience — rc1.28.11 */
.pos-view{max-width:1600px}.pos-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}.pos-head .eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;opacity:.6}.pos-today-stats{margin-bottom:12px}.pos-day-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.pos-day-strip>div{background:var(--card,#fff);border:1px solid var(--border,#e5e7eb);border-radius:14px;padding:12px 14px;display:flex;gap:10px;align-items:flex-start}.pos-day-strip>div>span{display:flex;gap:10px;flex-wrap:wrap;font-size:.88rem}.pos-low-stock-item{color:#b45309}.pos-scan-box{position:relative;flex:1}.pos-scan-box input{width:100%;padding-left:42px;padding-bottom:25px}.pos-scan-icon{position:absolute;left:14px;top:12px;font-size:1.25rem;z-index:2}.pos-scan-feedback{position:absolute;left:42px;bottom:6px;font-size:.72rem;opacity:.7}.pos-scan-feedback.success{color:#15803d;opacity:1}.pos-scan-feedback.error{color:#b91c1c;opacity:1}.pos-product.inventory-product.low{box-shadow:inset 0 0 0 2px #f59e0b}.pos-product.inventory-product.out{opacity:.55}.stock-low{color:#b45309}.stock-out{color:#b91c1c}.stock-ok{color:#15803d}.pos-payment-row{grid-template-columns:minmax(110px,.8fr) 1fr 1fr auto!important}.pos-payment-row [data-tendered]{visibility:hidden}.pos-payment-row.is-cash [data-tendered]{visibility:visible}.pos-cash-shortcuts{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.pos-change-due{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:12px;background:rgba(37,99,235,.08);margin:10px 0}.pos-change-due strong{font-size:1.05rem}.pos-refund-modal{max-width:720px}.pos-refund-items{display:grid;gap:8px;max-height:46vh;overflow:auto;margin:12px 0}.pos-refund-item{display:grid;grid-template-columns:1fr 90px;gap:12px;align-items:center;border:1px solid var(--border,#e5e7eb);padding:12px;border-radius:12px}.pos-refund-item span{display:flex;flex-direction:column;gap:3px}.pos-refund-item small{opacity:.7}.pos-refund-total{text-align:right;font-size:1.25rem;font-weight:800;margin:12px 0}@media(max-width:900px){.pos-day-strip{grid-template-columns:1fr}.pos-head{align-items:flex-start;flex-direction:column}.pos-payment-row{grid-template-columns:1fr 1fr!important}.pos-payment-row button{grid-column:2}}

/* POS Commercial EPOS layer — rc1.28.12 */
.pos-register-status{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:14px;padding:10px 14px;margin-bottom:12px;border:1px solid var(--border,#e5e7eb)}.pos-register-status.open{background:rgba(22,163,74,.08)}.pos-register-status.closed{background:rgba(217,119,6,.09)}.pos-product-grid{align-items:stretch}.pos-product-wrap{position:relative;min-width:0}.pos-product-wrap .pos-product{height:100%;width:100%;padding-right:38px}.pos-product-wrap.low{box-shadow:inset 0 0 0 2px #f59e0b;border-radius:12px}.pos-product-wrap.out{opacity:.55}.pos-favourite{position:absolute;right:7px;top:7px;width:30px;height:30px;padding:0;border-radius:50%;background:rgba(255,255,255,.92);color:#6b7280;border:1px solid rgba(0,0,0,.08);z-index:3}.pos-favourite.active{color:#b7791f}.pos-history-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:8px;margin:10px 0 14px}.pos-register-modal{max-width:760px}.pos-register-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.pos-register-summary>div{padding:12px;border:1px solid var(--border,#e5e7eb);border-radius:12px;display:flex;flex-direction:column;gap:4px}.pos-register-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.pos-cash-movements{max-height:280px;overflow:auto}.pos-cash-movements>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--border,#e5e7eb)}.pos-reports-modal{max-width:1100px}.pos-report-filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:12px 0}.pos-report-filters label{min-width:150px}.pos-report-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pos-report-grid .card{margin:0}.pos-report-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--border,#e5e7eb)}@media(max-width:800px){.pos-history-filters{grid-template-columns:1fr 1fr}.pos-register-summary{grid-template-columns:1fr 1fr}.pos-report-grid{grid-template-columns:1fr}}@media(max-width:520px){.pos-history-filters,.pos-register-summary{grid-template-columns:1fr}}

/* POS privacy / workflow refinement — rc1.28.13 */
.pos-register-close-modal{max-width:760px}.pos-close-sales-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.pos-close-sales-summary>div{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border,#e5e7eb);border-radius:10px}.pos-close-sales-summary .pos-close-cash{grid-column:1/-1;background:rgba(37,99,235,.07);font-size:1.05rem}.pos-close-variance{text-align:right;font-size:1.2rem;font-weight:800;margin:12px 0}.pos-report-controls{margin-bottom:14px}@media(max-width:620px){.pos-close-sales-summary{grid-template-columns:1fr}.pos-close-sales-summary .pos-close-cash{grid-column:auto}}

/* Business & Tax — rc1.28.14 */
.business-tax-card{max-width:900px}.business-tax-card .notice{margin:0}.business-tax-card .check{align-items:center}.business-tax-card input[type="checkbox"]{width:auto}

/* Workshop Pro 5.7.0-rc1.28.15 — CCUS Club */
.club-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.4fr);gap:18px;align-items:start}.club-search-card{position:sticky;top:86px}.club-search-card input[type=search]{width:100%;font-size:1rem;padding:13px 14px}.club-search-results{display:grid;gap:8px;margin-top:12px;max-height:620px;overflow:auto}.club-result{width:100%;display:flex;justify-content:space-between;gap:14px;align-items:center;text-align:left;padding:12px 13px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--text)}.club-result:hover{border-color:var(--accent)}.club-result>span{display:flex;flex-direction:column;gap:3px}.club-result>span:last-child{text-align:right;align-items:flex-end}.club-result small{color:var(--muted)}.club-result.member strong:first-child{color:var(--accent)}.club-member-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.club-member-head h2{margin:4px 0}.club-member-head p{margin:0;color:var(--muted)}.club-card-code{margin:16px 0;padding:16px;border:1px dashed var(--border);border-radius:14px;background:var(--surface-2);display:grid;gap:4px}.club-card-code span,.club-card-code small{color:var(--muted)}.club-card-code strong{font-size:1.15rem;letter-spacing:.08em}.club-balance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.club-balance-grid>div{padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);display:grid;gap:5px}.club-balance-grid span{color:var(--muted);font-size:.83rem}.club-balance-grid strong{font-size:1.25rem}.club-goal{margin:14px 0;padding:14px;border-radius:12px;background:var(--surface-2)}.club-goal>div:first-child{display:flex;justify-content:space-between;gap:10px}.club-progress{height:8px;margin:11px 0 6px;border-radius:99px;background:var(--border);overflow:hidden}.club-progress span{display:block;height:100%;background:var(--accent);border-radius:inherit}.club-goal small{color:var(--muted)}.club-actions{margin:14px 0 18px}.club-ledgers{display:grid;grid-template-columns:1fr 1fr;gap:16px}.club-ledgers section{min-width:0}.club-ledger-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.club-ledger-row>span{display:flex;flex-direction:column;gap:2px;min-width:0}.club-ledger-row small{color:var(--muted);white-space:normal}.club-ledger-row .positive{color:var(--success,#2f8f5b)}.club-ledger-row .negative{color:var(--danger,#c53b3b)}.pos-club-chip{display:inline-flex;margin-top:5px;padding:5px 8px;border-radius:999px;background:var(--surface-2);color:var(--accent);font-weight:700;font-size:.78rem}.pos-club-checkout{display:inline-block;margin-top:5px;color:var(--accent)}
@media(max-width:980px){.club-grid{grid-template-columns:1fr}.club-search-card{position:static}.club-balance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.club-ledgers{grid-template-columns:1fr}}
@media(max-width:620px){.club-balance-grid{grid-template-columns:1fr 1fr}.club-result{align-items:flex-start}.club-result>span:last-child{min-width:90px}.club-member-head{flex-direction:column}}

/* rc1.28.16 CCUS Club launch hardening */
.club-actions{flex-wrap:wrap}.club-card-code strong{letter-spacing:.04em}

/* Workshop Pro 5.7.0-rc1.28.21 — CCUS Club visual polish + WCAG-oriented theme contrast */
.club-view{--club-border:var(--line);--club-panel:var(--surface);--club-panel-soft:var(--surface-soft);--club-field:var(--input-bg);--club-copy:var(--text);--club-muted:var(--muted);--club-accent:var(--blue)}
.club-view>.title{align-items:flex-start;margin-bottom:18px}.club-view>.title .eyebrow{display:block;margin-bottom:5px;color:var(--club-muted);font-size:.69rem;letter-spacing:.12em;text-transform:uppercase;font-weight:900}.club-title-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.club-title-line h1{margin:0}.club-auto-badge{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent-text);border:1px solid color-mix(in srgb,var(--blue) 24%,var(--line));font-size:.73rem;font-weight:800}.club-view>.title p{margin:5px 0 0;max-width:720px}
#clubStats.stats{gap:12px;margin:0 0 18px}.club-stat{display:grid!important;grid-template-columns:48px minmax(0,1fr);gap:13px;align-items:center;min-height:108px;padding:16px!important;box-shadow:0 7px 22px rgba(var(--shadow),.08)!important}.club-stat>div{min-width:0}.club-stat strong{font-size:1.55rem!important;line-height:1.1;color:var(--club-copy)!important}.club-stat span:not(.club-stat-icon){display:block;margin-top:4px;color:var(--club-muted)!important;font-weight:700}.club-stat small{display:block;margin-top:2px;color:var(--club-muted);font-size:.74rem}.club-stat-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;font-size:1.08rem;font-weight:900;letter-spacing:-.16em;border:1px solid transparent}.club-stat-members .club-stat-icon{background:#e7f1ff;color:#0a63d8;border-color:#bed8ff}.club-stat-savings .club-stat-icon{background:#e9f8ed;color:#147b36;border-color:#c5eacc}.club-stat-rewards .club-stat-icon{background:#f4eaff;color:#7c2bc4;border-color:#dfc9f7}.club-stat-points .club-stat-icon{background:#fff4d9;color:#946700;border-color:#f3dda2}
.club-grid{gap:16px}.club-search-card,.club-account-card,.club-settings-card{border-color:var(--club-border);box-shadow:0 7px 22px rgba(var(--shadow),.075)}.club-search-card,.club-account-card{min-height:230px}.club-search-card .card-heading,.club-settings-card .card-heading{margin-bottom:13px}.club-search-card h2,.club-settings-card h2{display:flex;align-items:center;gap:8px;color:var(--club-copy)}.club-section-icon{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:8px;background:var(--accent-soft);color:var(--accent-text);font-size:.85rem}.club-search-wrap{position:relative}.club-search-wrap>span{position:absolute;right:14px;top:50%;transform:translateY(-50%);z-index:1;color:var(--club-muted);font-size:1.2rem;pointer-events:none}.club-search-card input[type=search]{height:50px;padding:12px 42px 12px 14px;background:var(--club-field);color:var(--club-copy);border:1px solid var(--club-border);box-shadow:none}.club-search-card input[type=search]::placeholder{color:var(--club-muted);opacity:1}.club-search-card input[type=search]:focus{outline:0;border-color:var(--club-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--club-accent) 20%,transparent)}
.club-search-results{margin-top:11px}.club-search-results>.empty{padding:19px 10px;line-height:1.45}.club-result{min-height:62px;background:var(--club-panel-soft)!important;color:var(--club-copy)!important;border-color:var(--club-border)!important}.club-result:hover,.club-result:focus-visible{border-color:var(--club-accent)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--club-accent) 16%,transparent);outline:0}.club-result strong,.club-result b{color:var(--club-copy)}.club-result.member strong:first-child{color:var(--accent-text)}.club-result small{color:var(--club-muted)!important}
.club-empty-state{min-height:194px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--club-muted)}.club-empty-state strong{margin-top:10px;color:var(--club-copy);font-size:1rem}.club-empty-state span{margin-top:5px;max-width:420px;font-size:.87rem}.club-empty-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);font-size:1.25rem}
.club-member-head h2,.club-member-head strong,.club-card-code strong,.club-balance-grid strong,.club-goal strong,.club-ledger-row b{color:var(--club-copy)}.club-member-head p,.club-card-code span,.club-card-code small,.club-balance-grid span,.club-goal small,.club-ledger-row small{color:var(--club-muted)!important}.club-card-code,.club-balance-grid>div,.club-goal{background:var(--club-panel-soft)!important;border-color:var(--club-border)!important}.club-card-code{border-style:solid}.club-card-code strong{letter-spacing:.045em}.club-balance-grid>div{min-height:84px;justify-content:center}.club-ledger-row{border-color:var(--club-border)}.club-ledger-row .positive{color:#168447!important}.club-ledger-row .negative{color:#c33d4d!important}
.club-settings-card{margin-top:16px}.club-settings-card form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px;align-items:end}.club-settings-card label{margin:0;color:var(--club-copy);font-weight:800}.club-settings-card input[type=number]{margin-top:4px;min-height:46px;background:var(--club-field)!important;color:var(--club-copy)!important;border:1px solid var(--club-border)!important;-webkit-text-fill-color:var(--club-copy);opacity:1}.club-settings-card input[type=number]:focus{outline:0;border-color:var(--club-accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--club-accent) 20%,transparent)}.club-settings-card .check{display:flex;flex-direction:row;align-items:center;gap:9px;min-height:46px;padding:10px 12px;border:1px solid var(--club-border);border-radius:10px;background:var(--club-panel-soft);color:var(--club-copy)}.club-settings-card .check input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;accent-color:var(--club-accent);width:20px;height:20px;min-width:20px;margin:0;padding:0}.club-settings-card .actions{margin:0;display:flex;align-items:center;justify-content:flex-end}.club-settings-card button[type=submit]{min-height:44px;padding:10px 16px}.club-settings-card #clubSettingsStatus{margin-top:13px;padding-top:12px;border-top:1px solid var(--club-border);line-height:1.45}

html[data-theme="dark"] .club-view{--club-border:#30465f;--club-panel:#0e1d2e;--club-panel-soft:#13263b;--club-field:#f7f9fc;--club-copy:#f4f8ff;--club-muted:#b8c7d8;--club-accent:#4d95ff}.club-view .card{background:var(--club-panel);color:var(--club-copy);border-color:var(--club-border)}
html[data-theme="dark"] .club-search-card input[type=search],html[data-theme="dark"] .club-settings-card input[type=number]{background:#f7f9fc!important;color:#13253b!important;-webkit-text-fill-color:#13253b!important;border-color:#b7c4d3!important}html[data-theme="dark"] .club-search-card input[type=search]::placeholder,html[data-theme="dark"] .club-settings-card input[type=number]::placeholder{color:#65758a!important;opacity:1}html[data-theme="dark"] .club-search-wrap>span{color:#5b6f87}html[data-theme="dark"] .club-auto-badge,html[data-theme="dark"] .club-section-icon,html[data-theme="dark"] .club-empty-icon{background:#173b69;color:#c4ddff;border-color:#315d8f}.club-view button.secondary{background:var(--button-secondary);color:var(--button-secondary-text);border:1px solid color-mix(in srgb,var(--button-secondary-text) 12%,var(--club-border))}html[data-theme="dark"] .club-result.member strong:first-child{color:#88baff}.club-view .pill{background:var(--button-secondary);color:var(--button-secondary-text);border:1px solid var(--club-border)}
html[data-theme="dark"] .club-stat-members .club-stat-icon{background:#153d6c;color:#b8d8ff;border-color:#2e6098}html[data-theme="dark"] .club-stat-savings .club-stat-icon{background:#123f2d;color:#9be2b2;border-color:#28664a}html[data-theme="dark"] .club-stat-rewards .club-stat-icon{background:#3d235c;color:#dcb8ff;border-color:#66408e}html[data-theme="dark"] .club-stat-points .club-stat-icon{background:#4a390d;color:#ffe094;border-color:#765e1c}html[data-theme="dark"] .club-ledger-row .positive{color:#7fe0a4!important}html[data-theme="dark"] .club-ledger-row .negative{color:#ff9baa!important}

html:not([data-theme="dark"]) .club-view{--club-border:#d4dde8;--club-panel:#fff;--club-panel-soft:#f6f8fb;--club-field:#fff;--club-copy:#10213d;--club-muted:#53657b;--club-accent:#1464f4}html:not([data-theme="dark"]) .club-view .meta,html:not([data-theme="dark"]) .club-view .empty{color:#53657b}html:not([data-theme="dark"]) .club-settings-card input[type=number],html:not([data-theme="dark"]) .club-search-card input[type=search]{background:#fff!important;color:#10213d!important;-webkit-text-fill-color:#10213d!important;border-color:#b9c6d6!important}html:not([data-theme="dark"]) .club-settings-card .check{background:#f5f8fc;color:#10213d;border-color:#ccd7e3}html:not([data-theme="dark"]) .club-view button.secondary{background:#e7edf6;color:#16345e;border-color:#d1dbe8}

@media(max-width:980px){.club-settings-card form{grid-template-columns:1fr 1fr}.club-settings-card .span-2{grid-column:1/-1}}
@media(max-width:700px){#clubStats.stats{grid-template-columns:1fr 1fr}.club-stat{min-height:100px}.club-title-line{align-items:flex-start}.club-auto-badge{white-space:normal}.club-settings-card form{grid-template-columns:1fr}.club-settings-card .span-2{grid-column:auto}.club-settings-card .actions{justify-content:stretch}.club-settings-card .actions button{width:100%}}
@media(max-width:480px){#clubStats.stats{grid-template-columns:1fr}.club-stat{min-height:88px}.club-balance-grid{grid-template-columns:1fr}.club-view>.title>button{width:auto}}


/* Workshop Pro 5.7.0-rc1.28.22 — Customer CRM visual system */
#customerWorkspace{--crm-card-radius:16px;--crm-gap:16px}
#customerWorkspace .customer-workspace-head{
  position:relative;top:auto;z-index:8;
  grid-template-columns:auto minmax(0,1fr) minmax(360px,auto);
  align-items:start;gap:22px;padding:14px 0 22px;margin-bottom:18px;
  background:transparent;border-color:var(--line);
}
#customerWorkspace .customer-back{margin-top:2px;align-self:start;padding:10px 14px;border:1px solid var(--line);box-shadow:none}
#customerWorkspace .customer-workspace-title{min-width:0}
.crm-profile-identity{display:flex;gap:16px;align-items:center;min-width:0}
.crm-profile-avatar{position:relative;flex:0 0 62px;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#1464f4,#0b4dbf);color:#fff;font-size:1.34rem;font-weight:900;letter-spacing:.02em;box-shadow:0 10px 28px rgba(20,100,244,.22)}
.crm-profile-presence{position:absolute;right:1px;bottom:4px;width:17px;height:17px;border-radius:50%;background:#7b8797;border:3px solid var(--bg)}
.crm-profile-presence.is-active{background:#13a65a}
.crm-profile-heading{min-width:0;display:grid;gap:6px}
.crm-profile-name-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#customerWorkspace .crm-profile-name-row h1{font-size:1.9rem;line-height:1.05;margin:0;color:var(--text)}
.crm-profile-status{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid var(--line);border-radius:999px;font-size:.72rem;font-weight:800;background:var(--surface-soft);color:var(--muted)}
.crm-profile-status.active{background:rgba(19,166,90,.12);border-color:rgba(19,166,90,.34);color:#15814a}
html[data-theme="dark"] .crm-profile-status.active{color:#83e6ad;background:rgba(19,166,90,.15)}
.crm-profile-meta-row,.crm-profile-contact-row{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;color:var(--muted);font-size:.84rem}
.crm-profile-meta-row>span:not(:last-child)::after{content:"·";margin-left:12px;color:var(--muted)}
.crm-profile-tag{display:inline-flex!important;align-items:center;padding:2px 7px;border:1px solid rgba(126,87,194,.45);border-radius:999px;color:#7450b8!important;background:rgba(126,87,194,.10);font-weight:800;text-transform:uppercase;font-size:.68rem}
.crm-profile-meta-row .crm-profile-tag::after{display:none}
html[data-theme="dark"] .crm-profile-tag{color:#c9b6ff!important;background:rgba(126,87,194,.18);border-color:rgba(171,140,235,.5)}
.crm-profile-contact-row span{color:var(--text);opacity:.88}
#customerWorkspaceActions.crm-profile-actions{display:flex;justify-content:flex-end;align-content:flex-start;gap:8px;flex-wrap:wrap;margin:0;max-width:610px}
#customerWorkspaceActions.crm-profile-actions button{min-height:39px;padding:9px 12px;border:1px solid transparent;box-shadow:none;white-space:nowrap}
#customerWorkspaceActions .crm-action-primary{background:var(--blue);color:#fff}
#customerWorkspaceActions .crm-action-secondary,#customerWorkspaceActions .crm-action-archive,#customerWorkspaceActions .crm-action-settings{background:var(--button-secondary);color:var(--button-secondary-text);border-color:var(--line)}
#customerWorkspaceActions button:hover{filter:brightness(1.04);transform:translateY(-1px)}

#customerWorkspace .crm-tabs{display:flex;flex-wrap:nowrap;gap:2px;overflow-x:auto;scrollbar-width:thin;padding:0 6px;margin:0 0 20px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:none}
#customerWorkspace .crm-tabs button{position:relative;flex:0 0 auto;padding:14px 13px;border-radius:0;background:transparent!important;color:var(--muted)!important;font-weight:750;box-shadow:none!important}
#customerWorkspace .crm-tabs button:hover{color:var(--text)!important;background:var(--surface-soft)!important}
#customerWorkspace .crm-tabs button.active{color:var(--text)!important}
#customerWorkspace .crm-tabs button.active::after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--blue)}
#customerWorkspace .crm-tabs .crm-club-tab::before{content:"★";margin-right:7px;color:#f0b718}

#customerWorkspace .customer-profile-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:18px}
#customerWorkspace .card{border-radius:var(--crm-card-radius);box-shadow:0 8px 26px rgba(12,31,57,.05);border:1px solid var(--line)}
html[data-theme="dark"] #customerWorkspace .card{box-shadow:0 10px 30px rgba(0,0,0,.12)}
#customerWorkspace .crm-overview-card,#customerWorkspace .crm-value-card{padding:20px 20px 18px}
#customerWorkspace .crm-overview-card h3,#customerWorkspace .crm-value-card h3{margin:0 0 17px;font-size:1.05rem}
#customerWorkspace .crm-overview-card dl{grid-template-columns:minmax(120px,145px) minmax(0,1fr);gap:0;margin:0}
#customerWorkspace .crm-overview-card dt,#customerWorkspace .crm-overview-card dd{padding:7px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
#customerWorkspace .crm-overview-card dt:last-of-type,#customerWorkspace .crm-overview-card dd:last-of-type{border-bottom:0}
#customerWorkspace .crm-overview-card dt{position:relative;padding-left:25px;color:var(--muted);font-weight:700}
#customerWorkspace .crm-overview-card dt::before{position:absolute;left:1px;top:7px;width:18px;text-align:center;color:var(--muted);font-size:.82rem}
#customerWorkspace .crm-overview-card dt[data-row="1"]::before{content:"●"}#customerWorkspace .crm-overview-card dt[data-row="2"]::before{content:"✓"}#customerWorkspace .crm-overview-card dt[data-row="3"]::before{content:"☎"}#customerWorkspace .crm-overview-card dt[data-row="4"]::before{content:"✉"}#customerWorkspace .crm-overview-card dt[data-row="5"]::before{content:"↗"}#customerWorkspace .crm-overview-card dt[data-row="6"]::before{content:"⌖"}#customerWorkspace .crm-overview-card dt[data-row="7"]::before{content:"◇"}
.crm-inline-status{display:inline-flex;padding:3px 8px;border-radius:999px;font-size:.76rem;font-weight:800;text-transform:capitalize;background:var(--surface-soft);border:1px solid var(--line)}
.crm-inline-status.active{background:rgba(19,166,90,.12);border-color:rgba(19,166,90,.28);color:#137844}
html[data-theme="dark"] .crm-inline-status.active{color:#83e6ad}
.crm-tag-chip{display:inline-flex;padding:3px 8px;border-radius:999px;border:1px solid rgba(126,87,194,.4);background:rgba(126,87,194,.1);color:#6841a8;font-size:.74rem;font-weight:800}
html[data-theme="dark"] .crm-tag-chip{color:#ccbaff;background:rgba(126,87,194,.18)}
.crm-empty-value{color:var(--muted)}
#customerWorkspace .crm-value-card .crm-metrics{gap:10px;margin-bottom:18px}
#customerWorkspace .crm-value-card .crm-metrics>div{min-height:102px;padding:15px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;border-radius:13px;background:var(--surface-soft);border:1px solid var(--line);position:relative;overflow:hidden}
#customerWorkspace .crm-value-card .crm-metrics>div::before{content:"";width:34px;height:34px;border-radius:50%;display:grid;place-items:center;margin-bottom:10px;background:rgba(20,100,244,.12)}
#customerWorkspace .crm-value-card .crm-metric-1::before{content:"🔧"}#customerWorkspace .crm-value-card .crm-metric-2::before{content:"£";font-weight:900;color:#14934f;background:rgba(20,147,79,.13)}#customerWorkspace .crm-value-card .crm-metric-3::before{content:"◆";color:#c58616;background:rgba(197,134,22,.13)}
#customerWorkspace .crm-value-card .crm-metrics strong{font-size:1.35rem;line-height:1.1}
#customerWorkspace .crm-value-card .crm-metrics span{margin-top:4px}
.crm-internal-note{margin:0!important;padding-top:4px;line-height:1.5}
.crm-note-label{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-bottom:5px}

#customerWorkspace .crm-identity-card{grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);column-gap:28px;align-items:center;padding:22px}
#customerWorkspace .crm-identity-card>.crm-section-head,#customerWorkspace .crm-identity-card>.crm-identity-details,#customerWorkspace .crm-identity-card>.crm-identity-actions{grid-column:1}
#customerWorkspace .crm-identity-card>.crm-section-head{grid-template-columns:minmax(0,1fr) auto}
.crm-identity-visual{grid-column:2;grid-row:1/5;min-height:190px;display:grid;grid-template-columns:100px minmax(80px,1fr) 100px;grid-template-rows:auto auto;align-items:center;justify-items:center;gap:12px;padding:16px;border-left:1px solid var(--line)}
.crm-identity-node{display:grid;justify-items:center;gap:8px;color:var(--muted);font-size:.76rem;text-align:center}
.crm-identity-node>span{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;border:1px solid var(--line);background:var(--surface-soft);color:var(--text);font-weight:900;font-size:1rem;box-shadow:inset 0 0 0 6px color-mix(in srgb,var(--blue) 10%,transparent)}
.crm-identity-link{position:relative;width:100%;height:2px;border-top:2px dashed var(--muted);opacity:.65}
.crm-identity-link::before{content:"🔒";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--surface);border:1px solid var(--line);font-size:.8rem}
.crm-identity-link>span{position:absolute;left:50%;top:20px;transform:translateX(-50%);font-size:.67rem;white-space:nowrap;color:var(--muted)}
.crm-identity-link.is-linked{border-top-style:solid;border-color:#1da766;opacity:1}.crm-identity-link.is-linked::before{content:"✓";color:#1da766;font-weight:900}
.crm-identity-visual>p{grid-column:1/-1;margin:3px auto 0!important;max-width:390px;text-align:center;color:var(--muted)!important;font-size:.82rem;line-height:1.45}
#customerWorkspace .crm-recent-devices-card{padding:20px}

html:not([data-theme="dark"]) #customerWorkspace .customer-workspace-head{background:transparent}
html:not([data-theme="dark"]) .crm-profile-contact-row span{color:#33435a}
html:not([data-theme="dark"]) #customerWorkspace .crm-tabs{background:#fff}
html:not([data-theme="dark"]) #customerWorkspace .crm-value-card .crm-metrics>div{background:#f8fafc}
html[data-theme="dark"] #customerWorkspace .crm-tabs{background:#10263d;border-color:#2a425a}
html[data-theme="dark"] #customerWorkspace .crm-overview-card dt,#customerWorkspace .crm-overview-card dd{border-bottom-color:#233b53}
html[data-theme="dark"] #customerWorkspaceActions .crm-action-secondary,html[data-theme="dark"] #customerWorkspaceActions .crm-action-archive,html[data-theme="dark"] #customerWorkspaceActions .crm-action-settings{border-color:#304961}

@media(max-width:1180px){
  #customerWorkspace .customer-workspace-head{grid-template-columns:auto minmax(0,1fr)}
  #customerWorkspaceActions.crm-profile-actions{grid-column:1/-1;justify-content:flex-start;max-width:none;padding-left:0}
}
@media(max-width:900px){
  #customerWorkspace .customer-workspace-head{grid-template-columns:1fr;gap:14px}
  #customerWorkspace .customer-back{justify-self:start}
  #customerWorkspace .customer-profile-grid{grid-template-columns:1fr}
  #customerWorkspace .crm-identity-card{grid-template-columns:1fr}
  #customerWorkspace .crm-identity-card>.crm-section-head,#customerWorkspace .crm-identity-card>.crm-identity-details,#customerWorkspace .crm-identity-card>.crm-identity-actions{grid-column:1}
  .crm-identity-visual{grid-column:1;grid-row:auto;border-left:0;border-top:1px solid var(--line);width:100%;margin-top:2px}
}
@media(max-width:620px){
  .crm-profile-avatar{width:52px;height:52px;flex-basis:52px;font-size:1.05rem}
  #customerWorkspace .crm-profile-name-row h1{font-size:1.5rem}
  .crm-profile-contact-row{display:grid;gap:5px}
  #customerWorkspaceActions.crm-profile-actions button{flex:1 1 calc(50% - 8px)}
  #customerWorkspace .crm-overview-card dl{grid-template-columns:1fr}
  #customerWorkspace .crm-overview-card dt{padding-bottom:1px;border-bottom:0}
  #customerWorkspace .crm-overview-card dd{padding:2px 0 8px 25px}
  #customerWorkspace .crm-value-card .crm-metrics{grid-template-columns:1fr}
  #customerWorkspace .crm-value-card .crm-metrics>div{min-height:auto}
  .crm-identity-visual{grid-template-columns:72px minmax(60px,1fr) 72px;padding:14px 4px}
  .crm-identity-node>span{width:52px;height:52px}
}

/* Workshop Pro 5.7.0-rc1.28.23 — Customer CRM responsive header hardening */
#customerWorkspace .customer-workspace-head{min-width:0}
#customerWorkspace .customer-workspace-title,#customerWorkspace .crm-profile-identity,#customerWorkspace .crm-profile-heading{min-width:0}
#customerWorkspace .crm-profile-name-row h1{overflow-wrap:normal;word-break:normal;white-space:normal}
#customerWorkspace .crm-profile-meta-row,#customerWorkspace .crm-profile-contact-row{min-width:0}
#customerWorkspaceActions.crm-profile-actions{min-width:0}
.crm-actions-more{position:relative;flex:0 0 auto}
.crm-actions-more>summary{list-style:none;cursor:pointer;min-height:39px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--button-secondary);color:var(--button-secondary-text);font-weight:800;display:flex;align-items:center;gap:8px;user-select:none}
.crm-actions-more>summary::-webkit-details-marker{display:none}
.crm-actions-more[open]>summary{background:var(--surface-soft)}
.crm-actions-more-menu{position:absolute;right:0;top:calc(100% + 7px);z-index:40;min-width:210px;padding:7px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 14px 36px rgba(0,0,0,.18);display:grid;gap:5px}
#customerWorkspaceActions .crm-actions-more-menu button{width:100%;justify-content:flex-start;text-align:left;margin:0}
html[data-theme="dark"] .crm-actions-more-menu{background:#10263d;border-color:#304961}

/* iPad / medium workspace: reserve the full content width for customer identity. */
@media(max-width:1500px){
  #customerWorkspace .customer-workspace-head{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"back identity" "back actions";align-items:start;column-gap:18px;row-gap:12px}
  #customerWorkspace .customer-back{grid-area:back}
  #customerWorkspace .customer-workspace-title{grid-area:identity;width:100%}
  #customerWorkspaceActions.crm-profile-actions{grid-area:actions;justify-content:flex-start;max-width:none;width:100%}
  #customerWorkspace .crm-profile-name-row h1{font-size:1.75rem}
}
@media(max-width:1050px){
  #customerWorkspace .customer-workspace-head{grid-template-columns:1fr;grid-template-areas:"back" "identity" "actions";gap:13px;padding-top:8px}
  #customerWorkspace .customer-back{justify-self:start}
  #customerWorkspaceActions.crm-profile-actions{justify-content:flex-start}
  #customerWorkspace .crm-profile-identity{align-items:flex-start}
  #customerWorkspace .crm-profile-contact-row{gap:6px 12px}
}
@media(max-width:760px){
  #customerWorkspace .crm-profile-identity{gap:12px}
  #customerWorkspace .crm-profile-avatar{width:54px;height:54px;flex-basis:54px}
  #customerWorkspace .crm-profile-name-row h1{font-size:1.45rem}
  #customerWorkspaceActions.crm-profile-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  #customerWorkspaceActions.crm-profile-actions>button,#customerWorkspaceActions.crm-profile-actions>.crm-actions-more{width:100%;min-width:0}
  .crm-actions-more>summary{justify-content:center}
  .crm-actions-more-menu{left:0;right:auto;min-width:min(260px,calc(100vw - 36px))}
}
@media(max-width:520px){
  #customerWorkspace .crm-profile-identity{display:grid;grid-template-columns:48px minmax(0,1fr)}
  #customerWorkspace .crm-profile-avatar{width:48px;height:48px;flex-basis:48px;font-size:1rem}
  #customerWorkspace .crm-profile-name-row{gap:6px}
  #customerWorkspace .crm-profile-contact-row{display:grid;grid-template-columns:1fr;gap:4px}
  #customerWorkspaceActions.crm-profile-actions{grid-template-columns:1fr}
}
\n\n/* Workshop Pro 5.7.0-rc1.28.24 — Customer CRM final polish */\n#customerWorkspace .crm-tabs{\n  gap:10px;\n  padding:0 12px;\n  overscroll-behavior-x:contain;\n  scroll-snap-type:x proximity;\n  -webkit-overflow-scrolling:touch;\n}\n#customerWorkspace .crm-tabs button{\n  min-height:48px;\n  padding:14px 18px;\n  scroll-snap-align:start;\n  letter-spacing:.005em;\n}\n#customerWorkspace .crm-tabs button.active::after{\n  left:14px;\n  right:14px;\n}\n#customerWorkspace .crm-profile-identity{padding:2px 0}\n#customerWorkspace .crm-profile-meta-row,#customerWorkspace .crm-profile-contact-row{row-gap:7px;column-gap:14px}\n#customerWorkspaceActions.crm-profile-actions{gap:9px}\n#customerWorkspaceActions.crm-profile-actions>button,.crm-actions-more>summary{min-height:42px;padding:10px 13px}\n.crm-actions-more>summary span[aria-hidden=\"true\"]{letter-spacing:2px}\n@media(max-width:1180px){\n  #customerWorkspace .crm-tabs{gap:8px;padding-inline:10px}\n  #customerWorkspace .crm-tabs button{padding-inline:16px}\n}\n@media(max-width:820px){\n  #customerWorkspace .crm-tabs{gap:7px;padding-inline:8px}\n  #customerWorkspace .crm-tabs button{padding-inline:15px}\n}\n#customerWorkspace .crm-tabs::after{content:\"\";flex:0 0 4px}\nhtml:not([data-theme=\"dark\"]) #customerWorkspace .crm-tabs button{color:#52657d!important}\nhtml:not([data-theme=\"dark\"]) #customerWorkspace .crm-tabs button.active{color:#10213d!important}\nhtml[data-theme=\"dark\"] #customerWorkspace .crm-tabs button{color:#aebed0!important}\nhtml[data-theme=\"dark\"] #customerWorkspace .crm-tabs button.active{color:#ffffff!important}\n
/* 5.7.0-rc1.28.25 — Sales & Performance management dashboard */
.sales-performance-view{--sales-blue:#2f80ff;--sales-green:#20a464;--sales-purple:#7b61ff;--sales-amber:#d99215;--sales-red:#d94b4b}
.sales-report-title{margin-bottom:16px}.sales-report-title h1{margin:2px 0 0;font-size:1.85rem}.sales-report-title p{margin-top:5px}.sales-report-title .eyebrow,.sales-performance-view .eyebrow{color:var(--blue)}.sales-report-refresh{align-self:center}
.sales-report-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin-bottom:18px;padding:12px 14px}.sales-period-tabs{display:flex;gap:6px;flex-wrap:wrap}.sales-period-tabs button{background:transparent;color:var(--muted);padding:9px 13px;border:1px solid transparent;white-space:nowrap}.sales-period-tabs button:hover{background:var(--surface-soft);color:var(--text)}.sales-period-tabs button.active{background:var(--blue);color:#fff;box-shadow:0 7px 20px rgba(47,128,255,.22)}.sales-report-period-copy{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}.sales-report-period-copy strong{font-size:.92rem}.sales-report-period-copy span{font-size:.75rem;color:var(--muted)}.sales-custom-range{grid-column:1/-1;display:grid;grid-template-columns:170px 170px auto;gap:9px;align-items:end;padding-top:10px;border-top:1px solid var(--line)}.sales-custom-range label{margin:0}.sales-custom-range button{height:42px}.sales-report-loading{margin:-4px 0 14px;padding:10px 14px;border-radius:10px;background:var(--accent-soft);color:var(--accent-text);font-weight:800;font-size:.85rem}
.sales-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:18px}.sales-kpi-card{position:relative;overflow:hidden;display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:start;padding:17px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:0 8px 24px rgba(var(--shadow),.06)}.sales-kpi-card:after{content:"";position:absolute;inset:auto 0 0;height:3px;background:var(--sales-blue)}.sales-kpi-card.green:after{background:var(--sales-green)}.sales-kpi-card.purple:after{background:var(--sales-purple)}.sales-kpi-card.amber:after{background:var(--sales-amber)}.sales-kpi-card.slate:after{background:#718096}.sales-kpi-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:rgba(47,128,255,.12);color:var(--sales-blue);font-weight:900}.sales-kpi-card.green .sales-kpi-icon{background:rgba(32,164,100,.12);color:var(--sales-green)}.sales-kpi-card.purple .sales-kpi-icon{background:rgba(123,97,255,.13);color:var(--sales-purple)}.sales-kpi-card.amber .sales-kpi-icon{background:rgba(217,146,21,.14);color:var(--sales-amber)}.sales-kpi-copy{min-width:0}.sales-kpi-copy>span:first-child{display:block;color:var(--muted);font-size:.78rem;font-weight:750}.sales-kpi-copy>strong{display:block;margin:3px 0 1px;font-size:1.55rem;line-height:1.08}.sales-kpi-copy>small{display:block;color:var(--muted);font-size:.72rem;margin:2px 0 7px}.sales-kpi-delta{display:inline-flex;align-items:center;gap:4px;margin-top:7px;padding:3px 7px;border-radius:999px;font-size:.69rem;font-weight:850}.sales-kpi-delta small{font-size:.65rem;font-weight:700;opacity:.8}.sales-kpi-delta.up{background:rgba(32,164,100,.12);color:#14814c}.sales-kpi-delta.down{background:rgba(217,75,75,.12);color:#b83232}.sales-kpi-delta.neutral{background:var(--surface-soft);color:var(--muted)}
.sales-report-primary-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:15px;margin-bottom:15px}.sales-report-primary-grid>.card,.sales-report-grid>.card{margin:0}.sales-trend-card{min-width:0}.sales-chart-total{text-align:right}.sales-chart-total strong,.sales-chart-total span{display:block}.sales-chart-total strong{font-size:1.35rem}.sales-chart-total span{font-size:.74rem;color:var(--muted);margin-top:2px}.sales-trend-chart{min-height:280px;padding-top:10px}.sales-chart-svg-wrap{position:relative;height:270px;color:var(--blue)}.sales-chart-svg-wrap svg{width:100%;height:235px;overflow:visible}.sales-chart-axis{stroke:var(--line);stroke-width:1}.sales-chart-grid{stroke:var(--line);stroke-width:1;stroke-dasharray:4 7;opacity:.8}.sales-chart-line{fill:none;stroke:currentColor;stroke-width:4;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.sales-chart-dot{fill:var(--surface);stroke:currentColor;stroke-width:3;vector-effect:non-scaling-stroke}.sales-chart-labels{position:absolute;left:28px;right:28px;bottom:0;height:24px}.sales-chart-labels span{position:absolute;transform:translateX(-50%);font-size:.66rem;color:var(--muted);white-space:nowrap}.sales-chart-empty{height:260px;display:grid;place-content:center;text-align:center;color:var(--muted);gap:4px}.sales-chart-empty strong{color:var(--text);font-size:1rem}.sales-chart-empty span{font-size:.82rem}
.sales-bar-list{display:grid;gap:13px;margin-top:12px}.sales-bar-row{display:grid;gap:7px}.sales-bar-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.sales-bar-head span{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:750}.sales-bar-head i{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:var(--surface-soft);color:var(--muted);font-style:normal;font-size:.68rem}.sales-bar-head strong{font-size:.86rem}.sales-bar-track{height:7px;border-radius:999px;background:var(--surface-soft);overflow:hidden}.sales-bar-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),#65a4ff)}
.sales-report-grid{display:grid;gap:15px;margin-bottom:15px}.sales-report-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sales-performance-view .card-heading{align-items:flex-start}.sales-performance-view .card-heading h2{font-size:1.02rem;margin-top:2px}.sales-rank-list,.sales-compact-list{display:grid;margin-top:4px}.sales-rank-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.sales-rank-row:first-child{border-top:0}.sales-rank-number{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:var(--surface-soft);color:var(--muted);font-size:.7rem;font-weight:900}.sales-rank-row div{min-width:0}.sales-rank-row div strong,.sales-rank-row div span{display:block}.sales-rank-row div strong{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sales-rank-row div span{margin-top:2px;color:var(--muted);font-size:.69rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sales-rank-row>b{font-size:.8rem;white-space:nowrap}.sales-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:.67rem;font-weight:850;white-space:nowrap}.sales-badge.warning{background:rgba(217,146,21,.13);color:#a96600}.sales-compact-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.sales-compact-row:first-child{border-top:0}.sales-compact-row div{min-width:0}.sales-compact-row div strong,.sales-compact-row div span{display:block}.sales-compact-row div strong{font-size:.8rem}.sales-compact-row div span{margin-top:2px;color:var(--muted);font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sales-compact-row>b{font-size:.78rem;white-space:nowrap}.sales-negative{color:var(--sales-red)}.sales-register-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding-bottom:8px}.sales-register-summary>div{padding:9px;border-radius:10px;background:var(--surface-soft);text-align:center}.sales-register-summary strong,.sales-register-summary span{display:block}.sales-register-summary strong{font-size:.94rem}.sales-register-summary span{margin-top:2px;color:var(--muted);font-size:.62rem}.club-report-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.club-report-grid>div{padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}.club-report-grid>div:last-child{grid-column:1/-1}.club-report-grid span,.club-report-grid strong{display:block}.club-report-grid span{font-size:.67rem;color:var(--muted)}.club-report-grid strong{margin-top:3px;font-size:1rem}
.sales-monthly-card{margin-bottom:15px}.table-scroll{overflow-x:auto}.sales-monthly-table{width:100%;border-collapse:collapse;min-width:650px}.sales-monthly-table th,.sales-monthly-table td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);font-size:.8rem}.sales-monthly-table th{color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.05em}.sales-monthly-table tbody tr:last-child td{border-bottom:0}.sales-report-note{margin-top:0}.sales-report-note span{line-height:1.45}.sales-report-error{grid-column:1/-1}
html[data-theme="dark"] .sales-kpi-delta.up{color:#7ce5aa}html[data-theme="dark"] .sales-kpi-delta.down{color:#ff9c9c}html[data-theme="dark"] .sales-badge.warning{color:#ffd28a}.sales-performance-view input[type="date"]{min-height:42px}
@media(max-width:1180px){.sales-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-report-grid-3{grid-template-columns:1fr 1fr}.sales-report-grid-3>.card:last-child{grid-column:1/-1}.sales-report-primary-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.8fr)}}
@media(max-width:860px){.sales-report-toolbar{grid-template-columns:1fr}.sales-report-period-copy{align-items:flex-start;text-align:left}.sales-report-primary-grid,.sales-report-grid-3{grid-template-columns:1fr}.sales-report-grid-3>.card:last-child{grid-column:auto}.sales-period-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.sales-period-tabs button{flex:0 0 auto}.sales-custom-range{grid-template-columns:1fr 1fr auto}.sales-trend-chart{min-height:250px}.sales-chart-svg-wrap{height:245px}.sales-chart-svg-wrap svg{height:210px}}
@media(max-width:560px){.sales-report-title{align-items:flex-start}.sales-report-refresh{display:none}.sales-kpi-grid{grid-template-columns:1fr}.sales-kpi-card{grid-template-columns:40px minmax(0,1fr)}.sales-kpi-icon{width:38px;height:38px}.sales-custom-range{grid-template-columns:1fr}.sales-custom-range button{width:100%}.sales-chart-total{display:none}.sales-register-summary{grid-template-columns:1fr}.club-report-grid{grid-template-columns:1fr}.club-report-grid>div:last-child{grid-column:auto}.sales-compact-row{align-items:flex-start}.sales-report-toolbar{padding:10px}.sales-period-tabs{margin:0 -2px}}


/* Workshop Pro 5.7.0-rc1.28.26 — POS Focus Mode + polished counter UI */
#pos.pos-view{max-width:none}
main:has(#pos.view.active){max-width:none!important;width:100%!important;padding:18px 22px 34px!important}
.pos-head{align-items:center!important;margin-bottom:12px!important}.pos-head h1{font-size:1.65rem}.pos-head p{max-width:720px}.pos-head-actions{align-items:center}.pos-head-actions button{min-height:42px}.pos-focus-toggle[aria-pressed="true"]{background:var(--accent-soft)!important;color:var(--accent-text)!important;border-color:color-mix(in srgb,var(--blue) 40%,var(--line))!important}
.app-shell.pos-focus-mode{grid-template-columns:0 minmax(0,1fr)!important}.app-shell.pos-focus-mode .app-sidebar{transform:translateX(-105%)!important;pointer-events:none}.app-shell.pos-focus-mode .app-content{margin-left:0!important}.app-shell.pos-focus-mode .app-content main:has(#pos.view.active){padding-left:22px!important;padding-right:22px!important}.app-shell,.app-sidebar,.app-content{transition:grid-template-columns .2s ease,transform .2s ease,margin-left .2s ease}
.pos-register-status{min-height:54px;padding:11px 16px!important}.pos-register-status span{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.pos-register-status.open{border-color:color-mix(in srgb,#2fb46e 45%,var(--line));background:color-mix(in srgb,#2fb46e 9%,var(--surface))}.pos-register-status.open span:before{content:"";width:9px;height:9px;border-radius:50%;background:#2fb46e;box-shadow:0 0 0 4px color-mix(in srgb,#2fb46e 16%,transparent)}.pos-register-status.closed{border-color:color-mix(in srgb,#e5a228 50%,var(--line));background:color-mix(in srgb,#e5a228 8%,var(--surface))}
.pos-layout{grid-template-columns:minmax(0,1.65fr) minmax(360px,.72fr)!important;gap:14px!important;min-height:calc(100dvh - 218px)}.app-shell.pos-focus-mode .pos-layout{grid-template-columns:minmax(0,1.9fr) minmax(390px,.68fr)!important}.pos-catalog,.pos-checkout{border-color:var(--line);box-shadow:0 8px 24px rgba(var(--shadow),.08)}.pos-catalog{padding:16px!important}.pos-checkout{padding:16px!important;top:86px;max-height:calc(100dvh - 106px)!important}
.pos-search{gap:10px!important}.pos-scan-box input,#posCustomerSearch,#posDiscount,#posDiscountType,.pos-payment-mode input,.pos-payment-mode select,.pos-payment-mode textarea{background:#fff!important;color:#10213a!important;border:1px solid #c3cede!important;box-shadow:0 1px 2px rgba(15,35,62,.06)!important}.pos-scan-box input::placeholder,#posCustomerSearch::placeholder,#posDiscount::placeholder,.pos-payment-mode input::placeholder,.pos-payment-mode textarea::placeholder{color:#748399!important;opacity:1!important}.pos-scan-box input:focus,#posCustomerSearch:focus,#posDiscount:focus,#posDiscountType:focus,.pos-payment-mode input:focus,.pos-payment-mode select:focus,.pos-payment-mode textarea:focus{outline:0!important;border-color:#2f80ff!important;box-shadow:0 0 0 3px rgba(47,128,255,.18)!important}.pos-scan-box input{min-height:54px;font-weight:700}.pos-scan-icon{top:15px}.pos-scan-feedback{font-weight:700}.pos-search>.secondary{min-width:140px}
.pos-category-chips{position:sticky;top:0;z-index:8;padding:11px 0 12px;background:var(--surface);scrollbar-width:none}.pos-category-chips::-webkit-scrollbar{display:none}.pos-category-chips button{min-height:40px;padding:9px 15px;border-radius:10px!important}.pos-category-chips button.active{box-shadow:0 4px 12px rgba(47,128,255,.18)}
.pos-product-grid{grid-template-columns:repeat(auto-fill,minmax(158px,1fr))!important;gap:10px!important;padding:2px 2px 12px!important}.app-shell.pos-focus-mode .pos-product-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))!important}.pos-product-wrap{border-radius:13px;overflow:visible}.pos-product-wrap .pos-product{min-height:146px!important;padding:13px 38px 13px 13px!important;border-radius:13px!important;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.pos-product-wrap .pos-product:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 18px rgba(var(--shadow),.12)}.pos-product-wrap .pos-product:disabled{cursor:not-allowed;filter:saturate(.55);opacity:.58}.pos-product-category{text-transform:uppercase;letter-spacing:.055em;font-weight:800}.pos-product strong{font-size:.98rem;margin:7px 0!important}.pos-product small{display:flex!important;flex-direction:column;gap:7px;align-items:flex-start;line-height:1.15}.pos-product>b{font-size:1.18rem!important}.pos-stock-pill{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:.68rem;font-weight:800;line-height:1;background:var(--surface);border:1px solid var(--line)}.pos-stock-pill.stock-ok{color:#238653}.pos-stock-pill.stock-low{color:#a86800;background:#fff7e7;border-color:#eed39a}.pos-stock-pill.stock-out{color:#b43c48;background:#fff0f2;border-color:#efc0c6}.pos-stock-pill.stock-service{color:#0f6f74;background:#eafafa;border-color:#b9e4e6}.pos-favourite{width:34px!important;height:34px!important;right:8px!important;top:8px!important;font-size:1.12rem;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.pos-customer-block>label{font-weight:800;font-size:.82rem}.pos-customer-block>label input{margin-top:6px}.pos-selected-customer{min-height:58px;align-items:center!important;padding:10px 11px!important;border:1px solid var(--line);gap:10px!important}.pos-customer-icon{display:grid!important;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text)!important;font-size:1rem}.pos-customer-copy{display:flex!important;flex-direction:column;gap:3px;min-width:0;flex:1;color:var(--text)!important}.pos-customer-copy strong{color:var(--text)}.pos-customer-copy small{color:var(--muted);font-size:.76rem}.pos-selected-customer>.text-button{margin-left:auto}.pos-club-chip{width:max-content;max-width:100%;margin-top:3px!important;padding:4px 7px!important}
.pos-basket-head{margin-top:14px!important}.pos-basket-head h2{margin:0;font-size:1.32rem}.pos-basket{min-height:160px;border-block:1px solid var(--line)!important}.pos-basket-empty{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted);gap:6px;padding:20px}.pos-basket-empty>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--surface-soft);font-size:1.4rem}.pos-basket-empty strong{color:var(--text)}.pos-basket-empty small{max-width:240px}.pos-basket-item{grid-template-columns:minmax(0,1fr) auto auto auto!important;gap:10px!important;padding:12px 0!important}.pos-basket-copy{min-width:0}.pos-basket-copy strong{display:block;color:var(--text);line-height:1.25}.pos-basket-copy span{margin-top:3px}.pos-qty{gap:4px!important;border:1px solid var(--line);border-radius:10px;padding:2px}.pos-qty button{width:34px;height:34px;padding:0!important;border-radius:8px!important;background:var(--surface-soft);color:var(--text)}.pos-qty b{min-width:22px;text-align:center}.pos-basket-line-total{white-space:nowrap}.pos-basket-remove{width:34px!important;height:34px!important;font-size:1rem!important}.pos-discount-row{grid-template-columns:minmax(0,1fr) 132px!important;gap:8px!important;padding-top:12px!important}.pos-discount-row label{font-size:.78rem;font-weight:800;color:var(--text)}.pos-discount-row input,.pos-discount-row select{height:46px;margin-top:6px!important}.pos-discount-row select{align-self:end}.pos-totals{padding:12px 0!important}.pos-totals>div{padding:4px 1px!important}.pos-totals>div strong{color:var(--text)}.pos-totals .grand{font-size:1.28rem!important;padding-top:12px!important;margin-top:7px!important}.pos-totals .grand strong{font-size:1.38rem}.pos-club-earn-note{margin-top:8px!important;padding:9px 10px!important;border-radius:10px;background:var(--accent-soft);color:var(--accent-text)!important}.pos-club-earn-note span,.pos-club-earn-note strong{color:var(--accent-text)!important}.pos-pay-button{min-height:54px;font-weight:900;box-shadow:0 8px 20px rgba(47,128,255,.18)}

/* Dedicated Payment Mode */
#posCheckoutDialog.pos-payment-dialog{width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border-radius:0!important;background:var(--bg)!important;color:var(--text)!important}#posCheckoutDialog::backdrop{background:rgba(2,10,22,.72)}.pos-payment-mode{width:min(980px,calc(100% - 36px))!important;max-width:980px!important;min-height:100dvh;margin:0 auto;padding:30px 24px 42px!important;background:transparent!important;color:var(--text)!important;box-shadow:none!important;overflow:auto!important}.pos-payment-mode-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-bottom:22px}.pos-payment-mode-head>div{text-align:center}.pos-payment-mode-head .eyebrow{display:block;color:var(--muted);font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.pos-payment-mode-head h2{font-size:1.75rem;margin:3px 0 0}.pos-payment-mode-head>.icon{justify-self:end}.pos-payment-back{justify-self:start}.pos-payment-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);gap:14px;margin:0 0 16px}.pos-payment-total,.pos-payment-club{padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface);display:flex;flex-direction:column;gap:5px}.pos-payment-total>span,.pos-payment-club>span{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:var(--muted)}.pos-payment-total>strong{font-size:2.7rem;line-height:1.05;color:var(--text)}.pos-payment-total>small,.pos-payment-club>small{color:var(--muted)}.pos-payment-club{background:color-mix(in srgb,var(--accent-soft) 55%,var(--surface));border-color:color-mix(in srgb,var(--blue) 30%,var(--line))}.pos-payment-club>strong{font-size:1.35rem;color:var(--accent-text)}.pos-payment-card,.pos-payment-options{padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface);margin-bottom:14px}.pos-payment-card-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.pos-payment-card-head h3{margin:0}.pos-payment-card-head p{margin:4px 0 0;color:var(--muted);font-size:.84rem}.pos-payment-rows{margin:15px 0 0!important}.pos-payment-row{grid-template-columns:minmax(150px,.8fr) 1fr 1fr auto!important;padding:9px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.pos-payment-row select,.pos-payment-row input{height:46px!important;margin:0!important}.pos-payment-options{display:grid;grid-template-columns:1fr;gap:12px}.pos-payment-options label{color:var(--text);font-weight:750}.pos-payment-options textarea{min-height:82px;margin-top:6px}.pos-payment-options .check{display:flex;align-items:center;gap:9px}.pos-payment-options .check input{width:auto!important}.pos-payment-submit{position:sticky;bottom:0;padding:12px 0 0;background:linear-gradient(180deg,transparent,var(--bg) 28%)}.pos-payment-submit button{width:100%;min-height:56px;font-size:1.06rem;font-weight:900}.pos-payment-error{margin:0 0 8px}.pos-change-due{background:var(--accent-soft)!important;color:var(--text)}

/* Explicit POS contrast in both themes */
html[data-theme="dark"] #pos input,html[data-theme="dark"] #pos select,html[data-theme="dark"] #pos textarea,html[data-theme="dark"] .pos-payment-mode input,html[data-theme="dark"] .pos-payment-mode select,html[data-theme="dark"] .pos-payment-mode textarea{background:#f7f9fc!important;color:#10213a!important;border-color:#aebdce!important}html[data-theme="dark"] #pos input::placeholder,html[data-theme="dark"] .pos-payment-mode input::placeholder,html[data-theme="dark"] .pos-payment-mode textarea::placeholder{color:#69798d!important;opacity:1!important}html[data-theme="light"] #pos input,html[data-theme="light"] #pos select,html[data-theme="light"] #pos textarea,html[data-theme="light"] .pos-payment-mode input,html[data-theme="light"] .pos-payment-mode select,html[data-theme="light"] .pos-payment-mode textarea{background:#fff!important;color:#10213a!important;border-color:#bcc9d8!important}html[data-theme="dark"] .pos-stock-pill.stock-ok{background:#123d2c;border-color:#2e654c;color:#a0e5bb}html[data-theme="dark"] .pos-stock-pill.stock-low{background:#47370f;border-color:#735a1d;color:#ffe095}html[data-theme="dark"] .pos-stock-pill.stock-out{background:#4b2029;border-color:#773744;color:#ffb4be}html[data-theme="dark"] .pos-stock-pill.stock-service{background:#123f45;border-color:#2b6970;color:#bceff0}

@media(max-width:1180px){.pos-layout,.app-shell.pos-focus-mode .pos-layout{grid-template-columns:minmax(0,1.45fr) minmax(350px,.75fr)!important}.pos-product-grid,.app-shell.pos-focus-mode .pos-product-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr))!important}.pos-head{align-items:flex-start!important}.pos-head-actions{justify-content:flex-end}}
@media(max-width:1000px){main:has(#pos.view.active){padding:16px!important}.pos-layout,.app-shell.pos-focus-mode .pos-layout{grid-template-columns:1fr!important}.pos-checkout{position:static!important;max-height:none!important}.pos-product-grid,.app-shell.pos-focus-mode .pos-product-grid{max-height:46dvh;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important}.pos-focus-toggle{display:none}.pos-payment-summary{grid-template-columns:1fr}}
@media(max-width:700px){.pos-head-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.pos-head-actions button{width:100%}.pos-search{grid-template-columns:1fr!important}.pos-search>.secondary{width:100%}.pos-product-grid,.app-shell.pos-focus-mode .pos-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pos-basket-item{grid-template-columns:minmax(0,1fr) auto auto!important}.pos-basket-remove{grid-column:3}.pos-discount-row{grid-template-columns:1fr 120px!important}.pos-payment-mode{width:100%!important;padding:18px 14px 30px!important}.pos-payment-mode-head{grid-template-columns:auto 1fr auto}.pos-payment-mode-head>div{text-align:left}.pos-payment-back{font-size:0;width:42px;height:42px;padding:0}.pos-payment-back:after{content:"←";font-size:1.15rem}.pos-payment-row{grid-template-columns:1fr 1fr!important}.pos-payment-row [data-tendered]{grid-column:1/-1}.pos-payment-row button{grid-column:auto!important}.pos-payment-card-head{align-items:flex-start;flex-direction:column}.pos-payment-card-head button{width:100%}}


/* Workshop Pro 5.7.0-rc1.28.27 — POS Focus Mode full-width viewport correction
   This block deliberately sits last so legacy workspace max-width rules cannot
   constrain the till after navigation has been collapsed. */
html body #app.app-shell.pos-focus-mode{
  grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;
  max-width:none!important;
}
html body #app.app-shell.pos-focus-mode .app-sidebar{
  width:0!important;
  min-width:0!important;
  max-width:0!important;
  transform:translateX(-105%)!important;
  visibility:hidden!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
html body #app.app-shell.pos-focus-mode .app-content{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin-left:0!important;
  grid-column:1/-1!important;
}
html body #app.app-shell.pos-focus-mode .app-content main,
html body #app.app-shell.pos-focus-mode .app-content main:has(#pos.view.active),
html body #app.app-shell.pos-focus-mode main:has(#pos.view.active){
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:18px!important;
  padding-right:18px!important;
}
html body #app.app-shell.pos-focus-mode #pos.view.active,
html body #app.app-shell.pos-focus-mode #pos.pos-view{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
html body #app.app-shell.pos-focus-mode #pos .pos-head,
html body #app.app-shell.pos-focus-mode #pos .pos-register-status,
html body #app.app-shell.pos-focus-mode #pos .pos-layout{
  width:100%!important;
  max-width:none!important;
}
html body #app.app-shell.pos-focus-mode #pos .pos-layout{
  grid-template-columns:minmax(0,1fr) clamp(370px,29vw,470px)!important;
  gap:16px!important;
}
html body #app.app-shell.pos-focus-mode #pos .pos-catalog{
  min-width:0!important;
  width:100%!important;
}
html body #app.app-shell.pos-focus-mode #pos .pos-product-grid{
  grid-template-columns:repeat(auto-fill,minmax(165px,1fr))!important;
}
html body #app.app-shell.pos-focus-mode #pos .pos-checkout{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
@media (min-width:1500px){
  html body #app.app-shell.pos-focus-mode #pos .pos-layout{
    grid-template-columns:minmax(0,1fr) clamp(400px,27vw,500px)!important;
  }
  html body #app.app-shell.pos-focus-mode #pos .pos-product-grid{
    grid-template-columns:repeat(auto-fill,minmax(175px,1fr))!important;
  }
}
@media (max-width:1100px){
  html body #app.app-shell.pos-focus-mode .app-content main:has(#pos.view.active){
    padding-left:14px!important;
    padding-right:14px!important;
  }
  html body #app.app-shell.pos-focus-mode #pos .pos-layout{
    grid-template-columns:minmax(0,1fr) minmax(330px,38vw)!important;
  }
}
@media (max-width:900px){
  html body #app.app-shell.pos-focus-mode #pos .pos-layout{
    grid-template-columns:1fr!important;
  }
}


/* Workshop Pro 5.7.0-rc1.28.28 — Global Focus Mode
   Focus is a shell-level workspace preference. Pages keep their own sensible
   internal max-widths, while the application navigation can be collapsed from
   anywhere and restored with one persistent topbar control. */
.global-focus-toggle{display:inline-flex!important;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 12px!important;background:#ffffff12!important;color:#eaf2ff!important;border:1px solid #ffffff20!important;white-space:nowrap}
.global-focus-toggle:hover{background:#ffffff1d!important}.global-focus-toggle[aria-pressed="true"]{background:#17365f!important;border-color:#31567f!important;color:#fff!important}.global-focus-icon{font-size:1rem;line-height:1}.global-focus-label{margin:0!important;color:inherit!important;font-size:.78rem!important;font-weight:850}
html body #app.app-shell.global-focus-mode{grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:none!important}
html body #app.app-shell.global-focus-mode .app-sidebar{width:0!important;min-width:0!important;max-width:0!important;transform:translateX(-105%)!important;visibility:hidden!important;overflow:hidden!important;pointer-events:none!important}
html body #app.app-shell.global-focus-mode .app-content{width:100%!important;min-width:0!important;max-width:none!important;margin-left:0!important;grid-column:1/-1!important}
html body #app.app-shell.global-focus-mode .app-content main{width:100%!important;max-width:none!important;margin:0!important;padding-left:22px!important;padding-right:22px!important}
/* Readability remains page-owned: forms/cards with their own max-width continue to use it. */
html body #app.app-shell.global-focus-mode .topbar{width:100%!important}
html body #app.app-shell.global-focus-mode .menu-toggle{display:none!important}
.app-shell,.app-sidebar,.app-content{transition:grid-template-columns .2s ease,transform .2s ease,margin-left .2s ease,width .2s ease}
@media(max-width:980px){
 html body #app.app-shell.global-focus-mode .app-content main{padding-left:16px!important;padding-right:16px!important}
 .global-focus-toggle{min-width:42px;padding:8px 10px!important}
 .global-focus-toggle .global-focus-label{display:none}
}
@media(max-width:700px){
 html body #app.app-shell.global-focus-mode .app-content main{padding-left:13px!important;padding-right:13px!important}
 .global-focus-toggle{min-width:38px;min-height:38px;padding:7px!important}
}


/* Workshop Pro 5.7.0-rc1.28.29 — Walk Ins UI Polish */
.walk-ins-view{max-width:none!important;margin:0!important}
.walk-in-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
.walk-in-title-line{display:flex;align-items:center;gap:14px}.walk-in-title-line h1{margin:0;font-size:1.9rem;line-height:1.08}.walk-in-title-line p{margin:6px 0 0;color:var(--muted)}
.walk-in-title-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:linear-gradient(145deg,#1f74ff,#0e55ce);color:#fff;font-size:1.35rem;box-shadow:0 10px 26px #1264f43d}
.walk-in-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.walk-in-head-actions button{min-height:44px;padding:10px 16px}.walk-in-same-day-badge{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border-radius:999px;border:1px solid #2d6aa8;background:#0e3157;color:#bfe0ff;font-size:.76rem;font-weight:850;letter-spacing:.025em;white-space:nowrap}
.walk-in-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.walk-in-summary-card{min-width:0;display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 8px 25px #00000012}.walk-in-summary-card .walk-in-summary-icon{display:grid!important;place-items:center!important;width:48px;height:48px;min-width:48px;min-height:48px;padding:0!important;margin:0!important;border-radius:13px;background:var(--accent-soft);color:#5da7ff;line-height:0!important;text-align:center;overflow:hidden}.walk-in-summary-card .walk-in-summary-icon svg{display:block!important;width:20px;height:20px;margin:0!important;padding:0!important;transform:none!important;overflow:visible;fill:none;stroke:currentColor;stroke-width:2.35;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.walk-in-summary-card.total .walk-in-summary-icon svg{fill:currentColor;stroke:none}.walk-in-summary-card strong,.walk-in-summary-card span{display:block}.walk-in-summary-card .walk-in-summary-icon{display:grid!important}.walk-in-summary-card strong{font-size:1.45rem;line-height:1;color:var(--text)}.walk-in-summary-card div>span{margin-top:5px;font-size:.8rem;font-weight:800;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.walk-in-summary-card.ready .walk-in-summary-icon{background:#123f31;color:#67d9a0}.walk-in-summary-card.waiting .walk-in-summary-icon{background:#463712;color:#ffd36d}.walk-in-summary-card.risk .walk-in-summary-icon{background:#4b2025;color:#ff929d}
.walk-in-list-card{padding:15px!important;overflow:hidden}.walk-in-toolbar{display:grid;grid-template-columns:minmax(320px,1fr) 170px 200px;gap:10px;align-items:end;padding-bottom:14px;border-bottom:1px solid var(--line)}
.walk-in-toolbar label{margin:0;gap:5px}.walk-in-filter-field>span{font-size:.69rem;letter-spacing:.055em;text-transform:uppercase;color:var(--muted);font-weight:850}.walk-in-toolbar input,.walk-in-toolbar select{height:46px!important;margin:0!important;border:1px solid var(--line)!important;background:var(--input-bg)!important;color:var(--text)!important;box-shadow:none!important}.walk-in-toolbar input:focus,.walk-in-toolbar select:focus{border-color:#428df4!important;box-shadow:0 0 0 3px #1464f427!important;outline:none}.walk-in-toolbar input::placeholder{color:var(--muted)!important;opacity:.95}
.walk-in-search-field{position:relative}.walk-in-search-field input{padding-left:42px!important;padding-top:17px!important}.walk-in-search-field .walk-in-search-icon{position:absolute;left:14px;top:23px;z-index:1;color:var(--muted);font-size:1.15rem}.walk-in-search-field small{position:absolute;left:42px;top:5px;font-size:.61rem;font-weight:850;letter-spacing:.045em;text-transform:uppercase;color:#7290b1;pointer-events:none}
.walk-in-list{display:grid;gap:9px;padding-top:12px}.walk-in-job{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:15px 16px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft);cursor:pointer;transition:border-color .15s ease,transform .15s ease,background .15s ease}.walk-in-job:hover,.walk-in-job:focus-visible{border-color:#347fd1;background:var(--surface);transform:translateY(-1px);outline:none}.walk-in-job.is-at-risk{border-color:#9d4e57}.walk-in-job-kicker{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.walk-in-job-number{font-size:.72rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase;color:#6faeff}.walk-in-risk-badge{padding:3px 7px;border-radius:999px;background:#4b2025;color:#ffb0b7;font-size:.65rem;font-weight:850}.walk-in-job h3{margin:5px 0 1px;font-size:1rem}.walk-in-device{font-size:.86rem;font-weight:750;color:var(--text)}.walk-in-fault{margin:4px 0 8px;color:var(--muted);font-size:.83rem;line-height:1.35}.walk-in-job-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.75rem}.walk-in-job-side{display:grid;grid-template-columns:auto auto;gap:7px 13px;align-items:center;min-width:225px}.walk-in-status{grid-column:1/-1;justify-self:end;padding:5px 9px;border-radius:999px;border:1px solid #36516d;background:#14283e;color:#c9d8e8;font-size:.69rem;font-weight:850;white-space:nowrap}.walk-in-status.progress{background:#15375d;border-color:#2e6eaf;color:#baddff}.walk-in-status.ready{background:#153d30;border-color:#2a7255;color:#9ce2bc}.walk-in-status.waiting{background:#493917;border-color:#876c2c;color:#ffe09a}.walk-in-status.cancelled{background:#452226;border-color:#7f4148;color:#ffadb5}.walk-in-status.collected{background:#263442;border-color:#4b6379;color:#c4d1dc}.walk-in-money{text-align:right}.walk-in-money span{display:block;color:var(--muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.045em}.walk-in-money strong{display:block;margin-top:1px;font-size:.88rem}.walk-in-open{grid-column:1/-1;justify-self:end;color:#6faeff;font-size:.72rem;font-weight:800}
.walk-in-empty{display:grid;place-items:center;text-align:center;padding:42px 20px 38px;color:var(--muted)}.walk-in-empty-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--accent-soft);color:#5aa4ff;font-size:1.45rem;margin-bottom:12px}.walk-in-empty strong{font-size:1.05rem;color:var(--text)}.walk-in-empty p{max-width:440px;margin:6px auto 15px;font-size:.84rem;line-height:1.45}.walk-in-empty button{min-width:150px}
html[data-theme="light"] .walk-in-same-day-badge{background:#eaf4ff;border-color:#b7d8fb;color:#145b9e}html[data-theme="light"] .walk-in-summary-card.ready .walk-in-summary-icon{background:#e8f8ef;color:#167448}html[data-theme="light"] .walk-in-summary-card.waiting .walk-in-summary-icon{background:#fff5d9;color:#946500}html[data-theme="light"] .walk-in-summary-card.risk .walk-in-summary-icon{background:#fff0f1;color:#b63340}html[data-theme="light"] .walk-in-status{background:#eef3f8;border-color:#ced9e5;color:#42566d}html[data-theme="light"] .walk-in-status.progress{background:#eaf4ff;border-color:#b7d8fb;color:#145b9e}html[data-theme="light"] .walk-in-status.ready{background:#e8f8ef;border-color:#b8e3ca;color:#176640}html[data-theme="light"] .walk-in-status.waiting{background:#fff6df;border-color:#e8cf87;color:#7d5800}html[data-theme="light"] .walk-in-status.cancelled{background:#fff0f1;border-color:#edc0c4;color:#9b2934}html[data-theme="light"] .walk-in-status.collected{background:#f0f3f7;border-color:#d4dce5;color:#526274}
@media(max-width:1050px){.walk-in-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.walk-in-toolbar{grid-template-columns:minmax(260px,1fr) 150px 170px}.walk-in-job-side{min-width:205px}}
@media(max-width:760px){.walk-in-head{align-items:flex-start;flex-direction:column}.walk-in-head-actions{width:100%;justify-content:space-between}.walk-in-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.walk-in-toolbar{grid-template-columns:1fr}.walk-in-job{grid-template-columns:1fr}.walk-in-job-side{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.walk-in-status{justify-self:start}.walk-in-money{text-align:left}.walk-in-open{justify-self:start}.walk-in-list-card{padding:12px!important}}
@media(max-width:460px){.walk-in-summary{grid-template-columns:1fr}.walk-in-head-actions{align-items:stretch;flex-direction:column}.walk-in-head-actions button{width:100%}.walk-in-same-day-badge{justify-content:center}.walk-in-title-line h1{font-size:1.65rem}}


/* Workshop Pro 5.7.0-rc1.28.30 — Warranty Defaults UI Polish */
#warrantyRulesDialog{width:min(980px,calc(100vw - 40px));max-height:min(860px,calc(100dvh - 32px));border:0;border-radius:20px;box-shadow:0 24px 70px #00000066}
#warrantyRulesDialog::backdrop{background:rgba(3,11,24,.72);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
#warrantyRulesDialog>.crm-modal{max-height:min(860px,calc(100dvh - 32px));padding:0;background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow-y:auto}
#warrantyRulesDialog .modal-head{top:0;padding:22px 24px 18px;margin:0;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#warrantyRulesDialog .modal-head h2{margin:0;font-size:1.45rem;letter-spacing:-.02em}
#warrantyRulesDialog .modal-head p{margin:7px 42px 0 0;color:var(--muted);font-size:.88rem;line-height:1.45;max-width:680px}
#warrantyRulesDialog .modal-head .icon{position:absolute;right:20px;top:19px;width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:var(--surface-soft);color:var(--text);font-size:1.45rem;line-height:1}
#warrantyRulesDialog .modal-head .icon:hover{border-color:#3f86d9;background:var(--accent-soft)}
#warrantyRulesDialog #warrantyRulesList{gap:10px;padding:16px 20px 14px}
#warrantyRulesDialog .warranty-rule{display:grid;grid-template-columns:minmax(250px,1.4fr) minmax(180px,.75fr) minmax(150px,.55fr) auto;gap:18px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);box-shadow:none;transition:border-color .15s ease,background .15s ease}
#warrantyRulesDialog .warranty-rule:hover{border-color:color-mix(in srgb,#3989e8 50%,var(--line));background:color-mix(in srgb,var(--surface-soft) 88%,#3989e8 12%)}
#warrantyRulesDialog .warranty-rule.is-inactive{opacity:.78}
#warrantyRulesDialog .warranty-rule-info{min-width:0}
#warrantyRulesDialog .warranty-rule-title-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:5px}
#warrantyRulesDialog .warranty-rule-title-row strong{font-size:.98rem;color:var(--text)}
#warrantyRulesDialog .warranty-rule-info>span{display:block;color:var(--muted);font-size:.78rem;line-height:1.35;overflow-wrap:anywhere}
#warrantyRulesDialog .warranty-rule-state{display:inline-flex!important;align-items:center;width:auto!important;padding:3px 7px;border-radius:999px;border:1px solid #2f745a;background:#133d30;color:#9ce3be!important;font-size:.64rem!important;font-weight:850;letter-spacing:.035em;text-transform:uppercase}
#warrantyRulesDialog .is-inactive .warranty-rule-state{border-color:var(--line);background:var(--surface);color:var(--muted)!important}
#warrantyRulesDialog .warranty-months-field{display:block;margin:0;min-width:0}
#warrantyRulesDialog .warranty-months-field>span{display:block;margin-bottom:6px;color:var(--muted);font-size:.68rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
#warrantyRulesDialog .warranty-months-control{display:grid;grid-template-columns:minmax(0,86px) auto;align-items:center;gap:8px}
#warrantyRulesDialog .warranty-months-control input{width:100%!important;height:42px!important;margin:0!important;padding:8px 10px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:var(--input-bg)!important;color:var(--text)!important;font-weight:800!important;box-shadow:none!important}
#warrantyRulesDialog .warranty-months-control input:focus{border-color:#3b88e5!important;box-shadow:0 0 0 3px #1f73da2b!important;outline:none!important}
#warrantyRulesDialog .warranty-months-control>span{color:var(--muted);font-size:.78rem;font-weight:700}
#warrantyRulesDialog .warranty-active-toggle{display:flex;align-items:center;gap:9px;margin:0;color:var(--text);font-size:.78rem;font-weight:800;white-space:nowrap;cursor:pointer}
#warrantyRulesDialog .warranty-active-toggle input{position:absolute;opacity:0;pointer-events:none}
#warrantyRulesDialog .warranty-toggle-ui{position:relative;display:inline-block;width:42px;height:24px;flex:0 0 42px;border-radius:999px;background:#3a4857;border:1px solid #506174;transition:.15s ease}
#warrantyRulesDialog .warranty-toggle-ui::after{content:"";position:absolute;width:18px;height:18px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0004;transition:.15s ease}
#warrantyRulesDialog .warranty-active-toggle input:checked+.warranty-toggle-ui{background:#1686ef;border-color:#2898ff}
#warrantyRulesDialog .warranty-active-toggle input:checked+.warranty-toggle-ui::after{transform:translateX(18px)}
#warrantyRulesDialog .warranty-active-toggle input:focus-visible+.warranty-toggle-ui{box-shadow:0 0 0 3px #268df035}
#warrantyRulesDialog .warranty-save-btn{height:42px;min-width:112px;padding:8px 13px;white-space:nowrap}
#warrantyRulesDialog .warranty-rules-footer{bottom:0;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:14px 20px 18px;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#warrantyRulesDialog .warranty-rules-footer .warranty-rules-hint{color:var(--muted);font-size:.75rem}
#warrantyRulesDialog .warranty-rules-footer button{min-width:94px}
html[data-theme="light"] #warrantyRulesDialog .warranty-rule-state{background:#e9f7ef;border-color:#b8e1ca;color:#16653f!important}
html[data-theme="light"] #warrantyRulesDialog .warranty-toggle-ui{background:#d9e0e8;border-color:#c3cdd8}
html[data-theme="light"] #warrantyRulesDialog .warranty-months-control input{background:#fff!important;color:#122033!important;border-color:#c9d4df!important}
@media(max-width:900px){#warrantyRulesDialog .warranty-rule{grid-template-columns:minmax(220px,1fr) minmax(170px,.8fr) auto}#warrantyRulesDialog .warranty-active-toggle{grid-column:2}#warrantyRulesDialog .warranty-save-btn{grid-column:3;grid-row:1/-1;align-self:center}}
@media(max-width:700px){#warrantyRulesDialog{width:100vw;height:100dvh;max-height:none;margin:0;border-radius:0}#warrantyRulesDialog>.crm-modal{height:100dvh;max-height:none;border-radius:0;border:0}#warrantyRulesDialog .modal-head{padding:18px 18px 14px}#warrantyRulesDialog .modal-head .icon{right:16px;top:15px}#warrantyRulesDialog #warrantyRulesList{padding:12px 14px}#warrantyRulesDialog .warranty-rule{grid-template-columns:1fr 1fr;gap:13px;padding:14px}#warrantyRulesDialog .warranty-rule-info{grid-column:1/-1}#warrantyRulesDialog .warranty-active-toggle{grid-column:1}#warrantyRulesDialog .warranty-save-btn{grid-column:2;grid-row:auto;width:100%}#warrantyRulesDialog .warranty-rules-footer{padding:12px 14px 16px}}
@media(max-width:460px){#warrantyRulesDialog .warranty-rule{grid-template-columns:1fr}#warrantyRulesDialog .warranty-active-toggle,#warrantyRulesDialog .warranty-save-btn{grid-column:1}#warrantyRulesDialog .warranty-rules-footer{align-items:stretch;flex-direction:column}#warrantyRulesDialog .warranty-rules-footer button{width:100%}}


/* Workshop Pro 5.7.0-rc1.28.31 — New Customer modal UI polish */
#customerDialog{width:min(960px,calc(100vw - 36px));max-height:min(900px,calc(100dvh - 28px));border:0;border-radius:20px;padding:0;background:transparent;box-shadow:0 28px 80px rgba(0,0,0,.52)}
#customerDialog::backdrop{background:rgba(2,9,20,.76);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
#customerDialog>.customer-form-modal{display:flex;flex-direction:column;width:100%;max-height:min(900px,calc(100dvh - 28px));padding:0;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--text)}
#customerDialog .customer-form-head{position:relative;z-index:4;flex:0 0 auto;margin:0;padding:22px 24px 18px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 95%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#customerDialog .customer-form-kicker{display:block;margin:0 0 5px;color:#66adff;font-size:.64rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
#customerDialog .customer-form-head h2{margin:0;font-size:1.5rem;letter-spacing:-.025em}
#customerDialog .customer-form-head p{margin:6px 48px 0 0;color:var(--muted);font-size:.86rem;line-height:1.45}
#customerDialog .customer-form-head .icon{position:absolute;top:18px;right:20px;width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);color:var(--text);font-size:1.4rem;line-height:1}
#customerDialog .customer-form-head .icon:hover{border-color:#438fe8;background:var(--accent-soft)}
#customerDialog .customer-form-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 22px 26px;scroll-padding-bottom:110px}
#customerDialog .customer-form-section{padding:0 0 20px;margin:0 0 20px;border-bottom:1px solid var(--line)}
#customerDialog .customer-form-section:last-child{padding-bottom:4px;margin-bottom:0;border-bottom:0}
#customerDialog .customer-form-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 13px}
#customerDialog .customer-form-section-head>div>span{display:block;margin-bottom:3px;color:#69afff;font-size:.62rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
#customerDialog .customer-form-section-head h3{margin:0;color:var(--text);font-size:.96rem;letter-spacing:-.01em}
#customerDialog .customer-form-section-head>p{max-width:450px;margin:0;color:var(--muted);font-size:.72rem;line-height:1.4;text-align:right}
#customerDialog .customer-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 14px;margin:0}
#customerDialog .customer-form-grid>label{display:block;min-width:0;margin:0;color:var(--text);font-size:.74rem;font-weight:800}
#customerDialog .customer-form-grid>label.full{grid-column:1/-1}
#customerDialog .field-optional{margin-left:5px;color:var(--muted);font-size:.64rem;font-weight:700}
#customerDialog .customer-form-grid input,#customerDialog .customer-form-grid select,#customerDialog .customer-form-grid textarea{display:block;width:100%;min-width:0;margin-top:7px!important;border:1px solid var(--input-border,var(--line))!important;border-radius:11px!important;background:var(--input-bg)!important;color:var(--input-text,var(--text))!important;font:inherit!important;font-size:.86rem!important;font-weight:650!important;box-shadow:none!important;outline:none!important}
#customerDialog .customer-form-grid input,#customerDialog .customer-form-grid select{height:46px!important;padding:9px 12px!important}
#customerDialog .customer-form-grid textarea{min-height:88px!important;max-height:180px;padding:11px 12px!important;resize:vertical}
#customerDialog .customer-form-grid input::placeholder,#customerDialog .customer-form-grid textarea::placeholder{color:var(--input-placeholder,var(--muted))!important;opacity:.76!important;font-weight:550!important}
#customerDialog .customer-form-grid input:focus,#customerDialog .customer-form-grid select:focus,#customerDialog .customer-form-grid textarea:focus{border-color:#3d91ef!important;box-shadow:0 0 0 3px rgba(41,137,236,.22)!important}
#customerDialog .customer-form-profile .customer-form-grid>label{padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft)}
#customerDialog .customer-form-profile .customer-form-grid select{margin-top:6px!important}
#customerDialog .customer-company-field{transition:opacity .15s ease,border-color .15s ease}
#customerDialog #customerForm:not(.is-business-customer) .customer-company-field{opacity:.84}
#customerDialog #customerForm.is-business-customer .customer-company-field{opacity:1}
#customerDialog #customerForm.is-business-customer .customer-company-field input{border-color:color-mix(in srgb,#4094ef 45%,var(--line))!important}
#customerDialog .customer-form-footer{position:relative;z-index:5;display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto;margin:0!important;padding:14px 22px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px)}
#customerDialog .customer-form-footer-hint{margin-right:auto;color:var(--muted);font-size:.7rem;line-height:1.35}
#customerDialog .customer-form-footer button{min-width:110px;height:43px;margin:0}
#customerDialog .customer-save-btn{min-width:145px!important}
#customerDialog .customer-form-error{flex:0 0 auto;margin:0;padding:0 22px;background:var(--surface)}
#customerDialog .customer-form-error:not(:empty){padding:10px 22px 14px;border-top:1px solid var(--line)}
html[data-theme="light"] #customerDialog>.customer-form-modal{background:#f8fbff;color:#132033;border-color:#d3dee9}
html[data-theme="light"] #customerDialog .customer-form-head,html[data-theme="light"] #customerDialog .customer-form-footer{background:rgba(248,251,255,.96);border-color:#d3dee9}
html[data-theme="light"] #customerDialog .customer-form-section{border-color:#dbe4ed}
html[data-theme="light"] #customerDialog .customer-form-profile .customer-form-grid>label{background:#f0f5fa;border-color:#d5e0eb}
html[data-theme="light"] #customerDialog .customer-form-grid input,html[data-theme="light"] #customerDialog .customer-form-grid select,html[data-theme="light"] #customerDialog .customer-form-grid textarea{background:#fff!important;color:#132033!important;border-color:#c8d5e2!important;-webkit-text-fill-color:#132033!important}
html[data-theme="light"] #customerDialog .customer-form-grid input::placeholder,html[data-theme="light"] #customerDialog .customer-form-grid textarea::placeholder{color:#73849a!important;-webkit-text-fill-color:#73849a!important}
html:not([data-theme="light"]) #customerDialog .customer-form-grid input,html:not([data-theme="light"]) #customerDialog .customer-form-grid select,html:not([data-theme="light"]) #customerDialog .customer-form-grid textarea{background:#f8fafc!important;color:#142033!important;border-color:#c9d5e2!important;-webkit-text-fill-color:#142033!important}
html:not([data-theme="light"]) #customerDialog .customer-form-grid input::placeholder,html:not([data-theme="light"]) #customerDialog .customer-form-grid textarea::placeholder{color:#718197!important;-webkit-text-fill-color:#718197!important}
@media(max-width:820px){#customerDialog{width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 18px)}#customerDialog>.customer-form-modal{max-height:calc(100dvh - 18px)}#customerDialog .customer-form-head{padding:19px 20px 16px}#customerDialog .customer-form-body{padding:15px 18px 22px}#customerDialog .customer-form-section-head{align-items:flex-start;flex-direction:column;gap:5px}#customerDialog .customer-form-section-head>p{max-width:none;text-align:left}#customerDialog .customer-form-footer{padding-left:18px;padding-right:18px}#customerDialog .customer-form-footer-hint{display:none}}
@media(max-width:640px){#customerDialog{width:100vw;height:100dvh;max-height:none;margin:0;border-radius:0}#customerDialog>.customer-form-modal{height:100dvh;max-height:none;border:0;border-radius:0}#customerDialog .customer-form-grid{grid-template-columns:1fr}#customerDialog .customer-form-grid>label.full{grid-column:1}#customerDialog .customer-form-footer{gap:8px}#customerDialog .customer-form-footer button{flex:1 1 0;min-width:0}#customerDialog .customer-save-btn{min-width:0!important}}
@media(max-height:650px){#customerDialog .customer-form-head{padding-top:14px;padding-bottom:12px}#customerDialog .customer-form-head p{display:none}#customerDialog .customer-form-section{padding-bottom:14px;margin-bottom:14px}#customerDialog .customer-form-body{padding-top:12px}}


/* Workshop Pro 5.7.0-rc1.28.32 — POS repair quick access */
.pos-counter-shortcuts{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px}
.pos-counter-shortcuts>button{min-height:42px;white-space:nowrap}
.pos-counter-shortcuts .pos-repair-shortcut{border-color:color-mix(in srgb,#3d91ef 38%,var(--line));background:color-mix(in srgb,var(--surface-soft) 86%,#2584ee 14%)}
.pos-counter-shortcuts .pos-repair-shortcut:hover{border-color:#4095f1;background:color-mix(in srgb,var(--surface-soft) 72%,#2584ee 28%)}
.pos-return-shortcut{border-color:color-mix(in srgb,#3d91ef 40%,var(--line))!important}
#app.global-focus-mode #repairs .title{align-items:center}
#app.global-focus-mode #repairs .pos-return-shortcut{display:inline-flex;align-items:center}
html[data-theme="light"] .pos-counter-shortcuts .pos-repair-shortcut{background:#eef6ff;border-color:#b9d7f7;color:#174c82}
html[data-theme="light"] .pos-counter-shortcuts .pos-repair-shortcut:hover{background:#e0efff;border-color:#80b8ef}
@media(max-width:1100px){.pos-head{align-items:flex-start}.pos-counter-shortcuts{max-width:620px}.pos-counter-shortcuts>button{padding-inline:12px}}
@media(max-width:760px){.pos-counter-shortcuts{justify-content:flex-start;width:100%}.pos-counter-shortcuts>button{flex:1 1 auto}.repair-create-actions{display:flex;flex-wrap:wrap}.repair-create-actions .pos-return-shortcut{order:-1}}


/* Workshop Pro 5.7.0-rc1.28.34 — Repair jobs visual polish */
.repairs-view{--repair-blue:#2f8cff;--repair-teal:#20b9ab;--repair-amber:#f2a20b;--repair-purple:#8259ea}
.repair-page-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}.repair-page-title{display:flex;align-items:center;gap:13px}.repair-page-title h1{margin:0;font-size:1.8rem;letter-spacing:-.025em}.repair-page-title p{margin:5px 0 0;color:var(--muted)}.repair-title-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:color-mix(in srgb,var(--accent-soft) 78%,#2e8cff 22%);color:#55a7ff;font-size:1.25rem;border:1px solid color-mix(in srgb,var(--line) 70%,#2e8cff 30%)}
.repair-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.repair-summary-card{min-width:0;display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 8px 25px #00000012}.repair-summary-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#1b5fb8;color:#fff;font-size:1.3rem}.repair-summary-card strong{display:block;font-size:1.45rem;line-height:1;color:var(--text)}.repair-summary-card span:not(.repair-summary-icon){display:block;margin-top:5px;font-weight:800;color:var(--text);white-space:nowrap}.repair-summary-card small{display:block;margin-top:3px;color:var(--muted);font-size:.75rem}.repair-summary-card.progress .repair-summary-icon{background:#118d82}.repair-summary-card.ready .repair-summary-icon{background:#b97605}.repair-summary-card.completed .repair-summary-icon{background:#6748bd}.repair-summary-card.booked .repair-summary-icon{background:#2465bd}
.repair-list-card{padding:14px}.repair-toolbar{display:grid;grid-template-columns:minmax(360px,1fr) 180px 220px;gap:12px;align-items:end;margin-bottom:14px}.repair-toolbar label{margin:0}.repair-search-field{position:relative}.repair-search-field input{height:50px;padding:10px 14px 10px 46px}.repair-search-field small{display:none}.repair-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);z-index:2;color:var(--muted);font-size:1.25rem}.repair-filter-field>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.repair-filter-field select{height:50px;font-weight:750}
.repair-list{display:grid;gap:8px}.repair-job{position:relative;display:grid;grid-template-columns:4px 46px minmax(0,1fr) auto;gap:14px;align-items:center;min-height:76px;padding:11px 14px 11px 0;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);overflow:hidden;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease}.repair-job:hover,.repair-job:focus-visible{transform:translateY(-1px);border-color:color-mix(in srgb,var(--line) 45%,#4e9cff 55%);background:color-mix(in srgb,var(--surface-soft) 90%,#2d89f5 10%);outline:none}.repair-job-accent{align-self:stretch;background:#2f8cff;border-radius:0 4px 4px 0}.repair-status-diagnosing .repair-job-accent,.repair-status-progress .repair-job-accent{background:#18a99b}.repair-status-ready .repair-job-accent{background:#e29608}.repair-status-completed .repair-job-accent{background:#7852d7}.repair-status-cancelled .repair-job-accent{background:#b14f64}.repair-status-waiting .repair-job-accent{background:#e29608}.repair-device-icon{width:42px;height:42px;display:grid;place-items:center;border:2px solid #337fda;border-radius:50%;color:#57a7ff;font-size:1.3rem;background:color-mix(in srgb,var(--surface) 84%,#1b74dc 16%)}.repair-status-diagnosing .repair-device-icon,.repair-status-progress .repair-device-icon{border-color:#199d92;color:#37cbbd}.repair-status-ready .repair-device-icon{border-color:#bf7e08;color:#f1ae29}.repair-status-completed .repair-device-icon{border-color:#7554c8;color:#9c7be9}.repair-job-main{min-width:0}.repair-job-title{display:flex;align-items:center;gap:8px;min-width:0}.repair-job-title strong{font-size:.98rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.repair-job-device{margin-top:3px;color:var(--muted);font-size:.83rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.repair-job-meta{display:flex;flex-wrap:wrap;gap:0;margin-top:4px;color:var(--muted);font-size:.78rem}.repair-job-meta span+span:before{content:'·';margin:0 8px;color:color-mix(in srgb,var(--muted) 55%,transparent)}.repair-job-side{display:grid;grid-template-columns:auto 20px;column-gap:10px;align-items:center;justify-items:end;min-width:160px}.repair-job-side small{grid-column:1/2;margin-top:4px;color:var(--muted);font-size:.7rem}.repair-status-pill{display:inline-flex;align-items:center;border-radius:99px;padding:5px 10px;font-size:.72rem;font-weight:850;background:#235ba5;color:#eef7ff}.repair-status-pill.diagnosing,.repair-status-pill.progress{background:#087b72;color:#e5fffb}.repair-status-pill.ready{background:#9a6300;color:#fff6dc}.repair-status-pill.completed{background:#6542bd;color:#f5efff}.repair-status-pill.cancelled{background:#873e50;color:#fff0f4}.repair-status-pill.waiting{background:#8b6505;color:#fff5d6}.repair-open-chevron{grid-column:2;grid-row:1/3;color:var(--text);font-size:2rem;font-weight:300;line-height:1}.repair-empty-state{padding:55px 20px;text-align:center;color:var(--muted)}.repair-empty-state>span{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 12px;border-radius:50%;background:var(--surface-soft);font-size:1.3rem}.repair-empty-state strong{display:block;color:var(--text);font-size:1rem}.repair-empty-state p{margin:5px 0 0}
html[data-theme="dark"] .repairs-view input,html[data-theme="dark"] .repairs-view select{background:#f8fafc!important;color:#152338!important;border-color:#b9c8d8!important}html[data-theme="dark"] .repairs-view input::placeholder{color:#708198!important}html[data-theme="light"] .repair-job{background:#fff}html[data-theme="light"] .repair-summary-card{background:#fff}html[data-theme="light"] .repair-list-card{background:#f8fbff}
@media(max-width:1180px){.repair-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.repair-toolbar{grid-template-columns:minmax(280px,1fr) 170px 210px}}
@media(max-width:820px){.repair-page-head{align-items:flex-start}.repair-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.repair-toolbar{grid-template-columns:1fr 1fr}.repair-search-field{grid-column:1/-1}.repair-job{grid-template-columns:4px 42px minmax(0,1fr)}.repair-job-side{grid-column:3;grid-row:2;display:flex;justify-content:flex-start;align-items:center;min-width:0}.repair-open-chevron{margin-left:auto}.repair-job-side small{margin:0}.repair-job-main{grid-column:3}}
@media(max-width:560px){.repair-page-head{flex-direction:column}.repair-create-actions{width:100%}.repair-create-actions button{flex:1}.repair-summary{grid-template-columns:1fr}.repair-toolbar{grid-template-columns:1fr}.repair-search-field{grid-column:auto}.repair-job{grid-template-columns:4px minmax(0,1fr);padding-right:10px}.repair-device-icon{display:none}.repair-job-main{grid-column:2}.repair-job-side{grid-column:2}.repair-job-title strong,.repair-job-device{white-space:normal}.repair-job-meta{gap:4px 0}}


/* Workshop Pro 5.7.0-rc1.28.35 — Repair status colour refinement */
/* Ready for Collection: green = completed workshop work / customer action */
.repair-summary-card.ready .repair-summary-icon{background:#16834a;color:#f2fff7}
.repair-status-ready .repair-job-accent{background:#24a864}
.repair-status-ready .repair-device-icon{border-color:#24945b;color:#43c779;background:color-mix(in srgb,var(--surface) 84%,#169454 16%)}
.repair-status-pill.ready{background:#167343;color:#effff6;border:1px solid #2e9d62}

/* Diagnosing: amber = investigation / attention */
.repair-status-diagnosing .repair-job-accent{background:#e59a13}
.repair-status-diagnosing .repair-device-icon{border-color:#c9840c;color:#f1ae35;background:color-mix(in srgb,var(--surface) 84%,#ca830d 16%)}
.repair-status-pill.diagnosing{background:#956008;color:#fff8e7;border:1px solid #c9840c}

html[data-theme="light"] .repair-status-pill.ready{background:#e8f8ef;color:#12663d;border-color:#70bd91}
html[data-theme="light"] .repair-status-pill.diagnosing{background:#fff3d7;color:#7a4d00;border-color:#e0a93f}


/* Workshop Pro 5.7.0-rc1.28.36 — simplified repair workflow */
.repair-workflow-command{margin-bottom:10px}.repair-workflow-command-state{display:flex;align-items:center;gap:10px}.repair-workflow-command-state>span{padding:7px 11px;border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 46%,var(--line));font-weight:850;color:var(--text)}
.repair-lifecycle-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 14px}.repair-lifecycle-step{position:relative;display:flex;align-items:center;gap:9px;min-height:48px;padding:9px 11px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft);color:var(--muted)}.repair-lifecycle-step span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--surface);border:1px solid var(--line);font-weight:900;font-size:.78rem}.repair-lifecycle-step strong{font-size:.78rem}.repair-lifecycle-step.is-current{border-color:#317cc4;background:color-mix(in srgb,var(--surface) 88%,#2d7ecb 12%);color:var(--text)}.repair-lifecycle-step.is-current span{background:#1769aa;border-color:#318bd3;color:#fff}.repair-lifecycle-step.is-done{border-color:#2d8359;background:color-mix(in srgb,var(--surface) 90%,#16894e 10%);color:var(--text)}.repair-lifecycle-step.is-done span{background:#177c48;border-color:#32a267;color:#fff}
.repair-workflow-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0}.repair-workflow-status{display:grid;gap:3px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.repair-workflow-status span{font-size:.69rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em;color:var(--muted)}.repair-workflow-status strong{font-size:.93rem}.repair-workflow-status.paid,.repair-workflow-status.collected,.repair-workflow-status.ready{border-color:#337d5c;background:color-mix(in srgb,var(--surface) 91%,#16894e 9%)}.repair-workflow-status.unpaid{border-color:#8c6720;background:color-mix(in srgb,var(--surface) 92%,#d18b0e 8%)}.repair-workflow-status.part-paid{border-color:#6b63a7;background:color-mix(in srgb,var(--surface) 92%,#655bc0 8%)}
.repair-complete-badge{display:inline-flex;align-items:center;padding:9px 12px;border-radius:10px;background:#176f44;color:#fff;font-weight:850}.repair-lifecycle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.lifecycle-stage-card{border-color:var(--line);min-height:220px}.lifecycle-stage-card.is-current{border-color:#307cc4;box-shadow:inset 3px 0 #2d83d1}.lifecycle-stage-card.is-complete{border-color:#347e5c;box-shadow:inset 3px 0 #24915a}.lifecycle-stage-head{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;margin-bottom:14px}.lifecycle-stage-head>span{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--surface-soft);border:1px solid var(--line);font-weight:900}.lifecycle-stage-head h3{margin:0 0 3px}.lifecycle-stage-head p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.35}.lifecycle-stage-head b{font-size:.72rem;color:#54c488;white-space:nowrap}.lifecycle-stage-card form{display:grid;gap:10px}.lifecycle-stage-meta{padding:10px 12px;border-radius:10px;background:var(--surface-soft);color:var(--muted)}.invoice-confirm-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.invoice-confirm-summary>div{padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.invoice-confirm-summary span{display:block;color:var(--muted);font-size:.67rem;text-transform:uppercase}.invoice-confirm-summary strong{display:block;margin-top:3px;font-size:.86rem}.lifecycle-stage-card button:disabled{opacity:.45;cursor:not-allowed}
.repair-handover-grid,.repair-notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.repair-section-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.repair-section-title h3{margin:2px 0 3px}.repair-section-title p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.4}.payment-state,.collection-state,.customer-visible-chip{padding:5px 9px;border-radius:999px;border:1px solid var(--line);background:var(--surface-soft);font-size:.7rem;font-weight:850;white-space:nowrap}.payment-state.paid,.collection-state.collected,.collection-state.ready-for-collection{background:#153d30;border-color:#2a7255;color:#9ce2bc}.payment-state.unpaid{background:#493917;border-color:#876c2c;color:#ffe09a}.payment-state.part-paid{background:#312d55;border-color:#625a9b;color:#d6d0ff}.customer-visible-chip{background:#15375d;border-color:#2e6eaf;color:#baddff}.handover-value{display:grid;grid-template-columns:1fr auto;gap:7px 12px;padding:10px 0}.handover-value span{color:var(--muted);font-size:.78rem}.handover-value strong{text-align:right}.repair-payment-form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;margin-top:10px}.repair-payment-form label{margin:0}.handover-success{margin-top:10px;padding:10px;border-radius:10px;background:#153d30;color:#9ce2bc;font-weight:800}.warning-action{background:#a96f0b;color:#fff;border-color:#bd8119}.collection-warning{display:block;margin-top:8px;color:#e7b95f;line-height:1.4}.repair-note-compose{display:grid;gap:8px;margin-bottom:12px}.repair-note-compose textarea{min-height:78px}.repair-note-compose button{justify-self:start}.repair-note-list{display:grid;gap:8px;max-height:360px;overflow:auto;padding-right:2px}.repair-note-list article{padding:10px 11px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}.repair-note-list article>div{display:flex;justify-content:space-between;gap:10px}.repair-note-list article strong{font-size:.79rem}.repair-note-list article span{font-size:.67rem;color:var(--muted)}.repair-note-list article p{margin:6px 0 0;white-space:pre-wrap;font-size:.82rem;line-height:1.45}.customer-thread article.from-customer{border-color:#5571a7}.customer-thread article.from-staff{border-color:#356c53}.crm-repair-progress-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}.crm-repair-progress-meta span{padding:3px 7px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line);font-size:.66rem;color:var(--muted)}
html[data-theme="light"] .payment-state.paid,html[data-theme="light"] .collection-state.collected,html[data-theme="light"] .collection-state.ready-for-collection,html[data-theme="light"] .handover-success{background:#e8f8ef;border-color:#b8e3ca;color:#176640}html[data-theme="light"] .payment-state.unpaid{background:#fff6df;border-color:#e8cf87;color:#7d5800}html[data-theme="light"] .payment-state.part-paid{background:#f1efff;border-color:#cdc7f1;color:#534b8b}html[data-theme="light"] .customer-visible-chip{background:#eaf4ff;border-color:#b7d8fb;color:#145b9e}html[data-theme="light"] .collection-warning{color:#865b05}
@media(max-width:980px){.repair-lifecycle-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}.repair-workflow-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.repair-lifecycle-grid,.repair-handover-grid,.repair-notes-grid{grid-template-columns:1fr}.repair-payment-form{grid-template-columns:1fr 1fr}.repair-payment-form button{grid-column:1/-1}.invoice-confirm-summary{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:620px){.repair-lifecycle-stepper,.repair-workflow-status-grid{grid-template-columns:1fr}.repair-workflow-command{align-items:flex-start}.repair-workflow-command-state{width:100%;justify-content:space-between}.invoice-confirm-summary,.repair-payment-form{grid-template-columns:1fr}.repair-section-title{flex-direction:column}.repair-note-list{max-height:none}}


/* Workshop Pro 5.7.0-rc1.28.38 — simplified workflow polish */
.repair-lifecycle-grid-polished{align-items:stretch}.repair-lifecycle-grid-polished .lifecycle-stage-card{display:flex;flex-direction:column;min-height:0;padding:18px;border-radius:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 96%,var(--accent) 4%),var(--surface))}.repair-lifecycle-grid-polished .lifecycle-stage-card.is-locked{opacity:.78}.repair-lifecycle-grid-polished .lifecycle-stage-card.is-current{border-color:#398ce1;box-shadow:inset 4px 0 #2f8ee8,0 0 0 1px color-mix(in srgb,#2f8ee8 18%,transparent)}.repair-lifecycle-grid-polished .lifecycle-stage-card.is-complete{border-color:#34845f;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 94%,#168a50 6%),var(--surface));box-shadow:inset 4px 0 #24915a}
.repair-stage-badge{align-self:start;padding:5px 9px;border-radius:999px;border:1px solid var(--line);font-size:.67rem;font-weight:900;white-space:nowrap}.repair-stage-badge.current{background:#153c63;border-color:#347fc0;color:#c9e6ff}.repair-stage-badge.complete{background:#153d30;border-color:#33795a;color:#a7e7c4}.repair-stage-badge.pending{background:var(--surface-soft);color:var(--muted)}
.repair-lifecycle-grid-polished label{display:grid;gap:6px;font-size:.76rem;font-weight:800;color:var(--text)}.repair-lifecycle-grid-polished input,.repair-lifecycle-grid-polished select,.repair-lifecycle-grid-polished textarea,.repair-payment-form input,.repair-payment-form select{width:100%;background:var(--surface-soft)!important;color:var(--text)!important;border:1px solid color-mix(in srgb,var(--line) 78%,var(--text) 22%)!important;border-radius:10px;padding:10px 11px;box-shadow:none}.repair-lifecycle-grid-polished textarea{resize:vertical;min-height:92px}.repair-lifecycle-grid-polished input::placeholder,.repair-lifecycle-grid-polished textarea::placeholder{color:color-mix(in srgb,var(--muted) 82%,transparent)!important;opacity:1}.repair-lifecycle-grid-polished input:focus,.repair-lifecycle-grid-polished select:focus,.repair-lifecycle-grid-polished textarea:focus{border-color:#3b91e7!important;outline:2px solid color-mix(in srgb,#3b91e7 28%,transparent);outline-offset:0}
.repair-stage-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:10px}.repair-stage-actions>button{min-height:42px;padding:9px 16px}.repair-stage-lock{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:9px;background:color-mix(in srgb,var(--surface-soft) 88%,#d18b0e 12%);border:1px solid color-mix(in srgb,var(--line) 76%,#d18b0e 24%);color:var(--muted);font-size:.74rem;font-weight:750}.repair-stage-complete{display:grid;gap:3px;padding:12px;border:1px solid color-mix(in srgb,var(--line) 65%,#29915b 35%);border-radius:11px;background:color-mix(in srgb,var(--surface-soft) 90%,#168a50 10%)}.repair-stage-complete strong{color:var(--text)}.repair-stage-complete span,.repair-stage-complete small{color:var(--muted)}
.repair-invoice-editor{margin:0 0 10px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft);overflow:hidden}.repair-invoice-editor summary{cursor:pointer;padding:10px 12px;font-weight:850;color:var(--text);list-style:none}.repair-invoice-editor summary::-webkit-details-marker{display:none}.repair-invoice-editor[open] summary{border-bottom:1px solid var(--line)}.repair-invoice-editor form{padding:12px}.repair-inline-actions{display:flex;justify-content:flex-start}.invoice-confirm-summary{margin-bottom:10px}.invoice-confirm-summary>div{min-height:68px;display:flex;flex-direction:column;justify-content:center}
.repair-handover-grid>.card,.repair-notes-grid>.card{border-radius:16px}.repair-payment-card,.repair-collection-card{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 97%,var(--accent) 3%),var(--surface))}
html[data-theme="light"] .repair-stage-badge.current{background:#e8f3ff;border-color:#8bbdea;color:#155e9e}html[data-theme="light"] .repair-stage-badge.complete{background:#e8f8ef;border-color:#8fc9a8;color:#176640}html[data-theme="light"] .repair-lifecycle-grid-polished input,html[data-theme="light"] .repair-lifecycle-grid-polished select,html[data-theme="light"] .repair-lifecycle-grid-polished textarea,html[data-theme="light"] .repair-payment-form input,html[data-theme="light"] .repair-payment-form select{background:#fff!important;color:#142033!important;border-color:#b8c4d2!important}html[data-theme="light"] .repair-lifecycle-grid-polished input::placeholder,html[data-theme="light"] .repair-lifecycle-grid-polished textarea::placeholder{color:#718096!important}
@media(max-width:980px){.repair-lifecycle-grid-polished .lifecycle-stage-card{padding:15px}.repair-stage-actions>button{width:100%}}


/* Workshop Pro 5.7.0-rc1.28.39 — repair workflow + itemised invoice editor */
.repair-lifecycle-grid-polished{gap:14px}.repair-lifecycle-grid-polished .lifecycle-stage-card{padding:16px}.lifecycle-stage-head{align-items:flex-start}.lifecycle-stage-head h3{margin-bottom:2px}.lifecycle-stage-head p{max-width:48ch;line-height:1.45}.repair-stage-badge{margin-left:auto}.invoice-confirm-summary{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:8px}.invoice-confirm-summary>div{border-radius:10px;background:color-mix(in srgb,var(--surface-soft) 94%,var(--accent) 6%);border:1px solid var(--line);padding:9px 10px}.repair-invoice-preview{display:grid;gap:5px;margin:2px 0 10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--surface-soft) 96%,transparent)}.repair-invoice-preview>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:4px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.repair-invoice-preview>div:last-of-type{border-bottom:0}.repair-invoice-preview span:first-child{min-width:0;display:grid}.repair-invoice-preview small{color:var(--muted)}.repair-invoice-empty{margin:2px 0 10px;padding:10px;border-radius:10px;border:1px dashed var(--line);color:var(--muted);font-size:.78rem}.repair-edit-invoice-button{width:100%;justify-content:center;min-height:42px}
.repair-invoice-dialog{width:min(1180px,calc(100vw - 28px));max-width:none;height:min(780px,calc(100dvh - 34px));padding:0;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--text);overflow:hidden;box-shadow:0 28px 80px rgba(0,0,0,.4)}.repair-invoice-dialog::backdrop{background:rgba(2,9,18,.72);backdrop-filter:blur(3px)}.repair-invoice-dialog-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.repair-invoice-dialog header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px 20px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,var(--accent) 6%)}.repair-invoice-dialog h2,.repair-invoice-dialog h3{margin:0}.repair-invoice-editor-grid{min-height:0;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(420px,1.45fr);gap:0}.repair-invoice-picker,.repair-invoice-lines{min-height:0;overflow:auto;padding:18px}.repair-invoice-picker{border-right:1px solid var(--line);background:color-mix(in srgb,var(--surface-soft) 55%,var(--surface) 45%)}.repair-invoice-search{display:grid;gap:6px;margin:14px 0 10px;font-weight:800}.repair-invoice-search input,.repair-invoice-custom input,.repair-invoice-line input{background:var(--surface-soft)!important;color:var(--text)!important;border:1px solid color-mix(in srgb,var(--line) 78%,var(--text) 22%)!important;border-radius:9px;padding:10px}.repair-invoice-search input::placeholder,.repair-invoice-custom input::placeholder{color:var(--muted)!important;opacity:1}.repair-invoice-search-results{display:grid;gap:7px;max-height:330px;overflow:auto}.repair-invoice-result{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;padding:11px 12px;background:var(--surface);border:1px solid var(--line);border-radius:11px;color:var(--text)}.repair-invoice-result:hover,.repair-invoice-result:focus{border-color:#338ee8;background:color-mix(in srgb,var(--surface) 92%,#338ee8 8%)}.repair-invoice-result span{min-width:0;display:grid;gap:2px}.repair-invoice-result small{color:var(--muted);white-space:normal}.repair-invoice-search-empty,.repair-invoice-empty-lines{padding:18px;border:1px dashed var(--line);border-radius:11px;color:var(--muted);text-align:center}.repair-invoice-custom{margin-top:12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);overflow:hidden}.repair-invoice-custom summary{padding:11px 12px;font-weight:850;cursor:pointer}.repair-invoice-custom[open] summary{border-bottom:1px solid var(--line)}.repair-invoice-custom form{display:grid;gap:10px;padding:12px}.repair-invoice-custom form label{display:grid;gap:5px;font-size:.75rem;font-weight:800}.repair-invoice-custom-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.repair-invoice-lines-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.repair-invoice-lines-head>strong{font-size:1.55rem}.repair-invoice-line{display:grid;grid-template-columns:minmax(180px,1fr) 86px 116px 92px 38px;gap:8px;align-items:end;padding:10px 0;border-bottom:1px solid var(--line)}.repair-invoice-line-main{display:grid;gap:3px}.repair-invoice-line-main small{color:var(--muted);padding-left:2px}.repair-invoice-line label{display:grid;gap:4px}.repair-invoice-line label span{font-size:.68rem;color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.05em}.repair-invoice-line>strong{align-self:center;text-align:right}.repair-invoice-dialog footer{display:flex;justify-content:flex-end;gap:9px;padding:13px 18px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 95%,var(--surface-soft) 5%)}.repair-invoice-dialog footer button{min-height:42px}.icon-button.danger{color:#ff9a9a}
html[data-theme="light"] .repair-invoice-dialog{background:#f8fafc;color:#152033}html[data-theme="light"] .repair-invoice-picker{background:#f1f5f9}html[data-theme="light"] .repair-invoice-search input,html[data-theme="light"] .repair-invoice-custom input,html[data-theme="light"] .repair-invoice-line input{background:#fff!important;color:#142033!important;border-color:#b8c4d2!important}html[data-theme="light"] .repair-invoice-result{background:#fff;color:#142033}
@media(max-width:900px){.repair-invoice-dialog{width:calc(100vw - 18px);height:calc(100dvh - 18px)}.repair-invoice-editor-grid{grid-template-columns:1fr;overflow:auto}.repair-invoice-picker,.repair-invoice-lines{overflow:visible}.repair-invoice-picker{border-right:0;border-bottom:1px solid var(--line)}.repair-invoice-line{grid-template-columns:minmax(150px,1fr) 74px 100px 82px 36px}}
@media(max-width:620px){.invoice-confirm-summary{grid-template-columns:1fr}.repair-invoice-line{grid-template-columns:1fr 70px 90px 34px}.repair-invoice-line>strong{grid-column:1/-1;text-align:right}.repair-invoice-custom-grid{grid-template-columns:1fr}}


/* Workshop Pro 5.7.0-rc1.28.40 — workflow badge + inline invoice editor fix */
/* The generic stage-number rule also hit the status badge in rc1.28.39. Explicitly restore badge sizing. */
.lifecycle-stage-head>.repair-stage-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;height:auto!important;min-width:0!important;max-width:100%!important;padding:5px 9px!important;border-radius:999px!important;place-items:unset!important;line-height:1.15!important;white-space:nowrap!important;justify-self:end!important;margin-left:0!important;overflow:visible!important}
.lifecycle-stage-head{grid-template-columns:auto minmax(0,1fr) auto;column-gap:11px;row-gap:7px}.lifecycle-stage-head>div{min-width:0}.lifecycle-stage-head h3,.lifecycle-stage-head p{overflow-wrap:anywhere}
.repair-lifecycle-grid-polished .lifecycle-stage-card{min-width:0;overflow:hidden}.repair-lifecycle-grid-polished{align-items:start}
.repair-inline-invoice-wrap{display:grid;gap:10px}.repair-inline-invoice-editor[hidden]{display:none!important}.repair-inline-invoice-editor{margin-top:2px;border:1px solid color-mix(in srgb,var(--line) 70%,#338ee8 30%);border-radius:14px;background:color-mix(in srgb,var(--surface-soft) 94%,#338ee8 6%);overflow:hidden}.repair-inline-invoice-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;border-bottom:1px solid var(--line)}.repair-inline-invoice-head h4,.repair-inline-invoice-lines h4{margin:0}.repair-inline-invoice-head p{margin:4px 0 0;max-width:62ch}.repair-inline-invoice-grid{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(320px,1.25fr)}.repair-inline-invoice-grid>.repair-invoice-picker,.repair-inline-invoice-grid>.repair-invoice-lines{padding:14px;overflow:visible}.repair-inline-invoice-grid>.repair-invoice-picker{border-right:1px solid var(--line);background:color-mix(in srgb,var(--surface) 55%,var(--surface-soft) 45%)}.repair-inline-invoice-actions{display:flex;justify-content:flex-end;gap:9px;padding:12px 14px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 92%,var(--surface-soft) 8%)}.repair-inline-invoice-actions button{min-height:42px}.repair-inline-invoice-editor .repair-invoice-search-results{max-height:250px}.repair-inline-invoice-editor .repair-invoice-line{grid-template-columns:minmax(150px,1fr) 72px 96px 78px 34px}.repair-inline-invoice-editor .repair-invoice-line input{min-width:0}.repair-edit-invoice-button{border-color:color-mix(in srgb,var(--line) 65%,#338ee8 35%)}
html[data-theme="light"] .repair-inline-invoice-editor{background:#f8fbff;border-color:#9fc7ee}html[data-theme="light"] .repair-inline-invoice-grid>.repair-invoice-picker{background:#f3f7fb}html[data-theme="light"] .repair-inline-invoice-actions{background:#f5f8fb}
@media(max-width:1080px){.lifecycle-stage-head{grid-template-columns:auto minmax(0,1fr)}.lifecycle-stage-head>.repair-stage-badge{grid-column:2;justify-self:start}.repair-inline-invoice-grid{grid-template-columns:1fr}.repair-inline-invoice-grid>.repair-invoice-picker{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:700px){.repair-inline-invoice-head{flex-direction:column}.repair-inline-invoice-head>button{width:100%}.repair-inline-invoice-actions{position:sticky;bottom:0}.repair-inline-invoice-editor .repair-invoice-line{grid-template-columns:1fr 70px 90px 34px}.repair-inline-invoice-editor .repair-invoice-line>strong{grid-column:1/-1;text-align:right}.lifecycle-stage-head>.repair-stage-badge{white-space:normal;text-align:center}}


/* Workshop Pro 5.7.0-rc1.28.41 — native invoice editor disclosure */
.repair-inline-invoice-disclosure{display:block;margin:10px 0 0;border:0;background:transparent}.repair-inline-invoice-disclosure>summary{list-style:none;cursor:pointer;user-select:none}.repair-inline-invoice-disclosure>summary::-webkit-details-marker{display:none}.repair-edit-invoice-summary{display:flex!important;align-items:center;justify-content:flex-start;width:100%;min-height:44px;padding:10px 13px;border-radius:10px;font-weight:800}.repair-inline-invoice-disclosure[open]>.repair-edit-invoice-summary{border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:color-mix(in srgb,var(--line) 65%,#338ee8 35%);background:color-mix(in srgb,var(--surface-soft) 88%,#338ee8 12%)}.repair-inline-invoice-disclosure>.repair-inline-invoice-editor{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.repair-inline-invoice-disclosure:not([open])>.repair-inline-invoice-editor{display:none!important}
html[data-theme="light"] .repair-inline-invoice-disclosure[open]>.repair-edit-invoice-summary{background:#eef6ff;color:#15314d;border-color:#9fc7ee}


/* Workshop Pro 5.7.0-rc1.28.42 — large repair invoice editor window */
.repair-invoice-window-disclosure{display:block;margin:10px 0 0;border:0;background:transparent}
.repair-invoice-window-disclosure>summary{list-style:none;cursor:pointer;user-select:none}
.repair-invoice-window-disclosure>summary::-webkit-details-marker{display:none}
.repair-invoice-window-disclosure:not([open])>.repair-invoice-window-backdrop{display:none!important}
.repair-invoice-window-disclosure[open]>.repair-edit-invoice-summary{visibility:hidden;pointer-events:none;height:0;min-height:0;padding:0;margin:0;border:0;overflow:hidden}
.repair-invoice-window-backdrop{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:28px;background:rgba(2,10,20,.76);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.repair-invoice-window{width:min(1220px,calc(100vw - 44px));height:min(860px,calc(100dvh - 44px));max-height:calc(100dvh - 44px);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:var(--surface,#0e2033);border:1px solid color-mix(in srgb,var(--line) 72%,#338ee8 28%);border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.5);overflow:hidden;color:var(--text)}
.repair-invoice-window-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:24px 26px 18px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 93%,#338ee8 7%)}
.repair-invoice-window-head h2{margin:4px 0 4px;font-size:clamp(24px,2.3vw,34px);line-height:1.08}.repair-invoice-window-head .meta{margin:0}.repair-invoice-window-close{flex:0 0 auto;width:44px;height:44px;font-size:27px}
.repair-invoice-window-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 26px;border-bottom:1px solid var(--line);background:var(--surface-soft)}
.repair-invoice-window-summary>div{min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.repair-invoice-window-summary span,.repair-invoice-live-total span{display:block;margin-bottom:3px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.repair-invoice-window-summary strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.repair-invoice-window-body{min-height:0;display:grid;grid-template-columns:minmax(320px,.82fr) minmax(520px,1.45fr);gap:0;overflow:hidden}
.repair-invoice-window-body>.repair-invoice-picker,.repair-invoice-window-body>.repair-invoice-lines{min-height:0;overflow:auto;padding:22px 24px}
.repair-invoice-window-body>.repair-invoice-picker{border-right:1px solid var(--line);background:color-mix(in srgb,var(--surface-soft) 94%,#338ee8 6%)}
.repair-invoice-window-body>.repair-invoice-lines{background:var(--surface)}
.repair-invoice-section-title h3,.repair-invoice-window .repair-invoice-lines-head h3{margin:0 0 3px;font-size:20px}.repair-invoice-section-title .meta,.repair-invoice-window .repair-invoice-lines-head .meta{margin:0 0 14px}
.repair-invoice-window .repair-invoice-search input,.repair-invoice-window .repair-invoice-custom input,.repair-invoice-window .repair-invoice-line input{min-height:44px}
.repair-invoice-window .repair-invoice-search-results{max-height:300px;overflow:auto;margin-top:10px}
.repair-invoice-window .repair-invoice-custom{margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:0 12px;background:var(--surface)}
.repair-invoice-window .repair-invoice-custom>summary{padding:13px 0;font-weight:800;cursor:pointer}.repair-invoice-window .repair-invoice-custom form{padding:0 0 14px}
.repair-invoice-window .repair-invoice-lines-head{position:sticky;top:-22px;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:-22px -24px 14px;padding:22px 24px 14px;border-bottom:1px solid var(--line);background:var(--surface)}
.repair-invoice-live-total{flex:0 0 auto;text-align:right;padding:9px 12px;border:1px solid color-mix(in srgb,var(--line) 65%,#338ee8 35%);border-radius:11px;background:color-mix(in srgb,var(--surface-soft) 88%,#338ee8 12%)}.repair-invoice-live-total strong{font-size:24px;line-height:1}
.repair-invoice-window .repair-invoice-line{grid-template-columns:minmax(170px,1.7fr) 90px 112px 92px 42px;align-items:end;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}
.repair-invoice-window-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,#338ee8 6%)}
.repair-invoice-window-footer button{min-height:46px;padding-inline:20px}
html[data-theme="light"] .repair-invoice-window{background:#fff;color:#102235;border-color:#b8cee3;box-shadow:0 28px 85px rgba(18,42,66,.28)}
html[data-theme="light"] .repair-invoice-window-head,html[data-theme="light"] .repair-invoice-window-footer{background:#f5f9fd;border-color:#d7e3ee}
html[data-theme="light"] .repair-invoice-window-summary{background:#f5f9fd;border-color:#d7e3ee}html[data-theme="light"] .repair-invoice-window-summary>div,html[data-theme="light"] .repair-invoice-window-body>.repair-invoice-lines,html[data-theme="light"] .repair-invoice-window .repair-invoice-custom{background:#fff;border-color:#d7e3ee}
html[data-theme="light"] .repair-invoice-window-body>.repair-invoice-picker{background:#f7fbff;border-color:#d7e3ee}html[data-theme="light"] .repair-invoice-window .repair-invoice-lines-head{background:#fff;border-color:#d7e3ee}
html[data-theme="light"] .repair-invoice-live-total{background:#eef6ff;border-color:#9fc7ee}
@media(max-width:900px){.repair-invoice-window-backdrop{padding:14px}.repair-invoice-window{width:calc(100vw - 20px);height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);border-radius:16px}.repair-invoice-window-body{grid-template-columns:1fr;overflow:auto}.repair-invoice-window-body>.repair-invoice-picker,.repair-invoice-window-body>.repair-invoice-lines{overflow:visible}.repair-invoice-window-body>.repair-invoice-picker{border-right:0;border-bottom:1px solid var(--line)}.repair-invoice-window .repair-invoice-lines-head{position:static;margin:0 0 14px;padding:0 0 14px}.repair-invoice-window-summary{grid-template-columns:1fr 1fr 1fr;padding-inline:18px}.repair-invoice-window-head{padding:20px 18px 15px}.repair-invoice-window-body>.repair-invoice-picker,.repair-invoice-window-body>.repair-invoice-lines{padding:18px}.repair-invoice-window-footer{padding-inline:18px}}
@media(max-width:650px){.repair-invoice-window-summary{grid-template-columns:1fr}.repair-invoice-window .repair-invoice-line{grid-template-columns:1fr 74px 98px 42px}.repair-invoice-window .repair-invoice-line>strong{grid-column:1/-2;text-align:right}.repair-invoice-window-footer{display:grid;grid-template-columns:1fr 1fr}.repair-invoice-window-footer button{width:100%}}


/* Workshop Pro 5.7.0-rc1.28.43 — repair invoice picker interaction polish */
.repair-invoice-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.repair-invoice-search-row>.secondary{min-height:44px;margin-bottom:0}
.repair-invoice-custom-card{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.repair-invoice-custom-card h4{margin:0 0 3px;font-size:16px}.repair-invoice-custom-card>.meta{margin:0 0 12px}.repair-invoice-custom-card label{display:block;margin-top:10px}.repair-invoice-custom-card button{margin-top:12px;min-height:44px}.repair-invoice-custom-card #repairInvoiceCustomFeedbackV543{min-height:18px;margin-top:8px}
.repair-invoice-result{width:100%;display:flex;justify-content:space-between;align-items:center;gap:14px;text-align:left;padding:12px 13px;margin:0 0 8px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--text);cursor:pointer}.repair-invoice-result:hover,.repair-invoice-result:focus-visible{border-color:#338ee8;background:color-mix(in srgb,var(--surface) 90%,#338ee8 10%);outline:none}.repair-invoice-result span{min-width:0}.repair-invoice-result strong{display:block}.repair-invoice-result small{display:block;margin-top:3px;color:var(--muted)}
html[data-theme="light"] .repair-invoice-custom-card,html[data-theme="light"] .repair-invoice-result{background:#fff;border-color:#cddce9;color:#102235}
@media(max-width:650px){.repair-invoice-search-row{grid-template-columns:1fr}.repair-invoice-search-row>.secondary{width:100%}}


/* Workshop Pro 5.7.0-rc1.28.44 — invoice Smart Search */
.repair-invoice-section-title h3{margin-bottom:3px}.repair-invoice-search input[type="search"]{min-height:48px}.repair-invoice-search-results{min-height:66px}.repair-invoice-result small{overflow-wrap:anywhere}.repair-invoice-custom-card button.secondary{font-weight:700}


/* Workshop Pro 5.7.0-rc1.28.45 — repair invoice interaction feedback */
.repair-invoice-custom-card{display:grid;gap:11px;margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.repair-invoice-custom-card h4{margin:0}.repair-invoice-custom-card p{margin:3px 0 0}.repair-invoice-custom-card>label{display:grid;gap:6px;font-size:.78rem;font-weight:800}.repair-invoice-custom-card input{min-height:44px;background:var(--surface-soft)!important;color:var(--text)!important;border:1px solid var(--line)!important;border-radius:9px;padding:10px}
.repair-invoice-action-feedback{min-height:20px;margin:0;font-weight:700}.repair-invoice-action-feedback[data-state="ok"]{color:#62c98a}.repair-invoice-action-feedback[data-state="error"]{color:#ff8f8f}
html[data-theme="light"] .repair-invoice-custom-card{background:#fff;border-color:#d7e3ee}html[data-theme="light"] .repair-invoice-action-feedback[data-state="ok"]{color:#167a43}html[data-theme="light"] .repair-invoice-action-feedback[data-state="error"]{color:#b42318}


/* Workshop Pro 5.7.0-rc1.28.48 — repair invoice editor visual polish */
.repair-invoice-window{width:min(1280px,calc(100vw - 56px));height:min(840px,calc(100dvh - 52px));border-radius:20px}
.repair-invoice-window-head{padding:22px 26px 17px}.repair-invoice-window-head h2{font-size:clamp(25px,2vw,32px);letter-spacing:-.025em}.repair-invoice-window-head .eyebrow{color:#a9c8f5;letter-spacing:.13em}.repair-invoice-window-head .meta{font-size:13px}
.repair-invoice-window-summary{gap:12px;padding:13px 26px}.repair-invoice-window-summary>div{padding:9px 12px;border-radius:10px}.repair-invoice-window-summary strong{font-size:15px}
.repair-invoice-window-body{grid-template-columns:minmax(360px,.78fr) minmax(620px,1.52fr)}
.repair-invoice-window-body>.repair-invoice-picker,.repair-invoice-window-body>.repair-invoice-lines{padding:20px 24px}
.repair-invoice-window-body>.repair-invoice-picker{background:color-mix(in srgb,var(--surface-soft) 96%,#338ee8 4%)}
.repair-invoice-section-title h3,.repair-invoice-window .repair-invoice-lines-head h3{font-size:19px;letter-spacing:-.015em}.repair-invoice-section-title .meta,.repair-invoice-window .repair-invoice-lines-head .meta{line-height:1.35}
.repair-invoice-search-row{gap:9px}.repair-invoice-search{margin:11px 0 0}.repair-invoice-search input[type="search"]{min-height:46px}.repair-invoice-search-row>.secondary{min-height:46px;padding-inline:17px}
.repair-invoice-search-results{margin-top:10px}.repair-invoice-result{padding:11px 13px;border-radius:10px}.repair-invoice-result strong{font-size:15px}.repair-invoice-result>strong{font-size:15px;white-space:nowrap}
.repair-invoice-custom-card{gap:9px;margin-top:14px;padding:14px;border-radius:11px}.repair-invoice-custom-card h4{font-size:15px}.repair-invoice-custom-card p{line-height:1.35}.repair-invoice-custom-card>label{margin-top:2px}.repair-invoice-custom-grid{gap:9px}.repair-invoice-custom-card input{min-height:42px}.repair-invoice-custom-card button{width:100%;margin-top:2px}
.repair-invoice-window .repair-invoice-lines-head{top:-20px;margin:-20px -24px 12px;padding:20px 24px 13px}.repair-invoice-live-total{min-width:126px;padding:8px 12px;border-radius:10px}.repair-invoice-live-total strong{font-size:23px}
.repair-invoice-window .repair-invoice-line{grid-template-columns:minmax(220px,1.8fr) 82px 108px 86px 40px;gap:9px;padding:11px 0}.repair-invoice-line-main input{font-size:15px}.repair-invoice-window .repair-invoice-line input{min-height:42px}.repair-invoice-line>strong{font-size:15px}.repair-invoice-line .icon-button.danger{width:38px;height:38px;min-height:38px;border-radius:9px}
.repair-invoice-window-footer{padding:14px 24px calc(14px + env(safe-area-inset-bottom))}.repair-invoice-window-footer button{min-height:44px}.repair-invoice-window-footer [data-invoice-action="save"]{min-width:205px;font-weight:800}
html[data-theme="light"] .repair-invoice-window-head .eyebrow{color:#316ca8}html[data-theme="light"] .repair-invoice-window-body>.repair-invoice-picker{background:#f6f9fc}
@media(max-width:1100px){.repair-invoice-window{width:calc(100vw - 32px);height:calc(100dvh - 32px)}.repair-invoice-window-body{grid-template-columns:minmax(330px,.85fr) minmax(500px,1.3fr)}.repair-invoice-window .repair-invoice-line{grid-template-columns:minmax(180px,1.5fr) 76px 100px 78px 38px}}
@media(max-width:900px){.repair-invoice-window{width:calc(100vw - 24px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}.repair-invoice-window-body{grid-template-columns:minmax(340px,.82fr) minmax(520px,1.35fr);overflow:hidden}.repair-invoice-window-body>.repair-invoice-picker,.repair-invoice-window-body>.repair-invoice-lines{overflow:auto}.repair-invoice-window-body>.repair-invoice-picker{border-right:1px solid var(--line);border-bottom:0}.repair-invoice-window .repair-invoice-lines-head{position:sticky;top:-18px;margin:-18px -18px 12px;padding:18px 18px 12px}.repair-invoice-window-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.repair-invoice-window-body{grid-template-columns:1fr;overflow:auto}.repair-invoice-window-body>.repair-invoice-picker,.repair-invoice-window-body>.repair-invoice-lines{overflow:visible}.repair-invoice-window-body>.repair-invoice-picker{border-right:0;border-bottom:1px solid var(--line)}.repair-invoice-window .repair-invoice-lines-head{position:static;margin:0 0 12px;padding:0 0 12px}.repair-invoice-window-summary{grid-template-columns:1fr}.repair-invoice-window-footer{grid-template-columns:1fr 1.35fr}}

/* Workshop Pro 5.7.0-rc1.28.50 — invoice editor structural layout fix */
/*
   The editor is a true four-row application window:
   header | summary | workspace | footer.
   Nothing in the workspace is padded underneath or overlaid by the footer.
*/
.repair-invoice-window{
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr) auto;
  min-height:0;
  overflow:hidden;
}
.repair-invoice-window-body{
  display:grid;
  grid-template-columns:minmax(360px,.78fr) minmax(620px,1.52fr);
  min-width:0;
  min-height:0;
  overflow:hidden;
}
.repair-invoice-window-body>.repair-invoice-picker,
.repair-invoice-window-body>.repair-invoice-lines{
  min-width:0;
  min-height:0;
  padding:20px 24px;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
/*
   Keep the custom-item composer permanently reachable. Search results get the
   flexible/scrolling space instead of forcing the whole left pane under the footer.
*/
.repair-invoice-window-body>.repair-invoice-picker{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding-bottom:20px;
}
.repair-invoice-window .repair-invoice-section-title,
.repair-invoice-window .repair-invoice-search-row,
.repair-invoice-window .repair-invoice-custom-card{flex:0 0 auto}
.repair-invoice-window .repair-invoice-search-results{
  flex:1 1 auto;
  min-height:72px;
  max-height:none;
  overflow-y:auto;
  margin-top:10px;
  padding-right:2px;
}
.repair-invoice-window .repair-invoice-custom-card{
  margin-top:14px;
  margin-bottom:0;
}
.repair-invoice-window-body>.repair-invoice-lines{
  overflow-y:auto;
  padding-bottom:20px;
}
.repair-invoice-window-footer{
  position:static;
  z-index:auto;
  flex:none;
  margin:0;
  box-shadow:0 -1px 0 var(--line);
}
html[data-theme="light"] .repair-invoice-window-footer{box-shadow:0 -1px 0 #d7e3ee}

/* Tighten the custom composer just enough to remain fully visible on iPad landscape. */
.repair-invoice-window .repair-invoice-custom-card{gap:8px;padding:13px 14px}
.repair-invoice-window .repair-invoice-custom-card>label{gap:5px}
.repair-invoice-window .repair-invoice-custom-card input{min-height:40px}
.repair-invoice-window .repair-invoice-custom-card button{min-height:42px;margin-top:1px}
.repair-invoice-window .repair-invoice-action-feedback{min-height:0;margin:0}
.repair-invoice-window .repair-invoice-action-feedback:empty{display:none}

@media(max-width:1100px){
  .repair-invoice-window-body{grid-template-columns:minmax(330px,.85fr) minmax(500px,1.3fr)}
  .repair-invoice-window-body>.repair-invoice-picker,
  .repair-invoice-window-body>.repair-invoice-lines{padding:18px}
}
@media(max-width:760px){
  /* On genuinely narrow displays, use one scrollable workspace; footer remains its own row. */
  .repair-invoice-window-body{display:block;overflow-y:auto}
  .repair-invoice-window-body>.repair-invoice-picker,
  .repair-invoice-window-body>.repair-invoice-lines{display:block;overflow:visible;padding:18px}
  .repair-invoice-window .repair-invoice-search-results{max-height:260px;overflow-y:auto}
  .repair-invoice-window-body>.repair-invoice-picker{border-right:0;border-bottom:1px solid var(--line)}
  .repair-invoice-window-footer{position:static}
}



/* Workshop Pro 5.7.0-rc1.28.51 — invoice editor precision alignment pass */
/*
   Important: this release deliberately leaves the isolated invoice controller
   unchanged. These rules correct visual column baselines, proportions and
   breathing room only.
*/
.repair-invoice-window-body{
  grid-template-columns:minmax(380px,.84fr) minmax(0,1.66fr);
}
.repair-invoice-window-body>.repair-invoice-picker{
  padding:20px 22px 28px;
}
.repair-invoice-window-body>.repair-invoice-lines{
  padding:20px 24px 28px;
}

/* Invoice line: one exact grid for Item | Qty | Unit £ | Total | Action. */
.repair-invoice-window .repair-invoice-line{
  display:grid;
  grid-template-columns:minmax(260px,1fr) 84px 108px 92px 40px;
  column-gap:12px;
  row-gap:0;
  align-items:start;
  padding:12px 0 14px;
}
.repair-invoice-window .repair-invoice-line-main,
.repair-invoice-window .repair-invoice-line>label,
.repair-invoice-window .repair-invoice-line>strong{
  min-width:0;
}

/* Give Item the same visible column heading/baseline as Qty and Unit £. */
.repair-invoice-window .repair-invoice-line-main::before,
.repair-invoice-window .repair-invoice-line>label>span,
.repair-invoice-window .repair-invoice-line>strong::before{
  display:block;
  min-height:14px;
  margin:0 0 6px;
  font-size:.68rem;
  line-height:14px;
  color:var(--muted);
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.repair-invoice-window .repair-invoice-line-main::before{content:'Item'}
.repair-invoice-window .repair-invoice-line>strong::before{content:'Total'}

.repair-invoice-window .repair-invoice-line-main{
  display:grid;
  gap:0;
  align-content:start;
}
.repair-invoice-window .repair-invoice-line-main input,
.repair-invoice-window .repair-invoice-line>label input{
  width:100%;
  min-width:0;
  height:44px;
  min-height:44px;
  box-sizing:border-box;
}
.repair-invoice-window .repair-invoice-line-main small{
  min-height:18px;
  margin-top:5px;
  padding-left:2px;
  line-height:18px;
}
.repair-invoice-window .repair-invoice-line>label{
  display:grid;
  grid-template-rows:20px 44px;
  gap:0;
  align-content:start;
}
.repair-invoice-window .repair-invoice-line>label>span{
  margin:0 0 6px;
}
.repair-invoice-window .repair-invoice-line>strong{
  display:grid;
  grid-template-rows:20px 44px;
  gap:0;
  align-content:start;
  align-self:start;
  text-align:right;
  line-height:44px;
  white-space:nowrap;
}
.repair-invoice-window .repair-invoice-line>strong::before{
  margin:0 0 6px;
  line-height:14px;
  text-align:right;
}
.repair-invoice-window .repair-invoice-line>.icon-button{
  width:40px;
  min-width:40px;
  height:44px;
  min-height:44px;
  margin-top:20px;
  align-self:start;
}

/* Keep the invoice row contained rather than visually floating across the canvas. */
.repair-invoice-window [data-invoice-lines]>.repair-invoice-line{
  border-bottom:1px solid var(--line);
}
.repair-invoice-window .repair-invoice-lines-head{
  margin-bottom:14px;
  padding-bottom:0;
}

/* More deliberate left-column rhythm and clear space above the real footer. */
.repair-invoice-window .repair-invoice-search-results{margin-bottom:4px}
.repair-invoice-window .repair-invoice-custom-card{margin-top:16px}
.repair-invoice-window .repair-invoice-custom-card button{width:100%}

@media(max-width:1180px){
  .repair-invoice-window-body{grid-template-columns:minmax(350px,.9fr) minmax(0,1.5fr)}
  .repair-invoice-window .repair-invoice-line{
    grid-template-columns:minmax(210px,1fr) 78px 100px 84px 38px;
    column-gap:9px;
  }
  .repair-invoice-window .repair-invoice-line>.icon-button{width:38px;min-width:38px}
}
@media(max-width:900px){
  .repair-invoice-window-body{grid-template-columns:minmax(330px,.95fr) minmax(0,1.35fr)}
  .repair-invoice-window-body>.repair-invoice-picker,
  .repair-invoice-window-body>.repair-invoice-lines{padding:18px}
  .repair-invoice-window .repair-invoice-line{
    grid-template-columns:minmax(170px,1fr) 72px 92px 78px 36px;
    column-gap:8px;
  }
  .repair-invoice-window .repair-invoice-line>.icon-button{width:36px;min-width:36px}
}
@media(max-width:760px){
  .repair-invoice-window .repair-invoice-line{
    grid-template-columns:minmax(0,1fr) 72px 92px 36px;
  }
  .repair-invoice-window .repair-invoice-line>strong{
    grid-column:1/-1;
    grid-template-rows:auto;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:8px;
    line-height:1.2;
    padding-top:4px;
  }
  .repair-invoice-window .repair-invoice-line>strong::before{
    display:inline;
    min-height:0;
    margin:0;
  }
  .repair-invoice-window .repair-invoice-line>.icon-button{grid-column:4;grid-row:1;margin-top:20px}
}

/* Workshop Pro 5.7.0-rc1.28.52 — invoice editor perfectionist alignment pass
   Layout/CSS only. The isolated invoice interaction controller is intentionally untouched. */

/* Header balance: centre the live total against the Invoice items title block. */
.repair-invoice-window .repair-invoice-lines-head{
  align-items:center;
}
.repair-invoice-window .repair-invoice-lines-head>div:first-child{
  min-width:0;
}
.repair-invoice-window .repair-invoice-lines-head .meta{
  margin-bottom:0;
}
.repair-invoice-window .repair-invoice-live-total{
  align-self:center;
  margin:0;
  display:grid;
  place-items:center;
  min-width:128px;
  min-height:58px;
  padding:7px 14px;
  box-sizing:border-box;
  text-align:center;
}
.repair-invoice-window .repair-invoice-live-total span,
.repair-invoice-window .repair-invoice-live-total strong{
  width:100%;
  text-align:center;
}

/* Optical + mathematical centring for the top-right close control. */
.repair-invoice-window .repair-invoice-window-close{
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  line-height:1!important;
  font-size:0!important;
  text-align:center!important;
}
.repair-invoice-window .repair-invoice-window-close::before{
  content:'×';
  display:block;
  font-size:28px;
  font-weight:850;
  line-height:1;
  width:1em;
  height:1em;
  text-align:center;
  transform:translateY(-1px);
}

/*
   True invoice-table alignment.
   Every cell owns the exact same 18px heading track followed by the exact same
   44px control/value track. The Item subtitle is a third row only inside Item,
   so it cannot push Qty / Unit £ / Total / Action out of alignment.
*/
.repair-invoice-window .repair-invoice-line{
  display:grid;
  grid-template-columns:minmax(220px,1fr) 86px 110px 92px 42px;
  gap:10px;
  align-items:start;
  padding:12px 0 15px;
}
.repair-invoice-window .repair-invoice-line-main,
.repair-invoice-window .repair-invoice-line>label,
.repair-invoice-window .repair-invoice-line>strong,
.repair-invoice-window .repair-invoice-line>.icon-button{
  margin:0!important;
  align-self:start!important;
  min-width:0;
}

/* Shared heading track. */
.repair-invoice-window .repair-invoice-line-main::before,
.repair-invoice-window .repair-invoice-line>label>span,
.repair-invoice-window .repair-invoice-line>strong::before,
.repair-invoice-window .repair-invoice-line>.icon-button::before{
  display:block;
  box-sizing:border-box;
  height:18px;
  min-height:18px;
  margin:0 0 6px!important;
  padding:0;
  font-size:.68rem;
  line-height:18px!important;
  color:var(--muted);
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
  white-space:nowrap;
}
.repair-invoice-window .repair-invoice-line-main::before{content:'Item'}
.repair-invoice-window .repair-invoice-line>strong::before{content:'Total';text-align:right}
.repair-invoice-window .repair-invoice-line>.icon-button::before{
  content:'Action';
  width:42px;
  text-align:center;
  overflow:visible;
  transform:translateX(-2px);
}

/* Exact control/value track. */
.repair-invoice-window .repair-invoice-line-main{
  display:grid;
  grid-template-rows:18px 44px auto;
  row-gap:6px;
}
.repair-invoice-window .repair-invoice-line-main::before{
  grid-row:1;
  margin:0!important;
}
.repair-invoice-window .repair-invoice-line-main input{
  grid-row:2;
  width:100%;
  height:44px!important;
  min-height:44px!important;
  box-sizing:border-box;
}
.repair-invoice-window .repair-invoice-line-main small{
  grid-row:3;
  min-height:18px;
  margin:0!important;
  padding:0 2px;
  line-height:18px;
}
.repair-invoice-window .repair-invoice-line>label{
  display:grid;
  grid-template-rows:18px 44px;
  row-gap:6px;
}
.repair-invoice-window .repair-invoice-line>label>span{
  grid-row:1;
  margin:0!important;
}
.repair-invoice-window .repair-invoice-line>label input{
  grid-row:2;
  width:100%;
  height:44px!important;
  min-height:44px!important;
  box-sizing:border-box;
}
.repair-invoice-window .repair-invoice-line>strong{
  display:grid;
  grid-template-rows:18px 44px;
  row-gap:6px;
  line-height:normal!important;
  text-align:right;
}
.repair-invoice-window .repair-invoice-line>strong::before{
  grid-row:1;
  margin:0!important;
}
.repair-invoice-window .repair-invoice-line>strong{
  align-items:start;
}
.repair-invoice-window .repair-invoice-line>strong{
  /* monetary value occupies the second shared track */
  padding-top:0;
}
.repair-invoice-window .repair-invoice-line>strong:not(:empty){
  line-height:44px!important;
}
/* Pseudo heading should not inherit the 44px value line-height. */
.repair-invoice-window .repair-invoice-line>strong::before{line-height:18px!important}

.repair-invoice-window .repair-invoice-line>.icon-button{
  position:relative;
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  min-width:42px!important;
  height:68px!important;
  min-height:68px!important;
  padding:24px 0 0!important;
  box-sizing:border-box;
  line-height:1!important;
  font-size:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.repair-invoice-window .repair-invoice-line>.icon-button::before{
  position:absolute;
  top:0;
  left:0;
  height:18px;
  margin:0!important;
  color:var(--muted);
  background:transparent;
  font-size:.68rem;
}
.repair-invoice-window .repair-invoice-line>.icon-button::after{
  content:'×';
  display:grid;
  place-items:center;
  width:42px;
  height:44px;
  border-radius:10px;
  background:#9f2e27;
  color:#fff;
  font-size:20px;
  font-weight:850;
  line-height:1;
}

/* Give the composer deliberate clearance from the real footer, without overlays. */
.repair-invoice-window-body>.repair-invoice-picker{
  padding-bottom:34px!important;
}
.repair-invoice-window .repair-invoice-custom-card{
  margin-bottom:10px!important;
}

@media(max-width:1180px){
  .repair-invoice-window .repair-invoice-line{
    grid-template-columns:minmax(190px,1fr) 78px 102px 84px 40px;
    gap:8px;
  }
  .repair-invoice-window .repair-invoice-line>.icon-button,
  .repair-invoice-window .repair-invoice-line>.icon-button::after{width:40px!important;min-width:40px!important}
  .repair-invoice-window .repair-invoice-line>.icon-button::before{width:40px}
}
@media(max-width:900px){
  .repair-invoice-window .repair-invoice-line{
    grid-template-columns:minmax(170px,1fr) 72px 94px 78px 38px;
    gap:7px;
  }
  .repair-invoice-window .repair-invoice-line>.icon-button,
  .repair-invoice-window .repair-invoice-line>.icon-button::after{width:38px!important;min-width:38px!important}
  .repair-invoice-window .repair-invoice-line>.icon-button::before{width:38px;font-size:.61rem}
}

/* Workshop Pro 5.7.0-rc1.28.53 — perfectionist micro-alignment pass
   Scope intentionally limited to the invoice total badge and close control. */
.repair-invoice-window .repair-invoice-lines-head{
  align-items:center!important;
}
.repair-invoice-window .repair-invoice-live-total{
  flex:0 0 auto!important;
  align-self:center!important;
  min-width:116px!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:7px 12px!important;
  border-radius:10px!important;
  display:block!important;
  place-items:unset!important;
  text-align:center!important;
}
.repair-invoice-window .repair-invoice-live-total span{
  margin:0 0 3px!important;
  font-size:10px!important;
  line-height:1.15!important;
  white-space:nowrap;
}
.repair-invoice-window .repair-invoice-live-total strong{
  display:block!important;
  margin:0!important;
  font-size:22px!important;
  line-height:1!important;
  text-align:center!important;
}
.repair-invoice-window .repair-invoice-window-close{
  flex:0 0 42px!important;
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
  font-size:0!important;
  box-sizing:border-box!important;
}
.repair-invoice-window .repair-invoice-window-close::before{
  content:'×';
  width:auto!important;
  height:auto!important;
  margin:0!important;
  display:block!important;
  font-size:23px!important;
  font-weight:850!important;
  line-height:.82!important;
  text-align:center!important;
  transform:translateY(-1px)!important;
}

/* Workshop Pro 5.7.0-rc1.28.54 — invoice editor final geometry pass
   Deliberately limited to the three inspection items: live-total centring,
   close-control centring, and removal of the idle Smart Search placeholder. */

/* With the idle search hint removed, do not reserve a blank search-results block.
   Real search results / searching / no-results / error states still render normally. */
.repair-invoice-window .repair-invoice-search-results:empty{
  display:none!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}
.repair-invoice-window .repair-invoice-search-results:empty + .repair-invoice-custom-card{
  margin-top:14px!important;
}

/* Treat the Invoice Items heading strip as a real bounded row. The badge is centred
   between its top and bottom rules rather than sitting on the lower divider. */
.repair-invoice-window .repair-invoice-lines-head{
  box-sizing:border-box!important;
  min-height:82px!important;
  padding:16px 24px!important;
  margin:-20px -24px 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
}
.repair-invoice-window .repair-invoice-lines-head>div:first-child{
  align-self:center!important;
}
.repair-invoice-window .repair-invoice-lines-head .meta{
  margin:3px 0 0!important;
}
.repair-invoice-window .repair-invoice-live-total{
  flex:0 0 auto!important;
  align-self:center!important;
  min-width:116px!important;
  min-height:48px!important;
  height:48px!important;
  margin:0!important;
  padding:6px 12px!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  text-align:center!important;
}
.repair-invoice-window .repair-invoice-live-total span,
.repair-invoice-window .repair-invoice-live-total strong{
  margin:0!important;
  width:100%!important;
  text-align:center!important;
}
.repair-invoice-window .repair-invoice-live-total span{
  font-size:10px!important;
  line-height:12px!important;
}
.repair-invoice-window .repair-invoice-live-total strong{
  font-size:22px!important;
  line-height:24px!important;
}

/* Use the real multiplication glyph already inside the button. Flex centring avoids
   pseudo-element/font-line-height offsets and centres it in the blue square. */
.repair-invoice-window .repair-invoice-window-close{
  flex:0 0 42px!important;
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  padding:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  font-size:24px!important;
  font-weight:850!important;
  line-height:1!important;
  text-indent:0!important;
}
.repair-invoice-window .repair-invoice-window-close::before,
.repair-invoice-window .repair-invoice-window-close::after{
  content:none!important;
  display:none!important;
}

@media(max-width:900px){
  .repair-invoice-window .repair-invoice-lines-head{
    min-height:78px!important;
    padding:14px 18px!important;
    margin:-18px -18px 14px!important;
  }
}

/* Workshop Pro 5.7.0-rc1.28.56 — repair workflow alignment + top handover actions */
.repair-workflow-top-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 14px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--line) 72%,#318ce7 28%);border-radius:15px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 95%,#318ce7 5%),var(--surface));box-shadow:0 8px 24px rgba(0,0,0,.08)}
.repair-workflow-top-action-copy{min-width:0;display:grid;gap:2px}.repair-workflow-top-action-copy>strong{font-size:1rem}.repair-workflow-top-action-copy>small{color:var(--muted);line-height:1.35}
.repair-workflow-top-action-buttons{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.repair-workflow-top-action-buttons button{min-height:42px;min-width:142px;justify-content:center}.repair-workflow-top-action-buttons button.is-complete{border-color:#347e5c;background:color-mix(in srgb,var(--surface-soft) 82%,#168a50 18%);color:#8ee0b3;opacity:1}
.repair-lifecycle-grid-polished{align-items:stretch!important;grid-auto-rows:1fr}.repair-lifecycle-grid-polished .lifecycle-stage-card{height:100%;min-height:250px;box-sizing:border-box}.repair-lifecycle-grid-polished .lifecycle-stage-card>form{height:100%;align-content:start}.repair-lifecycle-grid-polished .repair-stage-actions{margin-top:auto;padding-top:12px}.repair-lifecycle-grid-polished .repair-stage-complete{margin-top:auto}
.repair-handover-grid{align-items:stretch}.repair-handover-grid>.card{height:100%;box-sizing:border-box}.repair-payment-card,.repair-collection-card{display:flex;flex-direction:column}.repair-payment-card .repair-payment-form,.repair-collection-card>button{margin-top:auto}.repair-action-highlight{border-color:#3d98ef!important;box-shadow:0 0 0 3px color-mix(in srgb,#3d98ef 25%,transparent)!important;transition:box-shadow .2s ease,border-color .2s ease}
html[data-theme="light"] .repair-workflow-top-actions{background:linear-gradient(135deg,#f7fbff,#fff);border-color:#b7d4ef}html[data-theme="light"] .repair-workflow-top-action-buttons button.is-complete{background:#e8f8ef;color:#176640;border-color:#8fc9a8}
@media(max-width:820px){.repair-workflow-top-actions{align-items:stretch;flex-direction:column}.repair-workflow-top-action-buttons{display:grid;grid-template-columns:1fr 1fr}.repair-workflow-top-action-buttons button{width:100%;min-width:0}}
@media(max-width:560px){.repair-workflow-top-action-buttons{grid-template-columns:1fr}.repair-lifecycle-grid-polished .lifecycle-stage-card{min-height:0}}


/* Workshop Pro 5.7.0-rc1.28.57 — compact row-balanced workflow cards + explicit collection gating */
.repair-lifecycle-grid-polished{
  align-items:stretch!important;
  grid-auto-rows:auto!important;
}
.repair-lifecycle-grid-polished .lifecycle-stage-card{
  height:100%!important;
  min-height:0!important;
  box-sizing:border-box;
}
.repair-lifecycle-grid-polished .lifecycle-stage-card>form{
  height:auto!important;
  min-height:0;
  display:grid;
  align-content:start;
}
/* Equal height is determined per CSS-grid row, not forced across all four workflow stages. */
.repair-lifecycle-grid-polished .repair-stage-complete{
  margin-top:auto;
}
.repair-lifecycle-grid-polished .repair-stage-actions{
  margin-top:auto;
  padding-top:12px;
}
.repair-workflow-top-action-buttons .repair-collection-locked{
  opacity:.72!important;
  color:var(--muted)!important;
  border-color:var(--line)!important;
  background:var(--surface-soft)!important;
  cursor:not-allowed!important;
}
@media(max-width:980px){
  .repair-lifecycle-grid-polished .lifecycle-stage-card{height:auto!important}
}

/* Workshop Pro 5.7.0-rc1.28.58 — single-column repair workflow
   The four lifecycle stages now use the full workspace width, one stage per row.
   This removes cross-card height/alignment compromises and gives complex stages
   such as Invoice and Work Completed enough horizontal room without affecting
   the compact completed stages. */
.repair-lifecycle-grid-polished{
  grid-template-columns:minmax(0,1fr)!important;
  grid-auto-rows:auto!important;
  align-items:start!important;
  gap:14px!important;
}
.repair-lifecycle-grid-polished .lifecycle-stage-card{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
}
.repair-lifecycle-grid-polished .lifecycle-stage-card>form{
  height:auto!important;
  min-height:0!important;
}
/* Completed stages stay deliberately compact instead of inheriting the height
   of a more detailed neighbour. */
.repair-lifecycle-grid-polished .repair-stage-complete{
  margin-top:18px!important;
}
.repair-lifecycle-grid-polished .repair-stage-actions{
  margin-top:18px!important;
  padding-top:0!important;
}
/* On a full-width invoice stage, keep summary metrics readable rather than
   stretching individual cells excessively. */
.repair-lifecycle-grid-polished .repair-invoice-summary,
.repair-lifecycle-grid-polished .repair-workflow-invoice-summary{
  max-width:100%!important;
}
@media(max-width:760px){
  .repair-lifecycle-grid-polished{gap:12px!important}
}

/* Workshop Pro 5.7.0-rc1.28.59 — POS Ready for Collection */
.pos-ready-collection-button{display:inline-flex;align-items:center;gap:8px}.pos-ready-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:rgba(255,255,255,.14);font-size:12px;font-weight:800}.pos-ready-collection-button.has-ready-jobs{border-color:rgba(52,211,153,.45);box-shadow:inset 0 0 0 1px rgba(52,211,153,.12)}
.pos-ready-collection-dialog{width:min(920px,calc(100vw - 28px));max-width:none}.pos-ready-collection-modal{width:100%;max-width:none;max-height:min(82vh,780px);display:grid;grid-template-rows:auto auto minmax(0,1fr);padding:0;overflow:hidden}.pos-ready-collection-modal .modal-head{padding:22px 24px;border-bottom:1px solid var(--border)}.pos-ready-collection-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 24px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.015)}.pos-ready-collection-summary>div{padding:12px 14px;border:1px solid var(--border);border-radius:12px;display:flex;align-items:baseline;gap:8px}.pos-ready-collection-summary strong{font-size:20px}.pos-ready-collection-summary span{font-size:12px;color:var(--muted)}.pos-ready-collection-list{overflow:auto;padding:16px 24px 24px;-webkit-overflow-scrolling:touch}.pos-ready-job{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--card);margin-bottom:10px}.pos-ready-job.has-balance{border-left:4px solid #3b82f6}.pos-ready-job.is-paid{border-left:4px solid #22c55e}.pos-ready-job-main{min-width:0;display:grid;gap:5px}.pos-ready-job-title{display:flex;gap:10px;align-items:center;justify-content:space-between}.pos-ready-job-title strong{font-size:16px}.pos-ready-job-main>span,.pos-ready-job-main>small{color:var(--muted)}.pos-ready-job-actions{display:flex;gap:8px;align-items:center}.pos-ready-empty{min-height:220px;display:grid;place-items:center;align-content:center;gap:6px;text-align:center;color:var(--muted)}.pos-ready-empty strong{color:var(--text);font-size:18px}@media(max-width:760px){.pos-ready-collection-summary{grid-template-columns:1fr}.pos-ready-job{grid-template-columns:1fr}.pos-ready-job-actions{justify-content:flex-start;flex-wrap:wrap}.pos-ready-job-title{align-items:flex-start}.pos-ready-collection-modal .modal-head,.pos-ready-collection-summary,.pos-ready-collection-list{padding-left:16px;padding-right:16px}}

/* rc1.28.61 — POS register entry gate polish */
#posRegisterDialog.pos-register-dialog{
  width:min(620px,calc(100vw - 32px));
  max-width:620px;
  padding:0;
  border:0;
  border-radius:20px;
  overflow:hidden;
  background:var(--surface,#fff);
  color:var(--text,#10213d);
}
#posRegisterDialog::backdrop{background:rgba(2,10,24,.72);backdrop-filter:blur(3px)}
#posRegisterDialog .pos-register-modal{max-width:none;width:100%;padding:0;background:var(--surface,#fff);color:var(--text,#10213d)}
#posRegisterDialog .modal-head{padding:22px 24px 18px;border-bottom:1px solid var(--line,#dfe6f0);gap:18px;align-items:flex-start}
#posRegisterDialog .modal-head>div{min-width:0}
#posRegisterDialog .modal-head h2{margin:0;font-size:1.55rem;line-height:1.15;letter-spacing:-.02em}
#posRegisterDialog .modal-head p{margin:7px 0 0;font-size:.96rem;line-height:1.45}
#posRegisterDialog .modal-head .icon{
  flex:0 0 40px;width:40px;height:40px;min-width:40px;min-height:40px;
  margin:0;padding:0;border-radius:12px;display:grid;place-items:center;
  line-height:1;font-size:1.45rem;font-weight:800;
}
#posRegisterDialog #posRegisterBody{padding:20px 24px 24px}
#posRegisterDialog .pos-register-lock-card{
  display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;align-items:center;
  margin:0 0 18px;padding:14px 16px;border:1px solid color-mix(in srgb,#e5a228 46%,var(--line,#dfe6f0));
  border-radius:14px;background:color-mix(in srgb,#e5a228 8%,var(--surface,#fff));
}
#posRegisterDialog .pos-register-lock-icon{
  width:42px;height:42px;border-radius:11px;display:grid;place-items:center;
  background:color-mix(in srgb,#e5a228 16%,var(--surface,#fff));font-size:1.1rem;
}
#posRegisterDialog .pos-register-lock-card strong{display:block;font-size:.98rem;line-height:1.25;margin:0 0 3px}
#posRegisterDialog .pos-register-lock-card span{display:block;color:var(--muted,#68758a);font-size:.9rem;line-height:1.42}
#posRegisterDialog .pos-register-open-form{display:grid;gap:18px}
#posRegisterDialog .pos-register-float-field{margin:0;gap:8px;font-size:.92rem}
#posRegisterDialog .pos-register-float-field>span{font-weight:800}
#posRegisterDialog .pos-register-float-field input{
  min-height:52px;padding:12px 14px;border-radius:11px;font-size:1.05rem;font-weight:700;
}
#posRegisterDialog .pos-register-open-actions{
  display:flex;justify-content:flex-end;align-items:center;gap:10px;margin:0;padding-top:2px;
}
#posRegisterDialog .pos-register-open-actions button{min-height:44px;padding:10px 16px;border-radius:10px}
#posRegisterDialog .pos-register-open-actions button[type="submit"]{min-width:230px}
[data-theme="dark"] #posRegisterDialog.pos-register-dialog,
body.dark #posRegisterDialog.pos-register-dialog,
[data-theme="dark"] #posRegisterDialog .pos-register-modal,
body.dark #posRegisterDialog .pos-register-modal{background:#0b1d31;color:#f4f7fb}
[data-theme="dark"] #posRegisterDialog .modal-head,
body.dark #posRegisterDialog .modal-head{border-color:#29445f}
[data-theme="dark"] #posRegisterDialog .pos-register-lock-card,
body.dark #posRegisterDialog .pos-register-lock-card{border-color:#765821;background:rgba(229,162,40,.08)}
[data-theme="dark"] #posRegisterDialog .pos-register-lock-icon,
body.dark #posRegisterDialog .pos-register-lock-icon{background:rgba(229,162,40,.14)}
[data-theme="dark"] #posRegisterDialog .pos-register-lock-card span,
body.dark #posRegisterDialog .pos-register-lock-card span{color:#aebed1}
[data-theme="dark"] #posRegisterDialog .pos-register-float-field input,
body.dark #posRegisterDialog .pos-register-float-field input{background:#10243b;color:#fff;border-color:#426080}
@media(max-width:620px){
  #posRegisterDialog.pos-register-dialog{width:calc(100vw - 20px);border-radius:17px}
  #posRegisterDialog .modal-head{padding:18px 18px 15px}
  #posRegisterDialog #posRegisterBody{padding:17px 18px 20px}
  #posRegisterDialog .pos-register-open-actions{display:grid;grid-template-columns:1fr}
  #posRegisterDialog .pos-register-open-actions button,#posRegisterDialog .pos-register-open-actions button[type="submit"]{width:100%;min-width:0}
  #posRegisterDialog .pos-register-open-actions button[type="submit"]{order:-1}
}
/* rc1.28.62 — configurable fixed POS register float */
.pos-float-settings-card{margin-top:16px}
#posRegisterDialog .pos-fixed-float-display{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:12px 14px;border:1px solid var(--line,var(--border,#d7dfeb));border-radius:11px;background:var(--surface-soft,#f6f8fb)}
#posRegisterDialog .pos-fixed-float-display strong{font-size:1.35rem;line-height:1;font-weight:900;letter-spacing:-.02em}
#posRegisterDialog .pos-fixed-float-display small{color:var(--muted,#68758a);font-size:.75rem;font-weight:750;text-align:right}
[data-theme="dark"] #posRegisterDialog .pos-fixed-float-display,body.dark #posRegisterDialog .pos-fixed-float-display{background:#10243b;border-color:#2b4665}
@media(max-width:560px){#posRegisterDialog .pos-fixed-float-display{align-items:flex-start;flex-direction:column;gap:5px}#posRegisterDialog .pos-fixed-float-display small{text-align:left}}


/* Workshop Pro 5.7.0-rc1.28.65 — POS visual polish */
#pos .pos-head{align-items:flex-end!important;gap:20px!important}
#pos .pos-head-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important}
#pos .pos-action-group{display:flex;align-items:center;gap:7px;padding:5px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--surface-soft) 72%,transparent)}
#pos .pos-action-group-sales{background:transparent;border-color:transparent;padding-right:0}
#pos .pos-action-group button{min-height:40px!important}
#pos .pos-register-status{margin-bottom:12px!important}

#pos .pos-catalog{align-self:start;min-height:0!important}
#pos .pos-catalog-meta{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:2px 2px 10px;border-bottom:1px solid var(--line);margin-bottom:10px}
#pos .pos-catalog-meta>div{display:flex;align-items:baseline;gap:9px}
#pos .pos-catalog-meta span{font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;font-weight:900;color:var(--muted)}
#pos .pos-catalog-meta strong{font-size:.9rem;color:var(--text)}
#pos .pos-catalog-meta small{font-size:.74rem;color:var(--muted)}

#pos .pos-product-grid{align-content:start!important;overflow:visible!important}
#pos .pos-product-wrap .pos-product{display:grid!important;grid-template-rows:auto minmax(2.5em,auto) minmax(2.1em,auto) 1fr auto!important;align-content:stretch!important;min-height:154px!important}
#pos .pos-product-category{align-self:start}
#pos .pos-product strong{display:block!important;margin:6px 0 3px!important;line-height:1.22!important;align-self:start}
#pos .pos-product small{min-height:2.1em!important;margin:0!important}
#pos .pos-product>b{align-self:end!important;margin-top:8px!important;line-height:1!important}

#pos .pos-selected-customer{align-items:center!important}
#pos .pos-customer-copy{display:flex!important;flex-direction:column!important;gap:3px!important;min-width:0!important;line-height:1.25!important}
#pos .pos-customer-copy strong,#pos .pos-customer-copy small{display:block!important;white-space:normal!important}
#pos .pos-customer-copy strong{font-size:.92rem}
#pos .pos-customer-copy small{font-size:.76rem!important;line-height:1.25!important}

#pos .pos-basket-head{align-items:end!important;padding-top:2px}
#pos .pos-basket-head>div{display:flex;flex-direction:column;gap:1px}
#pos .pos-section-kicker{font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;font-weight:900;color:var(--muted)}
#pos .pos-basket{margin-top:8px!important;min-height:170px!important}
#pos .pos-order-summary{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
#pos .pos-order-summary-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:3px}
#pos .pos-order-summary-head>div{display:flex;flex-direction:column;gap:2px}
#pos .pos-order-summary-head>div>strong{font-size:1rem;color:var(--text)}
#pos .pos-discount-toggle{font-weight:800!important;white-space:nowrap}
#pos .pos-discount-panel[hidden]{display:none!important}
#pos .pos-discount-panel{padding:8px 0 2px}
#pos .pos-discount-row{padding-top:0!important}
#pos .pos-totals{padding-top:8px!important}
#pos .pos-totals .grand{margin-top:8px!important}

@media(max-width:1180px){
 #pos .pos-head{align-items:flex-start!important}
 #pos .pos-head-actions{max-width:680px;flex-wrap:wrap!important}
 #pos .pos-action-group{flex-wrap:wrap}
}
@media(max-width:760px){
 #pos .pos-head-actions{display:grid!important;grid-template-columns:1fr!important;width:100%}
 #pos .pos-action-group{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
 #pos .pos-action-group-repairs button:last-child{grid-column:1/-1}
 #pos .pos-action-group button{width:100%}
 #pos .pos-catalog-meta{align-items:flex-start;flex-direction:column;gap:3px}
}

/* Workshop Pro 5.7.0-rc1.28.66 — POS targeted refinement
   Softer dark-compatible search inputs and a compact empty-basket state so
   Order Summary stays visually connected to the basket when no items exist. */
#pos #posSearch,
#pos #posCustomerSearch{
  background:color-mix(in srgb,var(--surface-soft) 92%,var(--surface));
  color:var(--text);
  border-color:color-mix(in srgb,var(--line) 86%,var(--muted));
  box-shadow:none;
}
#pos #posSearch::placeholder,
#pos #posCustomerSearch::placeholder{color:color-mix(in srgb,var(--muted) 88%,transparent)}
#pos #posSearch:focus,
#pos #posCustomerSearch:focus{
  background:var(--surface);
  border-color:var(--brand);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent);
  outline:0;
}
[data-theme="dark"] #pos #posSearch,
[data-theme="dark"] #pos #posCustomerSearch,
body.dark #pos #posSearch,
body.dark #pos #posCustomerSearch{
  background:#13253a;
  color:#f4f7fb;
  border-color:#35506d;
}
[data-theme="dark"] #pos #posSearch:focus,
[data-theme="dark"] #pos #posCustomerSearch:focus,
body.dark #pos #posSearch:focus,
body.dark #pos #posCustomerSearch:focus{
  background:#172b43;
  border-color:#4b8dff;
}
#pos .pos-basket.is-empty{
  flex:0 0 auto!important;
  min-height:150px!important;
  max-height:none!important;
  overflow:hidden!important;
}
#pos .pos-basket.is-empty .pos-basket-empty{
  min-height:150px!important;
  padding:24px 12px!important;
  display:grid!important;
  align-content:center!important;
  justify-items:center!important;
}
#pos .pos-basket.is-empty + .pos-order-summary{margin-top:10px!important}
@media(max-width:1000px){#pos .pos-basket.is-empty{min-height:135px!important}#pos .pos-basket.is-empty .pos-basket-empty{min-height:135px!important}}


/* Workshop Pro 5.7.0-rc1.28.67 — POS search + viewport fit precision pass
   Exact high-specificity Safari overrides for the two POS search fields, plus
   a tighter empty-basket checkout so the full payment action remains visible. */
html[data-theme="dark"] body #pos.pos-view #posSearch,
html[data-theme="dark"] body #pos.pos-view #posCustomerSearch{
  -webkit-appearance:none!important;
  appearance:none!important;
  background:#0b1b2c!important;
  background-color:#0b1b2c!important;
  color:#eef6ff!important;
  -webkit-text-fill-color:#eef6ff!important;
  caret-color:#70a7ff!important;
  border:1px solid #36516e!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
html[data-theme="dark"] body #pos.pos-view #posSearch::placeholder,
html[data-theme="dark"] body #pos.pos-view #posCustomerSearch::placeholder{
  color:#879bb2!important;
  -webkit-text-fill-color:#879bb2!important;
  opacity:1!important;
}
html[data-theme="dark"] body #pos.pos-view #posSearch:focus,
html[data-theme="dark"] body #pos.pos-view #posCustomerSearch:focus{
  background:#10243a!important;
  background-color:#10243a!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-color:#4b8dff!important;
  box-shadow:0 0 0 3px rgba(75,141,255,.20),inset 0 1px 0 rgba(255,255,255,.03)!important;
  outline:0!important;
}
html[data-theme="dark"] body #pos.pos-view .pos-scan-icon{color:#7f99b5!important}
html[data-theme="dark"] body #pos.pos-view .pos-scan-feedback{color:#6f86a0!important}

/* Light theme remains deliberately high contrast. */
html[data-theme="light"] body #pos.pos-view #posSearch,
html[data-theme="light"] body #pos.pos-view #posCustomerSearch{
  background:#f8fafc!important;
  background-color:#f8fafc!important;
  color:#14233a!important;
  -webkit-text-fill-color:#14233a!important;
  border-color:#bdcbd9!important;
}

/* Empty basket: reserve only the space actually needed, keeping the complete
   order summary and payment CTA inside a landscape iPad viewport. */
#pos .pos-checkout:has(.pos-basket.is-empty){padding-bottom:13px!important}
#pos .pos-basket.is-empty{
  min-height:112px!important;
  height:112px!important;
  max-height:112px!important;
  margin-top:6px!important;
}
#pos .pos-basket.is-empty .pos-basket-empty{
  min-height:112px!important;
  height:112px!important;
  padding:10px 10px!important;
  gap:3px!important;
}
#pos .pos-basket.is-empty .pos-basket-empty>span{
  width:38px!important;
  height:38px!important;
  font-size:1.05rem!important;
}
#pos .pos-basket.is-empty .pos-basket-empty strong{font-size:.94rem!important}
#pos .pos-basket.is-empty .pos-basket-empty small{font-size:.75rem!important;line-height:1.25!important}
#pos .pos-basket.is-empty + .pos-order-summary{
  margin-top:7px!important;
  padding-top:9px!important;
}
#pos .pos-basket.is-empty + .pos-order-summary .pos-order-summary-head{margin-bottom:0!important}
#pos .pos-basket.is-empty + .pos-order-summary .pos-totals{padding:5px 0 7px!important}
#pos .pos-basket.is-empty + .pos-order-summary .pos-totals>div{padding:2px 1px!important}
#pos .pos-basket.is-empty + .pos-order-summary .pos-totals .grand{
  margin-top:4px!important;
  padding-top:7px!important;
}
#pos .pos-basket.is-empty + .pos-order-summary .pos-pay-button{
  min-height:48px!important;
  margin-top:3px!important;
}

@media (max-height:820px) and (min-width:900px){
  #pos .pos-customer-block{padding-bottom:8px!important}
  #pos .pos-selected-customer{padding:9px 10px!important}
  #pos .pos-basket-head{margin-top:9px!important}
  #pos .pos-basket.is-empty{min-height:98px!important;height:98px!important;max-height:98px!important}
  #pos .pos-basket.is-empty .pos-basket-empty{min-height:98px!important;height:98px!important;padding:7px 10px!important}
  #pos .pos-basket.is-empty .pos-basket-empty>span{width:34px!important;height:34px!important}
}


/* Workshop Pro 5.7.0-rc1.28.68 — CCUS Club at POS */
.pos-club-shortcut{white-space:nowrap}
.pos-selected-customer .pos-customer-actions{margin-left:auto;display:flex;align-items:center;gap:8px;flex:0 0 auto}
.pos-inline-club{margin-left:auto}
.pos-club-chip{display:inline-flex;margin-top:5px;padding:4px 8px;border:1px solid rgba(73,139,255,.34);border-radius:999px;background:rgba(73,139,255,.1);color:#bcd4ff;font-size:12px;font-weight:700;width:max-content;max-width:100%}
.pos-club-dialog{width:min(760px,calc(100vw - 28px));max-width:none;border:0;background:transparent;padding:0}
.pos-club-modal{width:100%;max-height:min(82vh,760px);overflow:hidden;display:flex;flex-direction:column}
.pos-club-current{padding:16px 20px 0}
.pos-club-member-card{border:1px solid var(--line);border-radius:14px;background:var(--panel-2,#111f31);padding:16px}
.pos-club-member-head,.pos-club-attached-customer,.pos-club-current-actions{display:flex;align-items:center;justify-content:space-between;gap:14px}
.pos-club-member-head>div,.pos-club-attached-customer>div{display:grid;gap:3px}
.pos-club-member-head strong,.pos-club-attached-customer strong{font-size:18px}
.pos-club-member-head small,.pos-club-attached-customer small,.pos-club-current-actions span,.pos-club-no-customer span{color:var(--muted)}
.pos-club-balance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.pos-club-balance-grid>div{padding:10px 12px;border:1px solid var(--line);border-radius:10px;display:grid;gap:3px}
.pos-club-balance-grid span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}
.pos-club-balance-grid strong{font-size:17px}
.pos-club-current-actions{padding:10px 2px 0}
.pos-club-attached-customer,.pos-club-no-customer{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:var(--panel-2,#111f31)}
.pos-club-no-customer{display:grid;gap:4px}
.pos-club-search-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;padding:16px 20px 10px}
.pos-club-search-panel label{display:grid;gap:7px;font-weight:800}
.pos-club-search-panel input{min-height:46px}
.pos-club-results{padding:0 20px 16px;overflow:auto;min-height:100px}
.pos-club-result{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;margin:8px 0;padding:12px 14px;background:var(--panel-2,#111f31);border:1px solid var(--line);border-radius:12px;color:inherit}
.pos-club-result:hover,.pos-club-result:focus-visible{border-color:#4b8cff;background:rgba(75,140,255,.09)}
.pos-club-result span{display:grid;gap:3px}.pos-club-result span:last-child{text-align:right}.pos-club-result small{color:var(--muted)}
.pos-club-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--line);background:var(--panel,#132238)}
@media(max-width:760px){.pos-club-balance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-club-search-panel{grid-template-columns:1fr}.pos-club-search-panel>button{width:100%}.pos-club-attached-customer,.pos-club-current-actions{align-items:stretch;flex-direction:column}.pos-club-modal-footer{flex-direction:column-reverse}.pos-club-modal-footer button{width:100%}}

/* Workshop Pro 5.7.0-rc1.28.69 — CCUS Club POS search contrast */
#posClubDialog .pos-club-search-panel input,
#posClubDialog input#posClubSearch{
  -webkit-appearance:none!important;
  appearance:none!important;
  background:#101f33!important;
  background-color:#101f33!important;
  color:#f4f7fb!important;
  border:1px solid #405674!important;
  caret-color:#73a7ff!important;
  -webkit-text-fill-color:#f4f7fb!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
#posClubDialog .pos-club-search-panel input::placeholder,
#posClubDialog input#posClubSearch::placeholder{
  color:#91a3bc!important;
  opacity:1!important;
  -webkit-text-fill-color:#91a3bc!important;
}
#posClubDialog .pos-club-search-panel input:focus,
#posClubDialog input#posClubSearch:focus{
  background:#13253c!important;
  background-color:#13253c!important;
  color:#fff!important;
  border-color:#4b8cff!important;
  outline:0!important;
  box-shadow:0 0 0 3px rgba(75,140,255,.22)!important;
  -webkit-text-fill-color:#fff!important;
}
html[data-theme="light"] #posClubDialog .pos-club-search-panel input,
html[data-theme="light"] #posClubDialog input#posClubSearch{
  background:#fff!important;
  background-color:#fff!important;
  color:#172235!important;
  border-color:#b8c4d4!important;
  caret-color:#246fe5!important;
  -webkit-text-fill-color:#172235!important;
}
html[data-theme="light"] #posClubDialog .pos-club-search-panel input::placeholder,
html[data-theme="light"] #posClubDialog input#posClubSearch::placeholder{
  color:#66758a!important;
  -webkit-text-fill-color:#66758a!important;
}

/* Workshop Pro 5.7.0-rc1.28.70 — CCUS Club POS modal contrast */
#posClubDialog.pos-club-dialog{
  background:transparent!important;
  color:var(--text)!important;
}
#posClubDialog.pos-club-dialog::backdrop{
  background:rgba(2,8,18,.78)!important;
  -webkit-backdrop-filter:blur(2px);
  backdrop-filter:blur(2px);
}
#posClubDialog .pos-club-modal{
  background:#0f1d30!important;
  background-color:#0f1d30!important;
  border:1px solid #29425f!important;
  border-radius:18px!important;
  box-shadow:0 28px 80px rgba(0,0,0,.58)!important;
  color:#f4f7fb!important;
  isolation:isolate;
}
#posClubDialog .modal-head{
  flex:0 0 auto;
  padding:20px!important;
  background:#12243a!important;
  border-bottom:1px solid #29425f!important;
  border-radius:18px 18px 0 0!important;
}
#posClubDialog .modal-head h2,
#posClubDialog .modal-head strong{color:#f7f9fc!important}
#posClubDialog .modal-head p{color:#b5c3d6!important}
#posClubDialog .modal-head .eyebrow{color:#c7d5e8!important}
#posClubDialog .modal-head .icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  padding:0!important;
  margin:0!important;
  line-height:1!important;
  border-radius:12px!important;
  background:#203954!important;
  color:#fff!important;
}
#posClubDialog .pos-club-current,
#posClubDialog .pos-club-search-panel,
#posClubDialog .pos-club-results{
  background:#0f1d30!important;
}
#posClubDialog .pos-club-no-customer,
#posClubDialog .pos-club-attached-customer,
#posClubDialog .pos-club-member-card,
#posClubDialog .pos-club-result{
  background:#14263b!important;
  border-color:#304965!important;
  color:#f4f7fb!important;
}
#posClubDialog .pos-club-no-customer span,
#posClubDialog .pos-club-attached-customer small,
#posClubDialog .pos-club-member-card small,
#posClubDialog .pos-club-result small{color:#aebdd0!important}
#posClubDialog .pos-club-modal-footer{
  flex:0 0 auto;
  background:#12243a!important;
  border-top:1px solid #29425f!important;
  border-radius:0 0 18px 18px!important;
}
html[data-theme="light"] #posClubDialog .pos-club-modal{
  background:#fff!important;
  background-color:#fff!important;
  border-color:#c9d5e3!important;
  color:#172235!important;
  box-shadow:0 28px 80px rgba(20,38,62,.25)!important;
}
html[data-theme="light"] #posClubDialog .modal-head,
html[data-theme="light"] #posClubDialog .pos-club-current,
html[data-theme="light"] #posClubDialog .pos-club-search-panel,
html[data-theme="light"] #posClubDialog .pos-club-results,
html[data-theme="light"] #posClubDialog .pos-club-modal-footer{background:#fff!important}
html[data-theme="light"] #posClubDialog .modal-head{border-bottom-color:#d8e1eb!important}
html[data-theme="light"] #posClubDialog .pos-club-modal-footer{border-top-color:#d8e1eb!important}
html[data-theme="light"] #posClubDialog .modal-head h2{color:#172235!important}
html[data-theme="light"] #posClubDialog .modal-head p,
html[data-theme="light"] #posClubDialog .modal-head .eyebrow{color:#607086!important}
html[data-theme="light"] #posClubDialog .pos-club-no-customer,
html[data-theme="light"] #posClubDialog .pos-club-attached-customer,
html[data-theme="light"] #posClubDialog .pos-club-member-card,
html[data-theme="light"] #posClubDialog .pos-club-result{
  background:#f5f8fc!important;
  border-color:#d6e0eb!important;
  color:#172235!important;
}


/* Workshop Pro 5.7.0-rc1.28.71 — CCUS Club Management physical card controls */
.club-card-management{margin:0 0 16px;padding:15px 16px;border:1px solid var(--club-border,var(--border));border-radius:14px;background:var(--club-panel-soft,var(--surface-2));display:flex;align-items:center;justify-content:space-between;gap:18px}.club-card-management-copy{min-width:0;display:grid;gap:4px}.club-card-management-copy .eyebrow{font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--club-muted,var(--muted))}.club-card-management-copy strong{font-size:1.05rem;color:var(--club-copy,var(--text));overflow-wrap:anywhere}.club-card-management-copy small{color:var(--club-muted,var(--muted));line-height:1.45}.club-card-management-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;flex:0 0 auto}.club-card-management-actions button{min-height:42px;white-space:nowrap}
@media(max-width:760px){.club-card-management{align-items:stretch;flex-direction:column}.club-card-management-actions{justify-content:stretch}.club-card-management-actions button{flex:1 1 auto}}

/* Workshop Pro 5.7.0-rc1.28.74 — CCUS Club card assignment dialog polish */
#clubCardDialog.club-card-dialog{width:min(660px,calc(100vw - 28px));max-width:660px;padding:0;border:1px solid color-mix(in srgb,var(--border) 88%,#4d79ae 12%);border-radius:20px;background:var(--surface);color:var(--text);box-shadow:0 30px 90px rgba(0,0,0,.48);overflow:hidden}
#clubCardDialog.club-card-dialog::backdrop{background:rgba(1,7,17,.72);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
#clubCardDialog .club-card-dialog-card{width:100%;max-width:none;margin:0;padding:0;background:var(--surface);border:0;border-radius:0;box-shadow:none;overflow:hidden}
#clubCardDialog .club-card-dialog-head{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:18px;align-items:start;padding:22px 22px 18px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-2) 62%,var(--surface)),var(--surface))}
#clubCardDialog .club-card-dialog-head .eyebrow{display:block;margin:0 0 5px;color:var(--accent-text);font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
#clubCardDialog .club-card-dialog-head h2{margin:0;color:var(--text);font-size:1.35rem;line-height:1.15}
#clubCardDialog .club-card-dialog-head p{max-width:520px;margin:7px 0 0;color:var(--muted);font-size:.9rem;line-height:1.42}
#clubCardDialog .club-card-dialog-close{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;margin:0!important;padding:0!important;border-radius:12px!important;font-size:1.45rem!important;line-height:1!important;text-align:center!important}
#clubCardDialog .club-card-dialog-body{display:grid;gap:14px;padding:20px 22px 18px}
#clubCardDialog .club-card-dialog-field{display:grid;gap:7px;margin:0;color:var(--text);font-weight:800}
#clubCardDialog .club-card-dialog-field>span{font-size:.78rem;letter-spacing:.01em}
#clubCardDialog .club-card-dialog-field input{width:100%;height:50px;margin:0;padding:0 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)!important;color:var(--text)!important;-webkit-text-fill-color:var(--text)!important;box-shadow:none;font-size:1rem;font-weight:700}
#clubCardDialog .club-card-dialog-field input::placeholder{color:var(--muted)!important;opacity:.9}
#clubCardDialog .club-card-dialog-field input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}
#clubCardDialog .club-card-dialog-customer input[readonly]{background:color-mix(in srgb,var(--surface-2) 72%,var(--surface))!important;color:var(--muted)!important;-webkit-text-fill-color:var(--muted)!important;cursor:default}
#clubCardDialog .club-card-dialog-help{display:grid;gap:3px;padding:12px 13px;border:1px solid color-mix(in srgb,var(--border) 80%,var(--accent) 20%);border-radius:12px;background:color-mix(in srgb,var(--accent-soft) 30%,var(--surface-2))}
#clubCardDialog .club-card-dialog-help strong{font-size:.8rem;color:var(--text)}
#clubCardDialog .club-card-dialog-help span{font-size:.78rem;line-height:1.4;color:var(--muted)}
#clubCardDialog .club-card-dialog-error{min-height:0;margin:0}.club-card-dialog-error:empty{display:none}
#clubCardDialog .club-card-dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px;margin:0;padding:15px 22px 18px;border-top:1px solid var(--border);background:var(--surface-2)}
#clubCardDialog .club-card-dialog-actions button{min-height:44px;margin:0;padding:0 16px;white-space:nowrap}
html[data-theme="dark"] #clubCardDialog .club-card-dialog-field input{background:#16283f!important;border-color:#36506f!important;color:#f1f6ff!important;-webkit-text-fill-color:#f1f6ff!important}
html[data-theme="dark"] #clubCardDialog .club-card-dialog-customer input[readonly]{background:#111f31!important;color:#9fb0c5!important;-webkit-text-fill-color:#9fb0c5!important}
html[data-theme="light"] #clubCardDialog.club-card-dialog{background:#fff;color:#10213d}html[data-theme="light"] #clubCardDialog .club-card-dialog-card{background:#fff}html[data-theme="light"] #clubCardDialog .club-card-dialog-field input{background:#f7f9fc!important;color:#10213d!important;-webkit-text-fill-color:#10213d!important;border-color:#c4cfdd!important}
@media(max-width:620px){#clubCardDialog .club-card-dialog-head{padding:18px 17px 15px}#clubCardDialog .club-card-dialog-body{padding:16px 17px}#clubCardDialog .club-card-dialog-actions{padding:14px 17px;display:grid;grid-template-columns:1fr}#clubCardDialog .club-card-dialog-actions button{width:100%}}


/* Workshop Pro 5.7.0-rc1.28.74 — CCUS Club major workspace polish */
.club-v74{--club-gap:18px;--club-radius:16px;max-width:1600px;margin-inline:auto}
.club-v74 .club-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:0 0 18px;padding:0 2px}
.club-v74 .club-page-copy{min-width:0}.club-v74 .club-page-copy>.eyebrow{color:var(--accent-text);font-weight:900;letter-spacing:.13em}.club-v74 .club-title-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:3px}.club-v74 .club-title-line h1{margin:0;font-size:2rem;line-height:1.08}.club-v74 .club-page-copy>p{margin:7px 0 0;color:var(--club-muted);font-size:1rem}.club-v74 .club-refresh{min-height:42px;padding-inline:15px;white-space:nowrap}
.club-v74 #clubStats.club-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 var(--club-gap)}
.club-v74 #clubStats .club-stat{min-height:112px;padding:17px!important;border-radius:var(--club-radius)!important;grid-template-columns:50px minmax(0,1fr);gap:14px}.club-v74 #clubStats .club-stat-icon{width:48px;height:48px}.club-v74 #clubStats .club-stat strong{font-size:1.7rem!important}.club-v74 #clubStats .club-stat span:not(.club-stat-icon){font-size:.94rem}.club-v74 #clubStats .club-stat small{font-size:.74rem}
.club-v74 .club-workspace-grid{display:grid;grid-template-columns:minmax(330px,.78fr) minmax(0,1.45fr);gap:var(--club-gap);align-items:stretch;margin-bottom:var(--club-gap)}
.club-v74 .club-member-search-panel,.club-v74 .club-member-workspace,.club-v74 .club-settings-v74{border-radius:var(--club-radius);border:1px solid var(--club-border);box-shadow:0 8px 28px rgba(var(--shadow),.08)}
.club-v74 .club-member-search-panel{position:static;min-height:330px;padding:18px}.club-v74 .club-member-workspace{min-height:330px;padding:0;overflow:hidden}
.club-v74 .club-panel-heading{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;align-items:start}.club-v74 .club-panel-heading .club-section-icon{width:34px;height:34px;border-radius:10px}.club-v74 .club-panel-heading h2{margin:1px 0 4px;font-size:1.08rem;line-height:1.2}.club-v74 .club-panel-heading p{margin:0;color:var(--club-muted);font-size:.85rem;line-height:1.45}
.club-v74 .club-search-field{position:relative;display:block;margin:18px 0 0}.club-v74 .club-search-field input[type=search]{width:100%;height:52px!important;margin:0!important;padding:0 44px 0 14px!important;border-radius:12px!important;font-size:.96rem!important;font-weight:700!important}.club-v74 .club-search-field-icon{position:absolute;right:15px;top:50%;transform:translateY(-50%);color:var(--club-muted);font-size:1.05rem;pointer-events:none}
.club-v74 .club-search-results{max-height:470px;margin-top:12px;padding-right:2px;overflow:auto;overscroll-behavior:contain}.club-v74 .club-search-idle{display:grid;gap:4px;padding:18px 8px 6px;text-align:center;color:var(--club-muted)}.club-v74 .club-search-idle span{color:var(--club-copy);font-weight:800}.club-v74 .club-search-idle small{font-size:.8rem}.club-v74 .club-result{min-height:66px;padding:12px 13px;border-radius:12px}.club-v74 .club-result strong{font-size:.92rem}.club-v74 .club-result small{font-size:.75rem;line-height:1.35}
.club-v74 .club-empty-state{min-height:328px;padding:34px}.club-v74 .club-empty-icon{width:54px;height:54px;font-size:1.4rem}.club-v74 .club-empty-state strong{font-size:1.04rem}.club-v74 .club-empty-state span{max-width:500px;line-height:1.5}
.club-v74 .club-member-shell{padding:20px}.club-v74 .club-member-head{padding-bottom:16px;border-bottom:1px solid var(--club-border)}.club-v74 .club-member-head h2{font-size:1.55rem;margin:4px 0 3px}.club-v74 .club-member-head .pill{align-self:start}
.club-v74 .club-card-code{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0;padding:14px 15px}.club-v74 .club-card-code>div{display:grid;gap:3px;min-width:0}.club-v74 .club-card-code strong{font-size:1rem}.club-v74 .club-card-code small{max-width:370px;text-align:right;line-height:1.4}
.club-v74 .club-balance-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:15px 0}.club-v74 .club-balance-grid>div{min-height:92px;padding:13px 14px;align-content:center}.club-v74 .club-balance-grid span{font-size:.75rem}.club-v74 .club-balance-grid strong{font-size:1.25rem}.club-v74 .club-balance-grid small{color:var(--club-muted);font-size:.67rem;line-height:1.2}
.club-v74 .club-card-management{margin:15px 0}.club-v74 .club-actions{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0 19px}.club-v74 .club-actions button{min-height:42px}
.club-v74 .club-ledgers{grid-template-columns:1fr 1fr;gap:14px;padding-top:18px;border-top:1px solid var(--club-border)}.club-v74 .club-ledgers section{padding:14px 15px;border:1px solid var(--club-border);border-radius:13px;background:var(--club-panel-soft)}.club-v74 .club-ledger-heading{display:grid;gap:2px;margin-bottom:8px}.club-v74 .club-ledger-heading .eyebrow{font-size:.64rem;letter-spacing:.11em}.club-v74 .club-ledger-heading h3{margin:0;font-size:1rem}.club-v74 .club-ledger-row:last-child{border-bottom:0}.club-v74 .club-ledger-empty{padding:20px 4px;color:var(--club-muted);text-align:center;font-size:.83rem}
.club-v74 .club-settings-v74{padding:0;overflow:hidden}.club-v74 .club-settings-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;border-bottom:1px solid var(--club-border)}.club-v74 .club-settings-save-top{min-height:44px;white-space:nowrap}.club-v74 .club-settings-form-v74{display:grid;grid-template-columns:minmax(250px,1.05fr) repeat(2,minmax(190px,1fr));gap:14px;padding:18px 20px 16px}.club-v74 .club-setting-toggle,.club-v74 .club-setting-field{margin:0;border:1px solid var(--club-border);border-radius:12px;background:var(--club-panel-soft);color:var(--club-copy)}
.club-v74 .club-setting-toggle{display:grid;grid-template-columns:24px minmax(0,1fr);gap:11px;align-items:start;padding:14px}.club-v74 .club-setting-toggle input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--accent)}.club-v74 .club-setting-toggle span{display:grid;gap:4px}.club-v74 .club-setting-toggle strong{font-size:.88rem;line-height:1.3}.club-v74 .club-setting-toggle small,.club-v74 .club-setting-field small{color:var(--club-muted);font-size:.72rem;line-height:1.35}.club-v74 .club-setting-field{display:grid;grid-template-rows:auto 48px auto;gap:7px;padding:13px 14px}.club-v74 .club-setting-field>span{font-size:.78rem;font-weight:900}.club-v74 .club-setting-field input[type=number]{width:100%;height:48px;margin:0!important;padding:0 12px!important;border-radius:10px!important;font-size:.95rem!important;font-weight:800!important}.club-v74 .club-setting-auto{grid-column:2 / 4}.club-v74 .club-settings-mobile-action{display:none}.club-v74 .club-settings-rule{margin:0 20px 18px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--club-border) 82%,var(--club-accent) 18%);border-radius:11px;background:color-mix(in srgb,var(--club-panel-soft) 88%,var(--club-accent) 12%);color:var(--club-muted);font-size:.8rem;line-height:1.4}
html[data-theme="dark"] .club-v74 .club-search-field input[type=search],html[data-theme="dark"] .club-v74 .club-setting-field input[type=number]{background:#152840!important;color:#f3f7ff!important;-webkit-text-fill-color:#f3f7ff!important;border-color:#36516f!important}html[data-theme="dark"] .club-v74 .club-search-field input::placeholder{color:#93a6bd!important}html[data-theme="dark"] .club-v74 .club-setting-toggle,html[data-theme="dark"] .club-v74 .club-setting-field,html[data-theme="dark"] .club-v74 .club-ledgers section{background:#112238!important}
html:not([data-theme="dark"]) .club-v74 .club-search-field input[type=search],html:not([data-theme="dark"]) .club-v74 .club-setting-field input[type=number]{background:#fff!important;color:#10213d!important;-webkit-text-fill-color:#10213d!important;border-color:#bdcada!important}
@media(max-width:1120px){.club-v74 #clubStats.club-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.club-v74 .club-workspace-grid{grid-template-columns:minmax(300px,.9fr) minmax(0,1.25fr)}.club-v74 .club-balance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.club-v74 .club-settings-form-v74{grid-template-columns:1fr 1fr}.club-v74 .club-setting-auto{grid-column:auto}.club-v74 .club-setting-enable{grid-row:span 2}}
@media(max-width:820px){.club-v74 .club-workspace-grid{grid-template-columns:1fr}.club-v74 .club-member-search-panel{min-height:0}.club-v74 .club-search-results{max-height:300px}.club-v74 .club-settings-head{align-items:flex-start}.club-v74 .club-settings-form-v74{grid-template-columns:1fr 1fr}.club-v74 .club-setting-enable{grid-row:auto}.club-v74 .club-card-code{align-items:flex-start;flex-direction:column}.club-v74 .club-card-code small{text-align:left}.club-v74 .club-ledgers{grid-template-columns:1fr}}
@media(max-width:620px){.club-v74 .club-page-head{align-items:stretch;flex-direction:column}.club-v74 .club-refresh{align-self:flex-start}.club-v74 #clubStats.club-kpi-grid{grid-template-columns:1fr}.club-v74 .club-settings-save-top{display:none}.club-v74 .club-settings-form-v74{grid-template-columns:1fr;padding:15px}.club-v74 .club-settings-mobile-action{display:block}.club-v74 .club-settings-mobile-action button{width:100%}.club-v74 .club-settings-head{padding:16px}.club-v74 .club-settings-rule{margin:0 15px 15px}.club-v74 .club-balance-grid{grid-template-columns:1fr 1fr}.club-v74 .club-member-shell{padding:16px}.club-v74 .club-member-head{align-items:flex-start;flex-direction:column}.club-v74 .club-actions button{flex:1 1 auto}}
\n/* Workshop Pro 5.7.0-rc1.28.75 — CCUS Club member workflow tidy-up */
.club-v74 .club-workspace-grid{grid-template-columns:minmax(0,1fr)!important;gap:16px!important;align-items:start!important}
.club-v74 #clubMemberFinder[hidden],.club-v74 #clubMemberWorkspace[hidden]{display:none!important}
.club-v74 #clubMemberFinder{min-height:0!important;padding:18px 20px!important}
.club-v74 #clubMemberWorkspace{min-height:0!important;width:100%}
.club-v74 .club-member-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.club-v74 .club-change-member{min-height:40px;padding:8px 12px;white-space:nowrap}
@media(min-width:821px){
 .club-v74 #clubMemberFinder{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(360px,1.28fr);grid-template-rows:auto auto;column-gap:24px;row-gap:0;align-items:start}
 .club-v74 #clubMemberFinder .club-panel-heading{grid-column:1;grid-row:1 / span 2;align-self:center}
 .club-v74 #clubMemberFinder .club-search-field{grid-column:2;grid-row:1;margin:0!important}
 .club-v74 #clubMemberFinder .club-search-results{grid-column:2;grid-row:2;max-height:330px;margin-top:10px}
 .club-v74 #clubMemberFinder .club-search-idle{padding:8px 4px 0;text-align:left}
}
@media(max-width:820px){
 .club-v74 #clubMemberFinder{display:block}
 .club-v74 .club-member-head-actions{justify-content:flex-start}
}

/* Workshop Pro 5.7.0-rc1.28.76 — CCUS Club full-width member workflow correction */
.club-v74 .club-workspace-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;
  max-width:none!important;
  gap:16px!important;
  align-items:start!important;
}
.club-v74 #clubMemberFinder,
.club-v74 #clubMemberWorkspace{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  justify-self:stretch!important;
  box-sizing:border-box!important;
}
.club-v74 #clubMemberWorkspace .club-member-shell{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.club-v74 #clubMemberFinder{
  min-height:0!important;
  padding:16px 18px!important;
}
.club-v74 #clubMemberFinder[hidden],
.club-v74 #clubMemberWorkspace[hidden]{display:none!important}

/* Finder is one clean full-width row: context on the left, search on the right. */
@media(min-width:821px){
  .club-v74 #clubMemberFinder{
    display:grid!important;
    grid-template-columns:minmax(260px,.72fr) minmax(500px,1.55fr)!important;
    grid-template-rows:auto!important;
    column-gap:24px!important;
    align-items:center!important;
  }
  .club-v74 #clubMemberFinder .club-panel-heading{
    grid-column:1!important;
    grid-row:1!important;
    align-self:center!important;
  }
  .club-v74 #clubMemberFinder .club-search-field{
    grid-column:2!important;
    grid-row:1!important;
    margin:0!important;
    width:100%!important;
  }
  .club-v74 #clubMemberFinder .club-search-results{
    grid-column:1 / -1!important;
    grid-row:2!important;
    width:100%!important;
    max-height:330px!important;
    margin:12px 0 0!important;
  }
  .club-v74 #clubMemberFinder .club-search-idle{
    display:none!important;
  }
}

/* Selected account always occupies the complete content row. */
.club-v74.club-member-selected #clubMemberWorkspace,
.club-v74 #clubMemberWorkspace:not([hidden]){
  display:block!important;
  width:100%!important;
  max-width:none!important;
}
.club-v74 #clubMemberWorkspace .club-member-head{
  width:100%!important;
}
.club-v74 #clubMemberWorkspace .club-card-code,
.club-v74 #clubMemberWorkspace .club-balance-grid,
.club-v74 #clubMemberWorkspace .club-card-management,
.club-v74 #clubMemberWorkspace .club-actions,
.club-v74 #clubMemberWorkspace .club-ledgers{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}

@media(max-width:820px){
  .club-v74 #clubMemberFinder{display:block!important}
  .club-v74 #clubMemberFinder .club-search-field{margin-top:14px!important}
  .club-v74 #clubMemberFinder .club-search-idle{display:none!important}
}

/* Workshop Pro 5.7.0-rc1.28.77 — CCUS Club savings / goal dialog polish */
dialog.club-money-dialog{
  width:min(680px,calc(100vw - 32px));
  max-width:680px;
  padding:0!important;
  border:0!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:transparent!important;
  color:var(--text);
  box-shadow:0 28px 80px rgba(0,0,0,.48)!important;
}
dialog.club-money-dialog::backdrop{background:rgba(2,9,20,.76);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.club-money-card{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #2d4562!important;
  border-radius:18px!important;
  background:#0e1e32!important;
  color:#f4f8ff!important;
  box-shadow:none!important;
}
.club-money-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 18px;border-bottom:1px solid #29405c;background:#13253b}
.club-money-head>div{display:grid;gap:4px;min-width:0}.club-money-head .eyebrow{color:#8fb8ef;font-size:.68rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.club-money-head h2{margin:0!important;color:#f7faff!important;font-size:1.45rem!important;line-height:1.12}.club-money-head p{margin:2px 0 0!important;max-width:540px;color:#aebfd4!important;font-size:.9rem!important;line-height:1.45}
.club-money-close{display:grid!important;place-items:center!important;flex:0 0 42px!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;margin:0!important;padding:0!important;border:1px solid #355373!important;border-radius:12px!important;background:#203854!important;color:#f7fbff!important;font-family:Arial,sans-serif!important;font-size:25px!important;font-weight:800!important;line-height:1!important;appearance:none;-webkit-appearance:none}
.club-money-close:hover,.club-money-close:focus-visible{background:#29486c!important;border-color:#4b79a9!important;outline:none!important}
.club-money-body{display:grid;gap:16px;padding:20px 24px 22px;background:#0e1e32}
.club-money-notice{display:grid;grid-template-columns:44px minmax(0,1fr);gap:13px;align-items:center;padding:13px 14px;border:1px solid #31516e;border-radius:13px;background:#142a42}
.club-money-notice-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#0e5c42;color:#bff4db;font-size:1.15rem;font-weight:900}.club-goal-notice .club-money-notice-icon{background:#173f73;color:#c7ddff}
.club-money-notice>div{display:grid;gap:3px}.club-money-notice strong{color:#f4f8ff;font-size:.9rem}.club-money-notice span:not(.club-money-notice-icon){color:#aebfd4;font-size:.79rem;line-height:1.4}
.club-money-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.club-money-field{display:grid!important;grid-template-rows:auto 50px auto;gap:7px!important;margin:0!important;color:#f1f6fd!important;font-size:.82rem!important;font-weight:800!important}.club-money-full{grid-column:1/-1}.club-money-field>span{display:flex;align-items:center;gap:7px}.club-money-field em{color:#8398b2;font-size:.7rem;font-style:normal;font-weight:700}.club-money-field small{color:#8499b2;font-size:.7rem;font-weight:600;line-height:1.35}
.club-money-field input,.club-money-field select{width:100%!important;height:50px!important;margin:0!important;padding:0 13px!important;border:1px solid #3b5675!important;border-radius:11px!important;background:#172a42!important;color:#f6f9ff!important;-webkit-text-fill-color:#f6f9ff!important;font-size:.96rem!important;font-weight:750!important;box-shadow:none!important;outline:none!important;appearance:auto}
.club-money-field input::placeholder{color:#71869f!important;-webkit-text-fill-color:#71869f!important}.club-money-field input:focus,.club-money-field select:focus{border-color:#4c8df6!important;box-shadow:0 0 0 3px rgba(76,141,246,.18)!important;background:#1a304c!important}
.club-money-amount input{font-variant-numeric:tabular-nums;font-size:1.08rem!important}
.club-money-error{margin:0!important;min-height:0}.club-money-error:empty{display:none!important}
.club-money-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #29405c;background:#13253b}.club-money-footer button{min-height:44px!important;padding:10px 17px!important;border-radius:10px!important}.club-money-footer button[type=submit]{min-width:150px}
html:not([data-theme="dark"]) .club-money-card{background:#fff!important;color:#10213d!important;border-color:#c9d6e4!important}html:not([data-theme="dark"]) .club-money-head,html:not([data-theme="dark"]) .club-money-footer{background:#f4f8fc!important;border-color:#d8e2ed!important}html:not([data-theme="dark"]) .club-money-head h2,html:not([data-theme="dark"]) .club-money-field{color:#10213d!important}html:not([data-theme="dark"]) .club-money-head p,html:not([data-theme="dark"]) .club-money-notice span:not(.club-money-notice-icon),html:not([data-theme="dark"]) .club-money-field small{color:#5d6f84!important}html:not([data-theme="dark"]) .club-money-body{background:#fff!important}html:not([data-theme="dark"]) .club-money-notice{background:#f5f9fd!important;border-color:#d4e0eb!important}html:not([data-theme="dark"]) .club-money-notice strong{color:#10213d!important}html:not([data-theme="dark"]) .club-money-field input,html:not([data-theme="dark"]) .club-money-field select{background:#fff!important;color:#10213d!important;-webkit-text-fill-color:#10213d!important;border-color:#bdcada!important}html:not([data-theme="dark"]) .club-money-close{background:#e7eef7!important;color:#18304d!important;border-color:#cad7e4!important}
@media(max-width:620px){dialog.club-money-dialog{width:min(96vw,680px)}.club-money-head{padding:18px}.club-money-body{padding:17px 18px 19px}.club-money-fields{grid-template-columns:1fr}.club-money-field,.club-money-full{grid-column:1}.club-money-footer{padding:14px 18px;flex-direction:column-reverse;align-items:stretch}.club-money-footer button{width:100%!important}.club-money-notice{grid-template-columns:38px minmax(0,1fr)}.club-money-notice-icon{width:38px;height:38px}}


/* Workshop Pro 5.7.0-rc1.28.78 — CCUS Club Reserved Purchase */
.club-reservation-section{margin:18px 0;padding:18px;border:1px solid var(--club-border,var(--border));border-radius:16px;background:var(--club-panel-soft,var(--surface-2))}.club-reservation-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px}.club-reservation-head h3{margin:3px 0 2px;color:var(--club-copy,var(--text));font-size:1.05rem}.club-reservation-head p{margin:0;color:var(--club-muted,var(--muted));font-size:.88rem}.club-reservation-list{display:grid;gap:10px}.club-reservation-card{padding:14px;border:1px solid var(--club-border,var(--border));border-radius:14px;background:var(--surface)}.club-reservation-card.is-active{border-color:color-mix(in srgb,var(--accent) 40%,var(--club-border,var(--border)))}.club-reservation-main,.club-reservation-foot{display:flex;justify-content:space-between;align-items:center;gap:14px}.club-reservation-main>div:first-child{display:grid;gap:3px}.club-reservation-main strong{color:var(--club-copy,var(--text))}.club-reservation-main small,.club-reservation-foot span,.club-reservation-price small{color:var(--club-muted,var(--muted));font-size:.8rem}.club-reservation-status{width:max-content;padding:4px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent-text);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.club-reservation-price{text-align:right;display:grid;gap:2px}.club-reservation-price strong{font-size:1.12rem}.club-reservation-progress{margin:11px 0}.club-reservation-foot button{min-height:34px;padding:7px 10px}.club-reservation-empty{display:flex;align-items:center;gap:12px;padding:14px;border:1px dashed var(--club-border,var(--border));border-radius:12px;color:var(--club-muted,var(--muted))}.club-reservation-empty>span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--accent-soft);color:var(--accent-text)}.club-reservation-empty>div{display:grid;gap:2px}.club-reservation-empty strong{color:var(--club-copy,var(--text))}.club-reserve-dialog{background:rgba(4,10,20,.76);backdrop-filter:blur(4px)}.club-reserve-card{width:min(920px,calc(100vw - 34px));max-height:min(820px,calc(100dvh - 34px));padding:0!important;overflow:hidden;background:var(--surface)!important;border:1px solid var(--club-border,var(--border));border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.35);display:grid;grid-template-rows:auto minmax(0,1fr) auto}.club-reserve-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:20px 22px 17px;border-bottom:1px solid var(--club-border,var(--border));background:var(--surface)}.club-reserve-head h2{margin:4px 0;color:var(--club-copy,var(--text))}.club-reserve-head p{margin:0;color:var(--club-muted,var(--muted))}.club-reserve-body{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(360px,1.1fr);min-height:0;overflow:hidden}.club-reserve-search,.club-reserve-details{padding:18px;min-height:0;overflow:auto}.club-reserve-search{border-right:1px solid var(--club-border,var(--border));background:var(--club-panel-soft,var(--surface-2))}.club-reserve-search label,.club-reserve-fields label{display:grid;gap:7px;color:var(--club-copy,var(--text));font-weight:700}.club-reserve-search input,.club-reserve-fields input{width:100%;background:var(--club-field,var(--surface-2))!important;color:var(--club-copy,var(--text))!important;border:1px solid var(--club-border,var(--border))!important;border-radius:11px;padding:11px 12px}.club-reserve-search input:focus,.club-reserve-fields input:focus{outline:0;border-color:var(--accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.club-reservation-results{display:grid;gap:8px;margin-top:12px}.club-reservation-result{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;padding:11px 12px;border:1px solid var(--club-border,var(--border));border-radius:12px;background:var(--surface);color:var(--club-copy,var(--text))}.club-reservation-result:hover{border-color:var(--accent)}.club-reservation-result>span{display:grid;gap:2px}.club-reservation-result>span:last-child{text-align:right}.club-reservation-result small,.club-reservation-search-idle{color:var(--club-muted,var(--muted));font-size:.8rem}.club-reservation-search-idle{padding:14px;text-align:center}.club-reserve-selected{padding:14px;border:1px solid var(--club-border,var(--border));border-radius:13px;background:var(--club-panel-soft,var(--surface-2));margin-bottom:15px}.club-reserve-selected>div{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:6px}.club-reserve-selected>div>span{display:grid;gap:2px}.club-reserve-selected small{color:var(--club-muted,var(--muted))}.club-reserve-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.club-reserve-fields label span{font-size:.82rem}.club-reserve-fields em{font-style:normal;color:var(--club-muted,var(--muted));font-weight:500}.club-reserve-full{grid-column:1/-1}.club-reserve-notice{display:grid;gap:3px;margin-top:15px;padding:12px 13px;border-radius:12px;background:color-mix(in srgb,var(--accent) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 22%,var(--club-border,var(--border)))}.club-reserve-notice strong{color:var(--club-copy,var(--text))}.club-reserve-notice span{color:var(--club-muted,var(--muted));font-size:.82rem;line-height:1.45}.danger-outline{border-color:color-mix(in srgb,var(--danger,#c33d4d) 55%,var(--border))!important;color:var(--danger,#c33d4d)!important}
@media(max-width:760px){.club-reservation-head{align-items:stretch;flex-direction:column}.club-reservation-head button{width:100%}.club-reserve-body{grid-template-columns:1fr;overflow:auto}.club-reserve-search{border-right:0;border-bottom:1px solid var(--club-border,var(--border));overflow:visible}.club-reserve-details{overflow:visible}.club-reserve-fields{grid-template-columns:1fr}.club-reserve-full{grid-column:auto}.club-reservation-main,.club-reservation-foot{align-items:flex-start}.club-reservation-foot{flex-direction:column}.club-reservation-price{text-align:left}}

/* Workshop Pro 5.7.0-rc1.28.80 — Reserved Purchase active-renderer visibility */
.club-v74 #clubMemberWorkspace .club-reservation-section,
#crm-club .club-reservation-section{display:block!important;width:100%!important;max-width:none!important;box-sizing:border-box!important;visibility:visible!important;opacity:1!important}
#crm-club .club-reservation-section{margin:16px 0!important}

/* Workshop Pro 5.7.0-rc1.28.83 — Reserved Purchase UI + Smart Search polish */
#clubReservationDialog.club-reserve-dialog{
 width:min(1000px,calc(100vw - 36px))!important;
 max-width:none!important;
 max-height:calc(100dvh - 34px)!important;
 padding:0!important;
 border:0!important;
 border-radius:20px!important;
 overflow:hidden!important;
 background:transparent!important;
 color:var(--text)!important;
 box-shadow:0 28px 90px rgba(0,0,0,.48)!important;
}
#clubReservationDialog::backdrop{background:rgba(2,8,18,.78)!important;backdrop-filter:blur(4px)}
#clubReservationDialog .club-reserve-card{
 width:100%!important;max-width:none!important;height:min(760px,calc(100dvh - 34px));max-height:none!important;
 margin:0!important;border:1px solid var(--line)!important;border-radius:20px!important;
 background:var(--surface)!important;overflow:hidden!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;
}
#clubReservationDialog .club-reserve-head{padding:20px 22px 17px!important;background:var(--surface)!important}
#clubReservationDialog .club-reserve-head h2{font-size:1.45rem;line-height:1.15;margin:4px 0 5px!important}
#clubReservationDialog .club-money-close{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;padding:0!important;border-radius:11px!important;font-size:24px;line-height:1}
#clubReservationDialog .club-reserve-body{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr)!important;min-height:0!important;overflow:hidden!important}
#clubReservationDialog .club-reserve-search,#clubReservationDialog .club-reserve-details{padding:20px!important;min-width:0!important;overflow:auto!important}
#clubReservationDialog .club-reserve-search{background:color-mix(in srgb,var(--surface-soft) 78%,var(--surface) 22%)!important}
#clubReservationDialog .club-reserve-search label>span,#clubReservationDialog .club-reserve-fields label>span{font-weight:800;color:var(--text)!important}
#clubReservationDialog input[type="search"],#clubReservationDialog input[type="number"],#clubReservationDialog input[type="date"],#clubReservationDialog input[type="text"],#clubReservationDialog input:not([type]){
 min-height:46px!important;background:var(--surface)!important;color:var(--text)!important;border:1px solid color-mix(in srgb,var(--line) 72%,var(--text) 28%)!important;box-shadow:none!important;
}
#clubReservationDialog input::placeholder{color:var(--muted)!important;opacity:1!important}
#clubReservationDialog .club-reservation-results{margin-top:12px!important;gap:8px!important}
#clubReservationDialog .club-reservation-result{min-height:66px!important;background:var(--surface)!important;border:1px solid var(--line)!important;padding:12px 13px!important}
#clubReservationDialog .club-reservation-result:hover,#clubReservationDialog .club-reservation-result:focus,#clubReservationDialog .club-reservation-result.is-selected{border-color:#338ee8!important;background:color-mix(in srgb,var(--surface) 91%,#338ee8 9%)!important}
#clubReservationDialog .club-reservation-result.is-unavailable{opacity:.58!important;cursor:not-allowed!important}
#clubReservationDialog .club-reservation-result span:first-child{min-width:0!important}
#clubReservationDialog .club-reservation-result strong{overflow-wrap:anywhere}
#clubReservationDialog .club-reservation-result small{white-space:normal!important;overflow-wrap:anywhere!important}
#clubReservationDialog .club-reservation-search-idle{display:grid;gap:4px;padding:16px!important;border:1px dashed var(--line);border-radius:12px;text-align:left!important;background:color-mix(in srgb,var(--surface) 76%,transparent)!important}
#clubReservationDialog .club-reservation-search-idle strong{color:var(--text)}
#clubReservationDialog .club-reservation-search-idle span{color:var(--muted);font-size:.82rem}
#clubReservationDialog .club-reserve-selected{margin:0 0 16px!important;padding:15px!important;background:color-mix(in srgb,var(--surface-soft) 88%,var(--surface) 12%)!important}
#clubReservationDialog .club-reserve-empty-choice{display:grid!important;gap:3px!important}
#clubReservationDialog .club-reserve-choice{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:16px!important}
#clubReservationDialog .club-reserve-choice>div{display:grid;gap:3px;min-width:0}
#clubReservationDialog .club-reserve-choice>b{font-size:1.15rem;white-space:nowrap}
#clubReservationDialog .club-reserve-fields{grid-template-columns:1fr 1fr!important;gap:13px!important}
#clubReservationDialog .club-reserve-notice{margin-top:16px!important;padding:13px 14px!important}
#clubReservationDialog .club-money-error{min-height:20px;margin-top:10px}
#clubReservationDialog .club-money-footer{display:flex!important;justify-content:flex-end!important;gap:10px!important;padding:13px 18px!important;border-top:1px solid var(--line)!important;background:var(--surface)!important}
#clubReservationDialog .club-money-footer button{min-height:44px!important}
html[data-theme="light"] #clubReservationDialog .club-reserve-card,html[data-theme="light"] #clubReservationDialog .club-reserve-head,html[data-theme="light"] #clubReservationDialog .club-money-footer{background:#f8fafc!important;color:#142033!important}
html[data-theme="light"] #clubReservationDialog .club-reserve-search{background:#eef3f8!important}
html[data-theme="light"] #clubReservationDialog input{background:#fff!important;color:#142033!important;border-color:#aebbc9!important}
html[data-theme="light"] #clubReservationDialog .club-reservation-result{background:#fff!important;color:#142033!important}
#crm-club .club-reservation-section,#clubAccount .club-reservation-section{width:100%!important;max-width:none!important;box-sizing:border-box!important}
@media(max-width:900px){
 #clubReservationDialog.club-reserve-dialog{width:min(760px,calc(100vw - 24px))!important}
 #clubReservationDialog .club-reserve-card{height:min(860px,calc(100dvh - 24px))!important}
 #clubReservationDialog .club-reserve-body{grid-template-columns:1fr!important;overflow:auto!important}
 #clubReservationDialog .club-reserve-search{border-right:0!important;border-bottom:1px solid var(--line)!important;overflow:visible!important}
 #clubReservationDialog .club-reserve-details{overflow:visible!important}
}
@media(max-width:620px){
 #clubReservationDialog .club-reserve-head{padding:16px!important}
 #clubReservationDialog .club-reserve-search,#clubReservationDialog .club-reserve-details{padding:15px!important}
 #clubReservationDialog .club-reserve-fields{grid-template-columns:1fr!important}
 #clubReservationDialog .club-reserve-full{grid-column:auto!important}
 #clubReservationDialog .club-money-footer{padding:12px!important}
 #clubReservationDialog .club-money-footer button{flex:1}
}

/* Workshop Pro 5.7.0-rc1.28.84 — POS Same Day Repairs */
.pos-same-day-button{display:inline-flex;align-items:center;gap:7px}.pos-same-day-dialog{width:min(980px,calc(100vw - 28px));max-width:none}.pos-same-day-modal{width:100%;max-width:none;max-height:min(84vh,820px);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;padding:0;overflow:hidden}.pos-same-day-modal .modal-head{padding:22px 24px;border-bottom:1px solid var(--border)}.pos-same-day-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 24px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.015)}.pos-same-day-summary>div{padding:12px 14px;border:1px solid var(--border);border-radius:12px;display:flex;align-items:baseline;gap:8px;background:var(--card)}.pos-same-day-summary strong{font-size:20px}.pos-same-day-summary span{font-size:12px;color:var(--muted)}.pos-same-day-list{overflow:auto;padding:16px 24px;-webkit-overflow-scrolling:touch}.pos-same-day-job{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px;border:1px solid var(--border);border-left:4px solid #3b82f6;border-radius:14px;background:var(--card);margin-bottom:10px}.pos-same-day-job.status-ready{border-left-color:#22c55e}.pos-same-day-job.status-waiting{border-left-color:#f59e0b}.pos-same-day-job.status-terminal{opacity:.72;border-left-color:var(--muted)}.pos-same-day-job-main{min-width:0;display:grid;gap:5px}.pos-same-day-job-title{display:flex;gap:10px;align-items:center;justify-content:space-between}.pos-same-day-job-title strong{font-size:16px}.pos-same-day-job-main>span,.pos-same-day-job-main>small{color:var(--muted)}.pos-same-day-job-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.pos-same-day-footer{display:flex;justify-content:space-between;gap:10px;padding:14px 24px;border-top:1px solid var(--border);background:var(--card)}@media(max-width:820px){.pos-same-day-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-same-day-job{grid-template-columns:1fr}.pos-same-day-job-actions{justify-content:flex-start}}@media(max-width:560px){.pos-same-day-summary{grid-template-columns:1fr}.pos-same-day-modal .modal-head,.pos-same-day-summary,.pos-same-day-list,.pos-same-day-footer{padding-left:16px;padding-right:16px}.pos-same-day-footer{flex-direction:column}}

/* rc1.28.85 — POS today's sales history polish */
.pos-history-dialog::backdrop{background:rgba(2,10,22,.78);backdrop-filter:blur(3px)}
.pos-history-modal{width:min(1040px,94vw);max-height:min(90dvh,860px);padding:0;overflow:hidden;background:var(--surface-raised);border:1px solid var(--line);box-shadow:0 28px 80px rgba(0,0,0,.42)}
.pos-history-head{padding:22px 24px 18px;border-bottom:1px solid var(--line);background:var(--surface-raised)}
.pos-history-head h2{margin:3px 0 4px;font-size:1.55rem}.pos-history-head p{margin:0;color:var(--muted)}
.pos-history-daybar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 24px;background:var(--surface-soft);border-bottom:1px solid var(--line)}
.pos-history-daybar>div{display:flex;flex-direction:column;gap:2px}.pos-history-day-label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:800}.pos-history-daybar strong{font-size:1rem}
.pos-history-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:16px 24px 8px}
.pos-history-stat{display:flex;flex-direction:column;gap:3px;min-width:0;padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}
.pos-history-stat span{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.pos-history-stat strong{font-size:1.28rem}.pos-history-stat small{color:var(--muted);line-height:1.25}.pos-history-stat.is-refund strong{color:#ef4444}.pos-history-stat.is-net{border-color:rgba(59,130,246,.38);background:rgba(59,130,246,.08)}
.pos-history-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:12px;padding:12px 24px 16px}.pos-history-toolbar label{display:flex;flex-direction:column;gap:6px;margin:0}.pos-history-toolbar label>span{font-size:.78rem;font-weight:800;color:var(--muted)}
.pos-history-toolbar input,.pos-history-toolbar select{width:100%;min-height:46px;background:var(--surface-soft)!important;color:var(--text)!important;border:1px solid var(--line)!important;-webkit-text-fill-color:var(--text)!important;opacity:1!important}
.pos-history-list{padding:0 24px;overflow:auto;max-height:44dvh;scrollbar-gutter:stable}
.pos-history-row{display:grid;grid-template-columns:minmax(0,1fr) 130px auto;gap:16px;align-items:center;margin:0 0 9px;padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}
.pos-history-row:last-child{margin-bottom:12px}.pos-history-sale-main{min-width:0}.pos-history-sale-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.pos-history-sale-title strong{font-size:1rem}.pos-history-customer{display:block!important;margin-top:4px;color:var(--text)!important;font-weight:700}.pos-history-sale-main small{display:block;margin-top:2px;color:var(--muted)}
.pos-history-amount{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.pos-history-amount span{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.pos-history-amount strong{font-size:1.08rem}
.pos-history-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}.pos-history-actions button{margin:0!important;white-space:nowrap}
.pos-history-status-pill{font-size:.7rem;padding:4px 8px}.pos-history-status-pill.status-completed{background:rgba(34,197,94,.14);color:#22c55e}.pos-history-status-pill.status-refunded{background:rgba(239,68,68,.14);color:#f87171}.pos-history-status-pill.status-suspended{background:rgba(245,158,11,.14);color:#f59e0b}.pos-history-status-pill.status-void{background:rgba(148,163,184,.14);color:#94a3b8}
.pos-history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:180px;text-align:center;border:1px dashed var(--line);border-radius:14px;background:var(--surface-soft);color:var(--muted)}.pos-history-empty strong{color:var(--text);font-size:1.05rem}
.pos-history-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 24px 18px;border-top:1px solid var(--line);background:var(--surface-raised)}.pos-history-footer span{color:var(--muted);font-size:.82rem}
@media(max-width:850px){.pos-history-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-history-row{grid-template-columns:minmax(0,1fr) auto}.pos-history-actions{grid-column:1/-1;justify-content:flex-start}.pos-history-toolbar{grid-template-columns:minmax(0,1fr) 190px}}
@media(max-width:620px){.pos-history-modal{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0}.pos-history-head,.pos-history-daybar,.pos-history-summary,.pos-history-toolbar,.pos-history-list,.pos-history-footer{padding-left:16px;padding-right:16px}.pos-history-toolbar{grid-template-columns:1fr}.pos-history-list{max-height:none;flex:1}.pos-history-row{grid-template-columns:1fr}.pos-history-amount{align-items:flex-start}.pos-history-actions{grid-column:auto}.pos-history-footer{position:sticky;bottom:0}.pos-history-summary{grid-template-columns:1fr 1fr}}

/* rc1.28.86 — POS Today's Sales viewport containment fix
   The legacy <dialog> retained its global 720px width while the inner POS
   history workspace was 1040px wide, clipping Net Sales, Status and Close. */
dialog#posHistoryDialog.pos-history-dialog{
  width:min(1040px,94vw)!important;
  max-width:1040px!important;
  max-height:min(90dvh,860px)!important;
  overflow:hidden!important;
  background:var(--surface-raised)!important;
}
dialog#posHistoryDialog>.pos-history-modal{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}
dialog#posHistoryDialog .pos-history-summary,
dialog#posHistoryDialog .pos-history-toolbar,
dialog#posHistoryDialog .pos-history-list,
dialog#posHistoryDialog .pos-history-row{
  min-width:0;
}
dialog#posHistoryDialog .pos-history-stat,
dialog#posHistoryDialog .pos-history-toolbar label{
  min-width:0;
}
@media(max-width:850px){
  dialog#posHistoryDialog.pos-history-dialog{width:min(760px,94vw)!important}
}
@media(max-width:620px){
  dialog#posHistoryDialog.pos-history-dialog{
    width:100vw!important;
    max-width:none!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    border-radius:0!important;
  }
}

/* rc1.28.88 — unified POS receipt presentation */
.pos-receipt-modal{width:min(780px,94vw)}
.pos-receipt{max-width:540px;margin:auto;padding:0;background:transparent;color:var(--text);border-radius:0}
.pos-receipt-paper{background:#fff;color:#111;border-radius:16px;padding:24px 26px;box-shadow:0 18px 55px rgba(0,0,0,.28);font-variant-numeric:tabular-nums}
.pos-receipt-brand{text-align:center;display:grid;gap:2px;margin-bottom:14px}.pos-receipt-brand>strong{font-size:1.25rem;letter-spacing:.04em}.pos-receipt-brand>span{font-weight:800;letter-spacing:.12em;font-size:.82rem}.pos-receipt-brand small{color:#4b5563}
.pos-receipt-rule{border-top:1px dashed #7b8490;margin:14px 0}
.pos-receipt-pairs{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}.pos-receipt-pairs>div{display:flex;justify-content:space-between;gap:12px}.pos-receipt-pairs span,.pos-receipt-payment>.eyebrow,.pos-receipt-note>.eyebrow{font-size:.72rem;letter-spacing:.08em;font-weight:800;color:#5d6672}.pos-receipt-pairs strong{text-align:right}
.pos-receipt-items{display:grid;gap:10px}.pos-receipt-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}.pos-receipt-item div{display:grid}.pos-receipt-item small{color:#667085;margin-top:2px}.pos-receipt-item b{white-space:nowrap}
.pos-receipt-totals{display:grid;gap:6px}.pos-receipt-totals>div,.pos-receipt-payment>div{display:flex;justify-content:space-between;gap:16px}.pos-receipt-totals .grand{font-size:1.25rem;padding-top:9px;margin-top:3px;border-top:2px solid #111}.pos-receipt-payment{display:grid;gap:7px}.pos-receipt-payment small{display:block;color:#667085}.pos-receipt-payment .change{font-size:1.05rem;font-weight:800}.pos-receipt-note p{margin:5px 0 0;white-space:pre-wrap}.pos-receipt-footer{text-align:center;display:grid;gap:4px}.pos-receipt-footer span{font-size:.84rem;color:#667085}
@media(max-width:700px){.pos-receipt-paper{border-radius:0;min-height:100%;padding:20px}.pos-receipt-pairs{grid-template-columns:1fr}}

/* rc1.28.89 — POS receipt approved power-logo + viewport-safe dialog */
dialog#posReceiptDialog{
  width:min(720px,calc(100vw - 32px))!important;
  max-width:720px!important;
  max-height:min(92dvh,900px)!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--surface-raised)!important;
  color:var(--text)!important;
}
dialog#posReceiptDialog::backdrop{background:rgba(2,10,22,.78);backdrop-filter:blur(3px)}
dialog#posReceiptDialog>.pos-receipt-modal{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  max-height:min(92dvh,900px)!important;
  margin:0!important;
  padding:18px!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:14px;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
dialog#posReceiptDialog .modal-head{min-width:0;gap:12px}
dialog#posReceiptDialog .modal-head>div{min-width:0}
dialog#posReceiptDialog .modal-head h2{margin:0}
dialog#posReceiptDialog .modal-head p{margin:4px 0 0;color:var(--muted);overflow-wrap:anywhere}
dialog#posReceiptDialog .pos-receipt{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  max-height:100%!important;
  overflow:auto!important;
  padding:4px 2px 28px!important;
  -webkit-overflow-scrolling:touch;
}
dialog#posReceiptDialog .pos-receipt-paper{
  width:min(100%,540px)!important;
  max-width:540px!important;
  min-width:0!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
}
dialog#posReceiptDialog .actions{
  margin:0!important;
  padding-top:2px;
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  background:var(--surface-raised)!important;
}
.pos-receipt-brand{margin-bottom:12px!important}
.pos-receipt-brand-mark{width:170px;height:122px;margin:0 auto 8px}
.pos-receipt-brand-mark svg{display:block;width:100%;height:100%;overflow:visible}
.pos-receipt-brand-arc{font-family:Arial,sans-serif;font-size:14px;font-weight:900;letter-spacing:.6px;fill:#000}
.pos-receipt-power-symbol{fill:none;stroke:#000;stroke-width:10;stroke-linecap:round}
.pos-receipt-brand small{display:block;color:#111!important;line-height:1.35}
@media(max-width:620px){
  dialog#posReceiptDialog{
    width:100vw!important;
    max-width:none!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    border-radius:0!important;
  }
  dialog#posReceiptDialog>.pos-receipt-modal{max-height:100dvh!important;padding:14px!important}
  dialog#posReceiptDialog .pos-receipt-paper{border-radius:12px!important;padding:18px!important;min-height:0!important}
  .pos-receipt-brand-mark{width:150px;height:108px}
  dialog#posReceiptDialog .actions{display:grid;grid-template-columns:1fr 1fr}
  dialog#posReceiptDialog .actions button{width:100%;margin:0}
}

/* rc1.28.91 — POS receipt QR precision sizing */
.pos-receipt-qr-block{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:12px 0 16px;color:#000;break-inside:avoid}.pos-receipt-qr{width:96px;height:96px;background:#fff;padding:7px;box-sizing:content-box;display:grid;place-items:center}.pos-receipt-qr canvas{display:block!important;width:96px!important;height:96px!important;max-width:96px!important;max-height:96px!important;image-rendering:pixelated}.pos-receipt-qr img{display:none!important}.pos-receipt-qr-block>strong{font-size:10px;line-height:1;letter-spacing:.12em;color:#111}.pos-receipt-qr-fallback{font-size:10px;line-height:1.35;border:1px solid #111;padding:12px}.pos-receipt-qr-block+.pos-receipt-rule{margin-top:0}.pos-receipt-footer{padding-bottom:8px}

/* rc1.28.92 — ensure QRCode.js fallback image never renders over the canvas */
.pos-receipt-qr>canvas{display:block!important}.pos-receipt-qr>img{display:none!important}

/* Workshop Pro 5.7.0-rc1.28.96 — Walk Ins toolbar precision alignment */
.walk-in-toolbar{
  align-items:end!important;
}
.walk-in-toolbar .walk-in-filter-field{
  display:grid!important;
  grid-template-rows:auto 46px!important;
  gap:5px!important;
  min-width:0!important;
  margin:0!important;
  align-self:end!important;
}
.walk-in-toolbar .walk-in-filter-field>span:first-child{
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-size:.69rem!important;
  line-height:1.15!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  color:var(--muted)!important;
  font-weight:850!important;
}
.walk-in-toolbar .walk-in-search-control{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:46px!important;
  min-width:0!important;
}
.walk-in-toolbar .walk-in-search-field input{
  width:100%!important;
  height:46px!important;
  min-height:46px!important;
  padding:0 14px 0 42px!important;
  margin:0!important;
  line-height:normal!important;
}
.walk-in-toolbar .walk-in-search-field .walk-in-search-icon{
  position:absolute!important;
  left:14px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:1!important;
  display:grid!important;
  place-items:center!important;
  width:18px!important;
  height:18px!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
  color:var(--muted)!important;
  font-size:1rem!important;
  pointer-events:none!important;
}
.walk-in-toolbar .walk-in-search-field small{display:none!important}
.walk-in-toolbar select{
  width:100%!important;
  height:46px!important;
  min-height:46px!important;
  align-self:end!important;
}
@media(max-width:760px){
  .walk-in-toolbar .walk-in-filter-field{grid-template-rows:auto 46px!important}
}

/* Workshop Pro 5.7.0-rc1.28.97 — All Repairs toolbar alignment and dark-mode polish */
.repair-toolbar{
  align-items:end!important;
}
.repair-toolbar .repair-filter-field{
  display:grid!important;
  grid-template-rows:auto 50px!important;
  gap:6px!important;
  min-width:0!important;
  margin:0!important;
  align-self:end!important;
}
.repair-toolbar .repair-filter-field>span:first-child{
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-size:.72rem!important;
  line-height:1.15!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
  color:var(--muted)!important;
  font-weight:850!important;
}
.repair-toolbar .repair-search-control{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:50px!important;
  min-width:0!important;
}
.repair-toolbar .repair-search-field input,
.repair-toolbar .repair-filter-field select{
  width:100%!important;
  height:50px!important;
  min-height:50px!important;
  margin:0!important;
  border:1px solid var(--line)!important;
  background:var(--input-bg)!important;
  color:var(--text)!important;
  box-shadow:none!important;
}
.repair-toolbar .repair-search-field input{
  padding:0 14px 0 44px!important;
  line-height:normal!important;
}
.repair-toolbar .repair-search-field input::placeholder{
  color:var(--muted)!important;
  opacity:.95!important;
}
.repair-toolbar .repair-search-icon{
  position:absolute!important;
  left:15px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:2!important;
  display:grid!important;
  place-items:center!important;
  width:18px!important;
  height:18px!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
  color:var(--muted)!important;
  font-size:1rem!important;
  pointer-events:none!important;
}
.repair-toolbar .repair-search-field input:focus,
.repair-toolbar .repair-filter-field select:focus{
  border-color:#428df4!important;
  box-shadow:0 0 0 3px #1464f427!important;
  outline:none!important;
}
[data-theme="dark"] .repair-toolbar .repair-search-field input,
[data-theme="dark"] .repair-toolbar .repair-filter-field select{
  background:var(--input-bg)!important;
  color:var(--text)!important;
  -webkit-text-fill-color:var(--text)!important;
}
@media(max-width:820px){
  .repair-toolbar .repair-search-field{grid-column:1/-1!important}
}
@media(max-width:560px){
  .repair-toolbar .repair-search-field{grid-column:auto!important}
}


/* rc1.28.99 — Parts & Inventory operational polish */
.parts-workspace{max-width:none!important;margin:0!important}.parts-page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.parts-page-title{display:flex;align-items:center;gap:14px;min-width:0}.parts-page-title h1{margin:0;font-size:2rem;letter-spacing:-.035em}.parts-page-title p{margin:5px 0 0;color:var(--muted)}.parts-page-icon{width:48px;height:48px;display:grid;place-items:center;flex:0 0 48px;border-radius:13px;background:linear-gradient(145deg,#2465bd,#1a4f97);color:#fff;font-size:1.25rem;box-shadow:0 9px 24px #0b5fc733}.parts-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}.parts-kpi-card{min-width:0;display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 8px 25px #00000012}.parts-kpi-icon{width:48px;height:48px;display:grid!important;place-items:center!important;margin:0!important;padding:0!important;border-radius:13px;background:#6a3b12;color:#ffe1ad;font-size:1.18rem;font-weight:900;line-height:1!important}.parts-kpi-card.ordered .parts-kpi-icon{background:#123f70;color:#dcebff}.parts-kpi-card.arrived .parts-kpi-icon{background:#123f2d;color:#bff5d5}.parts-kpi-card.inventory .parts-kpi-icon{background:#3c2768;color:#eadfff}.parts-kpi-card strong{display:block;font-size:1.45rem;line-height:1;color:var(--text)}.parts-kpi-card span:not(.parts-kpi-icon){display:block;margin-top:5px;font-weight:800;color:var(--text);white-space:nowrap}.parts-kpi-card small{display:block;margin-top:3px;color:var(--muted);font-size:.75rem}.parts-lifecycle{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:10px 14px;margin-bottom:16px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 86%,transparent);color:var(--muted);font-size:.78rem;font-weight:750}.parts-lifecycle span{display:inline-flex;align-items:center;gap:6px}.parts-lifecycle b{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#173353;color:#d8e9ff;font-size:.7rem}.parts-lifecycle i{font-style:normal;color:#55708f}.parts-list-card{padding:0!important;overflow:hidden;border-radius:15px}.parts-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,#0f2038)}.parts-tool-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.parts-tool-label{margin-right:3px;color:var(--muted);font-size:.69rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.parts-tools button{min-height:38px;padding:8px 12px}.parts-tool-group-secondary button{opacity:.9}.parts-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:12px;align-items:end;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--panel)}.parts-toolbar label{display:grid;gap:6px;min-width:0}.parts-toolbar label>span{font-size:.69rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.parts-search-control{position:relative;min-width:0}.parts-search-control i{position:absolute;left:14px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:18px;height:18px;z-index:2;color:var(--muted);font-style:normal;pointer-events:none}.parts-toolbar input,.parts-toolbar select{height:46px!important;min-height:46px!important;margin:0!important;border-radius:11px!important}.parts-toolbar input{padding-left:42px!important}.parts-results{display:grid;gap:9px;padding:12px;background:color-mix(in srgb,var(--bg) 45%,var(--panel))}.part-card-v2{position:relative;display:grid;grid-template-columns:4px 44px minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px 14px 13px 0;border:1px solid var(--line);border-radius:13px;background:var(--surface);overflow:hidden;transition:border-color .16s ease,transform .16s ease,background .16s ease}.part-card-v2:hover{background:var(--panel-hover);border-color:#42658d;transform:translateY(-1px)}.part-card-accent{align-self:stretch;width:4px;border-radius:0 4px 4px 0;background:#54708e}.part-card-accent.part-status-required{background:#c67d18!important}.part-card-accent.part-status-ordered,.part-card-accent.part-status-dispatched{background:#2e7bd4!important}.part-card-accent.part-status-arrived{background:#1b9c60!important}.part-card-accent.part-status-allocated-to-repair{background:#8264d6!important}.part-card-accent.part-status-fitted{background:#2eaa6c!important}.part-card-accent.part-status-returned,.part-card-accent.part-status-cancelled{background:#c24b59!important}.part-card-icon{width:40px;height:40px;display:grid!important;place-items:center!important;border-radius:50%;border:2px solid #2c6db8;color:#80b9fa;background:#0e2948;line-height:1!important}.part-card-main{min-width:0}.part-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.part-card-heading>div{min-width:0;display:grid;gap:2px}.part-card-heading strong{color:var(--text);font-size:1rem}.part-card-heading small{color:var(--muted);font-size:.74rem}.part-card-info{display:flex;align-items:center;gap:7px 13px;flex-wrap:wrap;margin-top:8px}.part-card-info span{display:inline-flex;gap:5px;color:var(--muted);font-size:.78rem}.part-card-info b{color:var(--text);font-weight:800}.part-card-pricing{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:9px;padding-top:9px;border-top:1px dashed color-mix(in srgb,var(--line) 70%,transparent)}.part-card-pricing>span{display:grid;gap:1px}.part-card-pricing small{color:var(--muted);font-size:.67rem;text-transform:uppercase;letter-spacing:.06em}.part-card-pricing strong{color:var(--text);font-size:.88rem}.part-card-pricing em{margin-left:auto;padding:4px 8px;border-radius:999px;background:#123f2d;color:#bff5d5;font-style:normal;font-size:.72rem;font-weight:850}.part-edit-button{min-width:68px}.parts-empty{min-height:240px;display:grid;place-items:center;align-content:center;text-align:center;gap:8px;padding:34px;color:var(--muted)}.parts-empty>span{width:50px;height:50px;display:grid;place-items:center;border-radius:14px;background:#173353;color:#8fc3ff;font-size:1.3rem}.parts-empty strong{color:var(--text);font-size:1.05rem}.parts-empty p{margin:0 0 4px}.parts-empty button{min-width:130px}html[data-theme="dark"] .parts-toolbar input,html[data-theme="dark"] .parts-toolbar select{background:#14243a!important;color:#f4f8ff!important;border-color:#35506d!important}html[data-theme="dark"] .parts-toolbar input::placeholder{color:#91a4bb!important}html[data-theme="light"] .parts-kpi-card,html[data-theme="light"] .part-card-v2{background:#fff}
@media(max-width:1080px){.parts-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.parts-tools{align-items:stretch;flex-direction:column}.parts-tool-group{width:100%}}
@media(max-width:760px){.parts-page-head{align-items:flex-start}.parts-toolbar{grid-template-columns:1fr}.parts-lifecycle{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}.parts-lifecycle>*{flex:none}.part-card-v2{grid-template-columns:4px 40px minmax(0,1fr)}.part-edit-button{grid-column:3;justify-self:start}.part-card-heading{align-items:flex-start}.part-card-pricing em{margin-left:0}.parts-tool-group{display:grid;grid-template-columns:1fr 1fr}.parts-tool-label{grid-column:1/-1}.parts-tools button{width:100%}}
@media(max-width:520px){.parts-page-head{flex-direction:column}.parts-page-head>button{width:100%}.parts-kpi-grid{grid-template-columns:1fr}.parts-tool-group{grid-template-columns:1fr}.part-card-v2{grid-template-columns:4px minmax(0,1fr);padding-right:12px}.part-card-icon{display:none!important}.part-card-main,.part-edit-button{grid-column:2}.part-card-info{display:grid;grid-template-columns:1fr}.part-card-heading{flex-direction:column}.part-card-heading .pill{align-self:flex-start}}

/* v5.7.0-rc1.29.0 — Inventory Control foundation */
.inventory-control-dialog{width:min(1180px,calc(100vw - 36px));max-width:1180px;padding:0;border:0;background:transparent;color:var(--text);}
.inventory-control-dialog::backdrop,.inventory-item-dialog::backdrop,.inventory-adjust-dialog::backdrop,.inventory-history-dialog::backdrop{background:rgba(1,8,18,.78);backdrop-filter:blur(5px);}
.inventory-control-modal,.inventory-item-modal,.inventory-adjust-modal,.inventory-history-modal{width:100%;max-width:none;background:var(--panel,#10243a);border:1px solid var(--border,#29445f);border-radius:22px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.45);}
.inventory-control-body{padding:18px;display:grid;gap:16px;max-height:min(76vh,820px);overflow:auto;}
.inventory-control-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;}
.inventory-control-summary article{display:flex;align-items:center;gap:12px;min-height:92px;padding:14px;border:1px solid var(--border,#29445f);border-radius:16px;background:color-mix(in srgb,var(--panel,#10243a) 90%,#fff 3%);}
.inventory-summary-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:13px;background:#164f88;color:#8fc7ff;font-weight:900;font-size:18px;line-height:1;}
.inventory-control-summary strong{display:block;font-size:23px;line-height:1;color:var(--text,#fff);}.inventory-control-summary b{display:block;margin-top:4px;font-size:13px}.inventory-control-summary small{display:block;margin-top:3px;color:var(--muted,#a9bad0);font-size:11px}
.inventory-control-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 210px auto;gap:12px;align-items:end;padding:14px;border:1px solid var(--border,#29445f);border-radius:16px;background:rgba(0,0,0,.08);}
.inventory-control-toolbar label{display:grid;gap:6px}.inventory-control-toolbar label>span{font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--muted,#a9bad0)}
.inventory-control-toolbar input,.inventory-control-toolbar select{height:46px;min-height:46px;margin:0;background:var(--input-bg,#162e49)!important;color:var(--text,#fff)!important;border:1px solid var(--border,#35526f)!important;border-radius:12px!important;box-shadow:none!important;-webkit-text-fill-color:var(--text,#fff)!important;}
.inventory-control-toolbar button{height:46px;white-space:nowrap}
.inventory-control-list{display:grid;gap:12px}.inventory-master-card{position:relative;padding:16px;border:1px solid var(--border,#29445f);border-left:4px solid #2b84e8;border-radius:16px;background:rgba(0,0,0,.08);display:grid;gap:13px}.inventory-master-card.state-low{border-left-color:#e6a126}.inventory-master-card.state-out{border-left-color:#dc5360}.inventory-master-card.state-reserved{border-left-color:#8c68e7}.inventory-master-card.state-service{border-left-color:#4aa8a8}.inventory-master-card.state-archived{opacity:.68;border-left-color:#718096}
.inventory-master-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.inventory-master-title{display:flex;align-items:center;gap:12px;min-width:0}.inventory-master-title strong{font-size:17px}.inventory-master-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:50%;border:2px solid #2580e6;color:#71b2ff}.inventory-master-identifiers{display:flex;flex-wrap:wrap;gap:7px;margin-top:5px}.inventory-master-identifiers span{font-size:11px;color:var(--muted,#a9bad0);padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.04)}
.inventory-stock-state{padding:6px 10px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap;background:#154f37;color:#9ef0c5}.inventory-stock-state.state-low{background:#533b11;color:#ffd981}.inventory-stock-state.state-out{background:#571e28;color:#ffadb6}.inventory-stock-state.state-reserved{background:#39275b;color:#d8c2ff}.inventory-stock-state.state-service{background:#123f45;color:#bceff0}.inventory-stock-state.state-archived{background:#344050;color:#d3dbe5}
.inventory-quantity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.inventory-quantity-grid span{padding:10px 12px;border:1px solid rgba(125,156,190,.18);border-radius:12px;background:rgba(255,255,255,.025)}.inventory-quantity-grid small{display:block;color:var(--muted,#a9bad0);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.inventory-quantity-grid strong{display:block;margin-top:3px;font-size:18px}.inventory-quantity-grid .available{border-color:rgba(64,190,126,.35);background:rgba(34,145,91,.08)}.inventory-service-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(74,168,168,.30);border-radius:12px;background:rgba(74,168,168,.08)}.inventory-service-card.history{margin-bottom:2px}.inventory-service-mark{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:11px;background:#123f45;color:#bceff0;font-size:19px;font-weight:900}.inventory-service-card strong{display:block;color:var(--text,#fff)}.inventory-service-card small{display:block;margin-top:3px;color:var(--muted,#a9bad0);line-height:1.4}.inventory-type-chip{font-weight:850!important}.inventory-type-chip.service{color:#bceff0!important;background:rgba(74,168,168,.12)!important}.inventory-type-chip.stock{color:#9dc9ff!important;background:rgba(43,132,232,.12)!important}.inventory-stock-setting.service strong{color:#bceff0}.inventory-service-notice{grid-column:1/-1;margin:0!important}.inventory-item-body select{background:var(--input-bg,#162e49)!important;color:var(--text,#fff)!important;border:1px solid var(--border,#35526f)!important;-webkit-text-fill-color:var(--text,#fff)!important}
.inventory-master-meta{display:flex;flex-wrap:wrap;gap:8px 18px;padding-top:2px}.inventory-master-meta span{font-size:12px;color:var(--muted,#a9bad0)}.inventory-master-meta b{color:var(--text,#fff);margin-right:5px}.inventory-reorder-alert{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:rgba(230,161,38,.10);border:1px solid rgba(230,161,38,.28)}.inventory-reorder-alert strong{color:#ffd981}.inventory-reorder-alert span{font-size:12px;color:var(--muted,#a9bad0)}
.inventory-master-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:2px;border-top:1px solid rgba(125,156,190,.14)}.inventory-master-actions button{min-height:38px}
.inventory-control-empty{padding:52px 20px;text-align:center;border:1px dashed var(--border,#29445f);border-radius:16px}.inventory-control-empty>span{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 12px;border-radius:15px;background:#164f88;color:#8fc7ff}.inventory-control-empty strong{display:block;font-size:17px}.inventory-control-empty p{color:var(--muted,#a9bad0)}
.inventory-item-dialog{width:min(820px,calc(100vw - 36px));max-width:820px;padding:0;border:0;background:transparent}.inventory-item-body{padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:14px;max-height:68vh;overflow:auto}.inventory-item-body section{padding:16px;border:1px solid var(--border,#29445f);border-radius:16px;background:rgba(0,0,0,.07)}.inventory-item-body h3{margin:0 0 13px;font-size:15px}.inventory-item-body .grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.inventory-item-body label{display:grid;gap:6px;font-size:12px;font-weight:800}.inventory-item-body label.full{grid-column:1/-1}.inventory-item-body input,.inventory-item-body textarea{background:var(--input-bg,#162e49)!important;color:var(--text,#fff)!important;border:1px solid var(--border,#35526f)!important;-webkit-text-fill-color:var(--text,#fff)!important}.inventory-active-toggle{grid-column:1/-1;display:flex!important;align-items:flex-start!important;gap:10px!important;padding:12px;border:1px solid var(--border,#35526f);border-radius:12px}.inventory-active-toggle input{width:20px;height:20px;flex:0 0 auto}.inventory-active-toggle small{display:block;margin-top:3px;color:var(--muted,#a9bad0);font-weight:500}.inventory-item-footer{padding:14px 18px;border-top:1px solid var(--border,#29445f);display:flex;align-items:center;justify-content:space-between;gap:12px}.inventory-item-footer .error{margin:0}
.inventory-adjust-dialog{width:min(600px,calc(100vw - 36px));max-width:600px;padding:0;border:0;background:transparent}.inventory-adjust-modal{padding-bottom:16px}.inventory-adjust-modal>.grid,.inventory-adjust-note,.inventory-adjust-modal>.error,.inventory-adjust-modal>.actions{margin-left:18px;margin-right:18px}.inventory-adjust-modal>.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.inventory-adjust-modal label{display:grid;gap:6px;font-size:12px;font-weight:800}.inventory-adjust-modal label.full{grid-column:1/-1}.inventory-adjust-modal input,.inventory-adjust-modal select{background:var(--input-bg,#162e49)!important;color:var(--text,#fff)!important;border:1px solid var(--border,#35526f)!important;-webkit-text-fill-color:var(--text,#fff)!important}.inventory-adjust-current{margin:16px 18px;padding:13px 15px;border-radius:13px;background:rgba(39,126,219,.10);border:1px solid rgba(70,145,225,.32);display:flex;justify-content:space-between;align-items:center}.inventory-adjust-current span{color:var(--muted,#a9bad0)}.inventory-adjust-current strong{font-size:24px}.inventory-adjust-note{margin-top:13px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.035);color:var(--muted,#a9bad0);font-size:12px}.inventory-adjust-modal>.actions{justify-content:flex-end;margin-top:14px}
.inventory-history-dialog{width:min(780px,calc(100vw - 36px));max-width:780px;padding:0;border:0;background:transparent}.inventory-history-body{padding:18px;display:grid;gap:18px;max-height:72vh;overflow:auto}.inventory-history-snapshot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.inventory-history-snapshot span{padding:12px;border:1px solid var(--border,#29445f);border-radius:12px}.inventory-history-snapshot small{display:block;color:var(--muted,#a9bad0);font-size:10px;text-transform:uppercase}.inventory-history-snapshot strong{display:block;font-size:20px;margin-top:3px}.inventory-history-body section{border-top:1px solid var(--border,#29445f);padding-top:14px}.inventory-history-body h3{margin:0 0 10px}.inventory-reservation-list,.inventory-movement-list{display:grid;gap:8px}.inventory-reservation-list article,.inventory-movement-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid rgba(125,156,190,.18);border-radius:10px;background:rgba(255,255,255,.025)}.inventory-reservation-list span,.inventory-movement-list small,.inventory-movement-list time{color:var(--muted,#a9bad0);font-size:11px}.inventory-movement-list article>div{display:grid}.inventory-movement-list .positive{color:#85e8b2}.inventory-movement-list .negative{color:#ff9ca8}.inventory-movement-list time{min-width:128px;text-align:right}
@media(max-width:900px){.inventory-control-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-control-toolbar{grid-template-columns:1fr 180px}.inventory-control-toolbar button{grid-column:1/-1}.inventory-item-body{grid-template-columns:1fr}.inventory-quantity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.inventory-control-dialog,.inventory-item-dialog,.inventory-adjust-dialog,.inventory-history-dialog{width:100vw;max-width:none;margin:0}.inventory-control-modal,.inventory-item-modal,.inventory-adjust-modal,.inventory-history-modal{min-height:100dvh;border-radius:0}.inventory-control-summary{grid-template-columns:1fr}.inventory-control-toolbar{grid-template-columns:1fr}.inventory-master-top,.inventory-reorder-alert{align-items:flex-start;flex-direction:column}.inventory-master-actions{justify-content:stretch}.inventory-master-actions button{flex:1 1 calc(50% - 8px)}.inventory-item-body .grid,.inventory-adjust-modal>.grid{grid-template-columns:1fr}.inventory-item-body label.full,.inventory-adjust-modal label.full{grid-column:auto}.inventory-history-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-movement-list article{display:grid;grid-template-columns:1fr auto}.inventory-movement-list time{grid-column:1/-1;text-align:left}}


/* Workshop Pro 5.7.0 RC1.29.3 — Catalogue Builder iPad/modal layout correction */
#catalogueBuilderDialog.requirements-dialog,
#catalogueBuilderDialog {
  width: min(1120px, calc(100vw - 32px)) !important;
  max-width: 1120px !important;
  max-height: calc(100dvh - 32px) !important;
  overflow: visible !important;
}
#catalogueBuilderDialog .catalogue-builder-modal {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  overflow-x: hidden !important;
}
#catalogueBuilderDialog .catalogue-builder-grid {
  grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr);
  align-items: start;
  width: 100%;
}
#catalogueBuilderDialog .catalogue-builder-grid > section,
#catalogueBuilderDialog .catalogue-options,
#catalogueBuilderDialog .catalogue-options label > span {
  min-width: 0;
}
#catalogueBuilderDialog .catalogue-options label {
  width: 100%;
}
#catalogueBuilderDialog .catalogue-options strong,
#catalogueBuilderDialog .catalogue-options small {
  overflow-wrap: anywhere;
  word-break: normal;
}
@media (max-width: 900px) {
  #catalogueBuilderDialog.requirements-dialog,
  #catalogueBuilderDialog {
    width: calc(100vw - 20px) !important;
    max-width: none !important;
    max-height: calc(100dvh - 20px) !important;
  }
  #catalogueBuilderDialog .catalogue-builder-modal {
    max-height: calc(100dvh - 20px) !important;
  }
  #catalogueBuilderDialog .catalogue-builder-grid {
    grid-template-columns: minmax(280px, .95fr) minmax(0, 1.05fr);
    gap: 14px;
  }
}
@media (max-width: 820px) {
  #catalogueBuilderDialog.requirements-dialog,
  #catalogueBuilderDialog {
    width: 100vw !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: none !important;
    margin: 0 !important;
  }
  #catalogueBuilderDialog .catalogue-builder-modal {
    width: 100vw !important;
    height: 100dvh !important;
    max-height: none !important;
    border-radius: 0 !important;
  }
  #catalogueBuilderDialog .catalogue-builder-grid {
    grid-template-columns: 1fr;
  }
}

/* Workshop Pro 5.7.0 RC1.32.4 — Parts & Inventory layout refinement */
.parts-list-card{
  overflow:hidden!important;
}
.parts-tools{
  display:block!important;
  padding:16px!important;
  background:color-mix(in srgb,var(--surface) 94%,#0f2038)!important;
  border-bottom:1px solid var(--line)!important;
}
.parts-tools .parts-tool-group-primary{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:nowrap!important;
  min-width:0!important;
}
.parts-tools .parts-tool-label{
  flex:0 0 auto!important;
  margin-right:4px!important;
}
.parts-tools button{
  flex:0 0 auto!important;
  min-height:40px!important;
  padding:8px 13px!important;
  white-space:nowrap!important;
}
.parts-toolbar{
  grid-template-columns:minmax(0,1fr) 220px!important;
  gap:14px!important;
  padding:17px 16px!important;
  align-items:end!important;
}
.parts-toolbar input,
.parts-toolbar select{
  height:48px!important;
  min-height:48px!important;
}
.parts-results{
  padding:14px!important;
  gap:11px!important;
}
.part-card-v2{
  min-height:124px!important;
  grid-template-columns:4px 52px minmax(0,1fr) auto!important;
  gap:16px!important;
  padding:16px 16px 16px 0!important;
  border-radius:14px!important;
}
.part-card-icon{
  width:44px!important;
  height:44px!important;
}
.part-card-heading strong{
  font-size:1.04rem!important;
}
.part-card-info{
  margin-top:6px!important;
}
.part-card-pricing{
  margin-top:10px!important;
  padding-top:10px!important;
  gap:22px!important;
}
.part-edit-button{
  min-width:72px!important;
  min-height:42px!important;
  align-self:center!important;
}
@media (max-width:1220px){
  .parts-tools .parts-tool-group-primary{
    flex-wrap:wrap!important;
  }
}
@media (max-width:1080px){
  .parts-tools{
    display:block!important;
  }
  .parts-tools .parts-tool-group-primary{
    width:100%!important;
  }
}
@media (max-width:760px){
  .parts-tools .parts-tool-group-primary{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .parts-tools .parts-tool-label{
    grid-column:1/-1!important;
  }
  .parts-tools button{
    width:100%!important;
    white-space:normal!important;
  }
  .parts-toolbar{
    grid-template-columns:1fr!important;
  }
  .part-card-v2{
    min-height:0!important;
    grid-template-columns:4px 44px minmax(0,1fr)!important;
    gap:12px!important;
    padding:14px 14px 14px 0!important;
  }
  .part-edit-button{
    grid-column:3!important;
    justify-self:start!important;
  }
}
@media (max-width:480px){
  .parts-tools .parts-tool-group-primary{
    grid-template-columns:1fr!important;
  }
}

/* Workshop Pro 5.7.0 RC1.32.4 — Parts toolbar fit refinement */
.parts-tools{padding:16px!important}
.parts-tools .parts-tool-group-primary{
  justify-content:flex-start!important;
  gap:8px!important;
}
.parts-tools button{
  padding:8px 11px!important;
  font-size:.96rem!important;
}
@media (min-width:1221px){
  .parts-tools .parts-tool-group-primary{flex-wrap:nowrap!important}
  .parts-tools button{flex:1 1 auto!important;min-width:0!important}
}


/* Workshop Pro 5.7.0 RC1.32.4 — unified Inventory Import / Export */
.parts-tools .parts-tool-group-primary{
  gap:9px!important;
}
@media (min-width:1221px){
  .parts-tools .parts-tool-group-primary button{
    flex:1 1 0!important;
  }
}
.inventory-transfer-dialog{
  width:min(1040px,calc(100vw - 32px))!important;
  max-width:1040px!important;
  max-height:calc(100dvh - 32px)!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.inventory-transfer-modal{
  width:100%!important;
  max-width:none!important;
  max-height:calc(100dvh - 32px)!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
.inventory-transfer-body{
  padding:18px!important;
  overflow:auto!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:18px!important;
}
.inventory-transfer-section{
  min-width:0!important;
  padding:16px!important;
  border:1px solid var(--line)!important;
  border-radius:16px!important;
  background:color-mix(in srgb,var(--surface) 96%,#0f2038)!important;
}
.inventory-transfer-section-head>div{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
}
.inventory-transfer-section-head h3{
  margin:0 0 4px!important;
}
.inventory-transfer-section-head p{
  margin:0 0 14px!important;
  color:var(--muted)!important;
}
.inventory-transfer-icon{
  flex:0 0 38px!important;
  width:38px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:11px!important;
  background:color-mix(in srgb,var(--accent) 18%,transparent)!important;
  color:var(--accent)!important;
  font-size:1.25rem!important;
  font-weight:800!important;
}
.inventory-transfer-grid{
  display:grid!important;
  gap:10px!important;
}
.inventory-transfer-card{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  min-width:0!important;
  padding:13px!important;
  border:1px solid var(--line)!important;
  border-radius:13px!important;
  background:var(--surface)!important;
}
.inventory-transfer-card>div{
  min-width:0!important;
}
.inventory-transfer-card strong{
  display:block!important;
  margin-bottom:3px!important;
}
.inventory-transfer-card span{
  display:block!important;
  color:var(--muted)!important;
  font-size:.9rem!important;
  line-height:1.35!important;
}
.inventory-transfer-card button{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
.inventory-transfer-card-featured{
  border-color:color-mix(in srgb,var(--accent) 45%,var(--line))!important;
  background:color-mix(in srgb,var(--accent) 7%,var(--surface))!important;
}
.inventory-transfer-section .notice{
  margin-top:12px!important;
}
#inventoryTransferResult{
  margin-top:12px!important;
}
@media (max-width:900px){
  .inventory-transfer-body{
    grid-template-columns:1fr!important;
  }
}
@media (max-width:620px){
  .inventory-transfer-dialog{
    width:100vw!important;
    max-width:none!important;
    height:100dvh!important;
    max-height:none!important;
    margin:0!important;
  }
  .inventory-transfer-modal{
    height:100dvh!important;
    max-height:none!important;
    border-radius:0!important;
  }
  .inventory-transfer-body{
    padding:12px!important;
  }
  .inventory-transfer-card{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  .inventory-transfer-card button{
    width:100%!important;
  }
}

/* Workshop Pro 5.7.0 RC1.32.4 — Import / Export modal opacity fix */
#inventoryTransferDialog.inventory-transfer-dialog{
  background:transparent!important;
}
#inventoryTransferDialog .inventory-transfer-modal{
  background:var(--surface)!important;
  background-color:var(--surface)!important;
  opacity:1!important;
  border:1px solid var(--line)!important;
  box-shadow:0 28px 80px rgba(0,0,0,.55)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
#inventoryTransferDialog .inventory-transfer-body{
  background:var(--surface)!important;
  background-color:var(--surface)!important;
  opacity:1!important;
}
#inventoryTransferDialog .inventory-transfer-section{
  background:color-mix(in srgb,var(--surface) 96%,#0f2038)!important;
  opacity:1!important;
}
#inventoryTransferDialog .inventory-transfer-card{
  background:var(--surface)!important;
  opacity:1!important;
}

/* Workshop Pro 5.7.0 RC1.32.4 — dynamic Catalogue Builder device source */
#catalogueModelList label>span{
  min-width:0!important;
}
#catalogueModelList label>span strong{
  display:block!important;
  font-weight:650!important;
}
#catalogueModelList label>span small{
  display:block!important;
  margin-top:2px!important;
  color:var(--muted)!important;
  font-size:.78rem!important;
}

/* Workshop Pro 5.7.0 RC1.32.4 — Catalogue Builder state initialisation hotfix */

/* Workshop Pro 5.7.0 RC1.32.4 — Catalogue Builder lazy state hotfix */

/* Workshop Pro 5.7.0 RC1.32.4 — Catalogue Builder all-inclusive pricing cleanup */

/* Workshop Pro 5.7.0 RC1.32.4 — protected inventory part deletion */

/* Workshop Pro 5.7.0 RC1.32.4 — Edit Part protected delete action */
.parts-editor-actions{display:flex!important;align-items:center!important;width:100%!important;}
.parts-editor-action-spacer{flex:1 1 auto!important;}
.parts-editor-actions .danger[hidden]{display:none!important;}

/* Workshop Pro 5.7.0 RC1.32.4 — Catalogue Builder model search event hotfix */

/* Workshop Pro 5.7.0 RC1.32.4 — Catalogue Builder generation feedback */
.catalogue-builder-result{
 display:none;
 margin:14px 0 0!important;
 padding:14px 16px!important;
 border:1px solid var(--line)!important;
 border-radius:12px!important;
 background:var(--surface)!important;
 gap:4px;
}
.catalogue-builder-result:not(:empty){display:flex!important;flex-direction:column!important;}
.catalogue-builder-result strong{font-size:.95rem!important;}
.catalogue-builder-result span{display:block!important;color:var(--muted)!important;}
.catalogue-builder-result.success{border-color:color-mix(in srgb,#22c55e 55%,var(--line))!important;}
.catalogue-builder-result.error{border-color:color-mix(in srgb,#ef4444 60%,var(--line))!important;}
.catalogue-builder-result.working{opacity:.9;}
.catalogue-builder-footer{margin-top:12px!important;}
#catalogueGenerateButton:disabled{opacity:.65!important;cursor:wait!important;}

/* Workshop Pro 5.7.0 RC1.32.4 — Inventory List inline pricing */
.inventory-inline-price{min-width:128px!important;}
.inventory-inline-price label{
 display:flex!important;align-items:center!important;gap:5px!important;
 margin-top:4px!important;padding:0 8px!important;height:36px!important;
 border:1px solid var(--line)!important;border-radius:8px!important;background:var(--surface)!important;
}
.inventory-inline-price label>span{font-weight:700!important;color:var(--muted)!important;}
.inventory-inline-price input{
 width:88px!important;min-width:0!important;padding:0!important;border:0!important;
 background:transparent!important;box-shadow:none!important;font:inherit!important;font-weight:700!important;
}
.inventory-inline-price input:focus{outline:none!important;}
.inventory-inline-price label:focus-within{border-color:var(--accent)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)!important;}
.inventory-inline-margin strong{display:block!important;margin-top:7px!important;}
.inventory-inline-save{display:flex!important;align-items:flex-end!important;}
.inventory-inline-save button{white-space:nowrap!important;}
@media(max-width:700px){
 .inventory-inline-price{min-width:0!important;}
 .inventory-inline-price input{width:72px!important;}
}

/* Workshop Pro 5.7.0 RC1.32.4 — Inventory List UI polish */
.inventory-master-card{
  padding:18px!important;
  border-radius:16px!important;
}
.inventory-master-top{
  margin-bottom:14px!important;
}
.inventory-master-title>div>strong{
  font-size:1.05rem!important;
  line-height:1.25!important;
}
.inventory-quantity-grid{
  gap:10px!important;
  margin-bottom:12px!important;
}
.inventory-quantity-grid>span{
  min-height:64px!important;
  padding:11px 13px!important;
  border-radius:12px!important;
}
.inventory-master-details{
  margin:0 0 12px!important;
  padding:0!important;
  gap:16px!important;
}
.inventory-pricing-grid{
  display:grid!important;
  grid-template-columns:minmax(145px,180px) minmax(145px,180px) minmax(120px,150px) minmax(130px,1fr) auto!important;
  gap:10px!important;
  align-items:end!important;
  padding:12px!important;
  margin:0 0 12px!important;
  border:1px solid var(--line)!important;
  border-radius:13px!important;
  background:color-mix(in srgb,var(--surface) 94%,#0c1a2d)!important;
}
.inventory-price-field,
.inventory-price-summary,
.inventory-stock-setting{
  min-width:0!important;
}
.inventory-price-label,
.inventory-price-summary>span,
.inventory-stock-setting>span{
  display:block!important;
  margin:0 0 6px!important;
  color:var(--muted)!important;
  font-size:.76rem!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}
.inventory-price-field label{
  display:flex!important;
  align-items:center!important;
  height:42px!important;
  padding:0 11px!important;
  margin:0!important;
  overflow:hidden!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  background:var(--bg)!important;
}
.inventory-price-field label:focus-within{
  border-color:var(--accent)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)!important;
}
.inventory-currency{
  flex:0 0 auto!important;
  margin-right:7px!important;
  color:var(--muted)!important;
  font-weight:800!important;
  line-height:1!important;
}
.inventory-price-field input{
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font:inherit!important;
  font-size:1rem!important;
  font-weight:800!important;
  color:var(--text)!important;
}
.inventory-price-summary,
.inventory-stock-setting{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:0 4px!important;
}
.inventory-price-summary strong,
.inventory-stock-setting strong{
  font-size:1rem!important;
  line-height:1.1!important;
}
.inventory-stock-setting small{
  margin-top:3px!important;
  color:var(--muted)!important;
}
.inventory-price-save{
  display:flex!important;
  align-items:flex-end!important;
  min-height:42px!important;
}
.inventory-price-save button{
  height:42px!important;
  padding-inline:15px!important;
  white-space:nowrap!important;
}
.inventory-price-save button[hidden]{display:none!important;}
.inventory-reorder-alert{
  margin-top:0!important;
}
.inventory-master-actions{
  padding-top:2px!important;
  gap:8px!important;
}
@media(max-width:1050px){
  .inventory-pricing-grid{
    grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) minmax(110px,.8fr) minmax(120px,.8fr)!important;
  }
  .inventory-price-save{grid-column:1/-1!important;justify-content:flex-end!important;min-height:0!important;}
}
@media(max-width:720px){
  .inventory-pricing-grid{
    grid-template-columns:1fr 1fr!important;
  }
  .inventory-price-summary,.inventory-stock-setting{padding:4px 0!important;}
  .inventory-price-save{grid-column:1/-1!important;}
  .inventory-price-save button{width:100%!important;}
}

/* Workshop Pro 5.7.0 RC1.32.4 — Inventory money field alignment hotfix */
.inventory-price-field .inventory-money-input{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  height:42px!important;
  padding:0!important;
  overflow:hidden!important;
}
.inventory-price-field .inventory-money-input::before{
  content:"£"!important;
  position:absolute!important;
  left:12px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:1!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:var(--muted)!important;
  font-size:.95rem!important;
  font-weight:800!important;
  line-height:1!important;
  pointer-events:none!important;
}
.inventory-price-field .inventory-money-input input{
  display:block!important;
  width:100%!important;
  height:42px!important;
  min-width:0!important;
  margin:0!important;
  padding:0 12px 0 30px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--text)!important;
  font-size:1rem!important;
  font-weight:800!important;
  line-height:42px!important;
  text-align:left!important;
  appearance:textfield!important;
  -webkit-appearance:none!important;
}
.inventory-price-field .inventory-money-input input::-webkit-inner-spin-button,
.inventory-price-field .inventory-money-input input::-webkit-outer-spin-button{
  margin:0!important;
  -webkit-appearance:none!important;
}
.inventory-price-field .inventory-money-input input:focus{
  outline:none!important;
}

/* Workshop Pro 5.7.0 RC1.32.4 — Simple Parts Order List */
.simple-order-modal{max-width:900px!important;}
.simple-order-toolbar{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;padding:14px 0!important;}
.simple-order-toolbar span{color:var(--muted)!important;font-size:.9rem!important;}
.simple-order-list{display:grid!important;gap:10px!important;}
.simple-order-card{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;padding:14px 16px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:var(--surface)!important;}
.simple-order-main{min-width:0!important;}
.simple-order-main>strong{display:block!important;font-size:1rem!important;margin-bottom:7px!important;}
.simple-order-meta{display:flex!important;flex-wrap:wrap!important;gap:7px 12px!important;color:var(--muted)!important;font-size:.86rem!important;}
.simple-order-actions{display:flex!important;gap:8px!important;flex:0 0 auto!important;}
@media(max-width:700px){.simple-order-card{align-items:stretch!important;flex-direction:column!important}.simple-order-actions{width:100%!important}.simple-order-actions button{flex:1!important}.simple-order-toolbar{align-items:stretch!important;flex-direction:column!important}}

/* Workshop Pro 5.7.0 RC1.32.4 — Add Part modal polish */
#manualOrderDialog.manual-order-dialog{
  width:min(720px,calc(100vw - 40px))!important;
  max-width:720px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
#manualOrderDialog .manual-order-modal{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:18px!important;
}
#manualOrderDialog .modal-head{
  padding:20px 22px 18px!important;
  border-bottom:1px solid var(--line)!important;
}
#manualOrderDialog .modal-head h2{
  margin:3px 0 6px!important;
}
#manualOrderDialog .modal-head p{
  margin:0!important;
}
.manual-order-body{
  display:grid!important;
  gap:16px!important;
  padding:20px 22px!important;
}
.manual-order-row{
  display:grid!important;
  grid-template-columns:minmax(140px,.7fr) minmax(240px,1.3fr)!important;
  gap:14px!important;
}
.manual-order-field{
  display:grid!important;
  gap:7px!important;
  min-width:0!important;
}
.manual-order-field>span{
  display:flex!important;
  align-items:baseline!important;
  gap:6px!important;
  font-size:.9rem!important;
  font-weight:750!important;
}
.manual-order-field small{
  color:var(--muted)!important;
  font-size:.78rem!important;
  font-weight:600!important;
}
.manual-order-field input,
.manual-order-field textarea{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.manual-order-field input{
  height:46px!important;
}
.manual-order-field textarea{
  min-height:88px!important;
  resize:vertical!important;
}
.manual-order-footer{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:16px 22px 20px!important;
  border-top:1px solid var(--line)!important;
}
.manual-order-footer .error{
  flex:1 1 auto!important;
  min-width:0!important;
  margin:0!important;
}
.manual-order-footer .actions{
  flex:0 0 auto!important;
  margin:0!important;
}
@media(max-width:620px){
  #manualOrderDialog.manual-order-dialog{
    width:calc(100vw - 20px)!important;
  }
  .manual-order-row{
    grid-template-columns:1fr!important;
  }
  .manual-order-footer{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  .manual-order-footer .actions{
    width:100%!important;
  }
  .manual-order-footer .actions button{
    flex:1!important;
  }
}

/* Workshop Pro 5.7.0 RC1.32.4 — booking/inventory workflow hotfix */

/* Workshop Pro 5.7.0 RC1.32.4 — Receive Part modal polish */
#receiveRequirementDialog.receive-order-dialog{
  width:min(760px,calc(100vw - 40px))!important;
  max-width:760px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
#receiveRequirementDialog .receive-order-modal{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:18px!important;
}
#receiveRequirementDialog .modal-head{
  padding:20px 22px 18px!important;
  border-bottom:1px solid var(--line)!important;
}
#receiveRequirementDialog .modal-head h2{
  margin:3px 0 6px!important;
}
#receiveRequirementDialog .modal-head p{
  margin:0!important;
  color:var(--muted)!important;
}
.receive-order-body{
  display:grid!important;
  gap:16px!important;
  padding:20px 22px!important;
}
.receive-order-row{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
}
.receive-order-field{
  display:grid!important;
  gap:7px!important;
  min-width:0!important;
}
.receive-order-field>span{
  display:flex!important;
  align-items:baseline!important;
  gap:6px!important;
  color:var(--text)!important;
  font-size:.9rem!important;
  font-weight:750!important;
}
.receive-order-field small{
  color:var(--muted)!important;
  font-size:.78rem!important;
  font-weight:600!important;
}
.receive-order-field input{
  width:100%!important;
  min-width:0!important;
  height:46px!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.receive-order-location{
  width:100%!important;
}
.receive-order-footer{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:16px 22px 20px!important;
  border-top:1px solid var(--line)!important;
}
.receive-order-footer .error{
  flex:1 1 auto!important;
  min-width:0!important;
  margin:0!important;
}
.receive-order-footer .actions{
  flex:0 0 auto!important;
  margin:0!important;
}
@media(max-width:620px){
  #receiveRequirementDialog.receive-order-dialog{
    width:calc(100vw - 20px)!important;
  }
  .receive-order-row{
    grid-template-columns:1fr!important;
  }
  .receive-order-footer{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  .receive-order-footer .actions{
    width:100%!important;
  }
  .receive-order-footer .actions button{
    flex:1!important;
  }
}

/* Workshop Pro 5.7.0 RC1.32.4 — Safari nested-dialog fix */
#requirementsDialog[open],
#receiveRequirementDialog[open]{
  isolation:isolate!important;
}

/* Workshop Pro 5.7.0 RC1.32.4 — live Parts Order List KPI refresh */

/* Workshop Pro 5.7.0 RC1.32.4 — single Parts Order workflow */
.parts-simple-home{padding-bottom:18px!important;}
.parts-simple-explainer{
 display:grid!important;
 grid-template-columns:1fr 1fr!important;
 gap:12px!important;
 padding:18px!important;
 border-top:1px solid var(--line)!important;
}
.parts-simple-explainer>div{
 display:flex!important;
 flex-direction:column!important;
 gap:5px!important;
 min-height:86px!important;
 padding:16px!important;
 border:1px solid var(--line)!important;
 border-radius:13px!important;
 background:color-mix(in srgb,var(--surface) 96%,#0c1a2d)!important;
}
.parts-simple-explainer strong{font-size:1rem!important;}
.parts-simple-explainer span{color:var(--muted)!important;line-height:1.45!important;}
.simple-parts-lifecycle{justify-content:center!important;}
@media(max-width:760px){
 .parts-simple-explainer{grid-template-columns:1fr!important;}
}

/* Workshop Pro 5.7.0 RC1.32.4 — simplified Parts & Inventory KPI cards */
#partStats.parts-kpi-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
#partStats .parts-kpi-card.order-list .parts-kpi-icon{
  background:color-mix(in srgb,var(--accent) 24%,var(--surface))!important;
}
@media(max-width:700px){
  #partStats.parts-kpi-grid{
    grid-template-columns:1fr!important;
  }
}

/* Workshop Pro 5.7.0 RC1.32.4 — POS Parts Order shortcut */
.pos-order-part-shortcut{
  white-space:nowrap!important;
}

/* Workshop Pro 5.7.0 RC1.32.4 — POS header restructure */
.pos-head-v1318{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:14px!important;
  align-items:start!important;
}
.pos-head-v1318 .pos-head-copy{
  min-width:0!important;
  max-width:760px!important;
}
.pos-head-v1318 .pos-head-copy h1{
  margin-bottom:5px!important;
}
.pos-head-v1318 .pos-head-copy p{
  max-width:720px!important;
  margin:0!important;
  line-height:1.45!important;
}
.pos-head-actions-v1318{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:start!important;
  width:100%!important;
  min-width:0!important;
}
.pos-head-actions-v1318 .pos-action-group-repairs{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  min-width:0!important;
}
.pos-head-actions-v1318 .pos-action-group-sales{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  gap:8px!important;
  min-width:max-content!important;
}
.pos-head-actions-v1318 .pos-action-group button{
  white-space:nowrap!important;
}
@media(max-width:1180px){
  .pos-head-actions-v1318{
    grid-template-columns:1fr!important;
  }
  .pos-head-actions-v1318 .pos-action-group-sales{
    justify-content:flex-start!important;
  }
}
@media(max-width:760px){
  .pos-head-actions-v1318 .pos-action-group-repairs,
  .pos-head-actions-v1318 .pos-action-group-sales{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .pos-head-actions-v1318 .pos-action-group button{
    width:100%!important;
  }
}

/* Workshop Pro 5.7.0 RC1.32.4 — POS register header simplification */
.pos-register-closed-only[hidden]{
  display:none!important;
}
#posManageTillBtn{
  white-space:nowrap!important;
}
.pos-register-closed-only{
  margin-top:0!important;
}

/* Workshop Pro 5.7.0 RC1.32.4 — compact POS top bar */
.pos-head-v1320{
  display:block!important;
  margin:0 0 14px!important;
}
.pos-head-v1320 .pos-head-actions-v1318{
  margin:0!important;
}

/* Workshop Pro 5.7.0 RC1.32.4 — POS toolbar alignment polish */
.pos-head-v1320{
  margin:0 0 8px!important;
}
.pos-head-v1320 .pos-head-actions-v1318{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  width:100%!important;
  align-items:start!important;
  justify-items:start!important;
}
.pos-head-v1320 .pos-action-group-repairs,
.pos-head-v1320 .pos-action-group-sales{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
}
.pos-head-v1320 .pos-action-group-sales{
  justify-self:start!important;
}
.pos-head-v1320 .pos-action-group button{
  min-height:42px!important;
}
.pos-head-v1320 + #posRegisterStatus[hidden] + .pos-layout,
.pos-head-v1320 + #posRegisterStatus:not([hidden]) + .pos-layout{
  margin-top:0!important;
}
@media(max-width:760px){
  .pos-head-v1320 .pos-action-group-repairs,
  .pos-head-v1320 .pos-action-group-sales{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
  }
}

/* Workshop Pro 5.7.0 RC1.32.4 — POS catalogue / checkout alignment */
.pos-layout-v1322{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(340px,410px)!important;
  gap:14px!important;
  align-items:start!important;
  margin-top:0!important;
}
.pos-layout-v1322>.pos-catalog,
.pos-layout-v1322>.pos-checkout{
  align-self:start!important;
  margin-top:0!important;
  top:auto!important;
}
.pos-layout-v1322>.pos-catalog{
  height:auto!important;
}
.pos-layout-v1322>.pos-checkout{
  position:relative!important;
}
.pos-head-v1320{
  margin-bottom:8px!important;
}
.pos-head-v1320 + #posRegisterStatus[hidden] + .pos-layout-v1322{
  margin-top:0!important;
}
@media(max-width:980px){
  .pos-layout-v1322{
    grid-template-columns:1fr!important;
  }
}

/* Workshop Pro 5.7.0 RC1.32.4 — Close Register reconciliation + report */
#posRegisterCloseDialog.pos-register-close-dialog{
 width:min(760px,calc(100vw - 36px))!important;max-width:760px!important;padding:0!important;border:0!important;background:transparent!important;
}
.pos-register-close-v1323{width:100%!important;max-width:none!important;padding:20px!important;border-radius:18px!important;background:var(--surface)!important;color:var(--text)!important;}
.pos-register-close-v1323 .modal-head{margin-bottom:10px!important;}
.pos-register-close-v1323 .modal-head p{color:var(--muted)!important;}
.pos-close-summary-heading{display:flex!important;flex-direction:column!important;gap:3px!important;margin:2px 0 12px!important;color:var(--text)!important;}
.pos-close-summary-heading span{color:var(--muted)!important;font-size:.9rem!important;}
.pos-close-sales-summary{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;}
.pos-close-sales-summary>div{display:flex!important;justify-content:space-between!important;align-items:center!important;min-height:44px!important;padding:10px 12px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:color-mix(in srgb,var(--surface) 94%,#071525)!important;color:var(--text)!important;}
.pos-close-sales-summary>div span,.pos-close-sales-summary>div strong{color:var(--text)!important;}
.pos-close-sales-summary .pos-close-cash{grid-column:1/-1!important;background:color-mix(in srgb,var(--accent) 10%,var(--surface))!important;}
.pos-close-confirm-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;margin-top:16px!important;}
.pos-close-confirm-field,.pos-close-notes{display:grid!important;gap:7px!important;min-width:0!important;color:var(--text)!important;}
.pos-close-confirm-field>span,.pos-close-notes>span{font-weight:750!important;color:var(--text)!important;}
.pos-close-confirm-field small,.pos-close-notes small{color:var(--muted)!important;}
.pos-close-confirm-field input,.pos-close-notes textarea{width:100%!important;box-sizing:border-box!important;background:var(--bg)!important;color:var(--text)!important;border:1px solid var(--line)!important;}
.pos-close-confirm-field input{height:46px!important;font-size:1rem!important;font-weight:750!important;}
.pos-close-notes{grid-column:1/-1!important;}
.pos-close-notes textarea{min-height:82px!important;}
.pos-close-variance{margin:12px 0 0!important;text-align:right!important;font-size:1rem!important;font-weight:800!important;color:var(--text)!important;}
.pos-close-variance.balanced{color:#59d98e!important;}
.pos-close-variance.unbalanced{color:#ffb25b!important;}
.pos-close-print-note{margin:12px 0 0!important;padding:10px 12px!important;border-radius:10px!important;background:color-mix(in srgb,var(--accent) 9%,var(--surface))!important;color:var(--muted)!important;font-size:.86rem!important;}
.pos-register-close-v1323 .actions{margin-top:14px!important;}
@media(max-width:640px){.pos-close-sales-summary,.pos-close-confirm-grid{grid-template-columns:1fr!important}.pos-close-sales-summary .pos-close-cash,.pos-close-notes{grid-column:auto!important}}

/* Workshop Pro 5.7.0 RC1.32.4 — Parts Order List Safari dialog fix + UI polish */
#requirementsDialog.requirements-dialog{
  width:min(980px,calc(100vw - 40px))!important;
  max-width:980px!important;
  height:auto!important;
  max-height:calc(100dvh - 40px)!important;
  margin:auto!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  overflow:visible!important;
  background:transparent!important;
  box-shadow:none!important;
}
#requirementsDialog .requirements-modal{
  width:100%!important;
  max-width:none!important;
  max-height:calc(100dvh - 40px)!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid var(--line)!important;
  border-radius:18px!important;
  background:var(--surface)!important;
  box-shadow:0 28px 80px rgba(0,0,0,.55)!important;
}
#requirementsDialog .modal-head{
  padding:20px 22px 18px!important;
  border-bottom:1px solid var(--line)!important;
}
#requirementsDialog .modal-head h2{
  margin:3px 0 6px!important;
}
#requirementsDialog .modal-head p{
  margin:0!important;
  color:var(--muted)!important;
}
#requirementsDialog .simple-order-toolbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:14px 20px!important;
  border-bottom:1px solid var(--line)!important;
  background:color-mix(in srgb,var(--surface) 96%,#0b1a2d)!important;
}
#requirementsDialog .simple-order-toolbar>span{
  padding:7px 10px!important;
  border:1px solid var(--line)!important;
  border-radius:999px!important;
  background:var(--bg)!important;
  color:var(--muted)!important;
  font-size:.82rem!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
#requirementsDialog .simple-order-list{
  display:grid!important;
  gap:10px!important;
  max-height:min(54dvh,560px)!important;
  padding:16px 20px 20px!important;
  overflow:auto!important;
  background:var(--surface)!important;
}
#requirementsDialog .simple-order-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:18px!important;
  align-items:center!important;
  padding:15px 16px!important;
  border:1px solid var(--line)!important;
  border-radius:13px!important;
  background:color-mix(in srgb,var(--surface) 96%,#0a1829)!important;
}
.simple-order-title-row{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:9px!important;
  margin-bottom:8px!important;
}
.simple-order-title-row>strong{
  min-width:0!important;
  font-size:1rem!important;
  line-height:1.25!important;
}
.simple-order-status{
  display:inline-flex!important;
  align-items:center!important;
  min-height:26px!important;
  padding:4px 9px!important;
  border:1px solid var(--line)!important;
  border-radius:999px!important;
  background:var(--bg)!important;
  color:var(--muted)!important;
  font-size:.76rem!important;
  font-weight:800!important;
}
.simple-order-status.ordered{
  border-color:color-mix(in srgb,var(--accent) 45%,var(--line))!important;
  background:color-mix(in srgb,var(--accent) 12%,var(--surface))!important;
  color:var(--text)!important;
}
#requirementsDialog .simple-order-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px 14px!important;
  color:var(--muted)!important;
  font-size:.84rem!important;
}
#requirementsDialog .simple-order-meta span{
  display:inline-flex!important;
  gap:5px!important;
  align-items:baseline!important;
}
#requirementsDialog .simple-order-meta b{
  color:var(--text)!important;
  font-weight:750!important;
}
#requirementsDialog .simple-order-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}
#requirementsDialog .simple-order-actions button{
  min-height:40px!important;
  white-space:nowrap!important;
}
.simple-order-empty{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  min-height:150px!important;
  padding:24px!important;
  border:1px dashed var(--line)!important;
  border-radius:13px!important;
  color:var(--muted)!important;
  text-align:center!important;
}
.simple-order-empty strong{
  color:var(--text)!important;
  font-size:1rem!important;
}
@media(max-width:760px){
  #requirementsDialog.requirements-dialog{
    width:calc(100vw - 20px)!important;
    max-height:calc(100dvh - 20px)!important;
  }
  #requirementsDialog .requirements-modal{
    max-height:calc(100dvh - 20px)!important;
  }
  #requirementsDialog .simple-order-toolbar{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  #requirementsDialog .simple-order-toolbar>span{
    text-align:center!important;
  }
  #requirementsDialog .simple-order-card{
    grid-template-columns:1fr!important;
  }
  #requirementsDialog .simple-order-actions{
    justify-content:stretch!important;
  }
  #requirementsDialog .simple-order-actions button{
    flex:1 1 auto!important;
  }
}
/* Workshop Pro 5.7.0 RC1.35.6 — System Housekeeping */
.housekeeping-inline{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}.housekeeping-inline>div,.housekeeping-status>div{display:flex;flex-direction:column;gap:3px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.housekeeping-inline span,.housekeeping-status span{color:var(--muted);font-size:.86rem}.housekeeping-card .card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.housekeeping-switch{display:flex!important;align-items:center;gap:8px;white-space:nowrap;font-weight:750}.housekeeping-switch input{width:20px!important;height:20px!important}.housekeeping-status{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.housekeeping-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.housekeeping-settings label{display:grid;gap:6px}.housekeeping-settings select{width:100%}.housekeeping-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.housekeeping-protected{margin-top:14px}.housekeeping-protected span{display:block;margin-top:4px}@media(max-width:900px){.housekeeping-status,.housekeeping-settings{grid-template-columns:1fr 1fr}}@media(max-width:620px){.housekeeping-inline,.housekeeping-status,.housekeeping-settings{grid-template-columns:1fr}.housekeeping-card .card-heading{flex-direction:column}.housekeeping-actions{flex-direction:column}.housekeeping-actions button{width:100%}}

/* Workshop Pro 5.7.0 RC1.35.6 — System Housekeeping UI polish */
.housekeeping-card{padding:18px!important;}
.housekeeping-card .card-heading{align-items:center!important;padding-bottom:2px!important;}
.housekeeping-card .card-heading h2{margin:3px 0 5px!important;}
.housekeeping-card .card-heading .meta{max-width:900px!important;line-height:1.45!important;}
.housekeeping-switch-v1326{
  display:flex!important;align-items:center!important;gap:10px!important;min-width:190px!important;
  padding:10px 12px!important;border:1px solid var(--line)!important;border-radius:12px!important;
  background:color-mix(in srgb,var(--surface) 95%,#0c1b2e)!important;
}
.housekeeping-switch-v1326 input{
  flex:0 0 auto!important;width:22px!important;height:22px!important;margin:0!important;accent-color:var(--accent)!important;
}
.housekeeping-switch-v1326>span{display:flex!important;flex-direction:column!important;gap:1px!important;line-height:1.2!important;}
.housekeeping-switch-v1326 strong{color:var(--text)!important;font-size:.88rem!important;}
.housekeeping-switch-v1326 small{color:var(--muted)!important;font-size:.78rem!important;font-weight:650!important;}

.housekeeping-status{gap:12px!important;margin:18px 0!important;}
.housekeeping-status>div{
  min-height:78px!important;justify-content:center!important;padding:14px 16px!important;
  background:color-mix(in srgb,var(--surface) 96%,#0b192b)!important;
}
.housekeeping-status>div strong{color:var(--text)!important;font-size:.98rem!important;line-height:1.25!important;}
.housekeeping-status>div span{line-height:1.35!important;}

.housekeeping-settings-v1326{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;}
.housekeeping-setting-group{
  padding:16px!important;border:1px solid var(--line)!important;border-radius:14px!important;
  background:color-mix(in srgb,var(--surface) 97%,#091727)!important;
}
.housekeeping-setting-group-head{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(260px,430px)!important;gap:18px!important;
  align-items:end!important;margin-bottom:14px!important;padding-bottom:12px!important;border-bottom:1px solid var(--line)!important;
}
.housekeeping-setting-group-head h3{margin:3px 0 0!important;color:var(--text)!important;font-size:1rem!important;}
.housekeeping-setting-group-head p{margin:0!important;color:var(--muted)!important;font-size:.84rem!important;line-height:1.4!important;}
.housekeeping-setting-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;}
.housekeeping-setting-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.housekeeping-setting-grid label{display:grid!important;gap:7px!important;min-width:0!important;}
.housekeeping-setting-grid label>span{color:var(--text)!important;font-size:.86rem!important;font-weight:750!important;}
.housekeeping-setting-grid select{
  display:block!important;width:100%!important;min-width:0!important;height:46px!important;margin:0!important;
  padding:0 40px 0 12px!important;border:1px solid var(--line)!important;border-radius:10px!important;
  background-color:var(--bg)!important;color:var(--text)!important;-webkit-text-fill-color:var(--text)!important;
  font:inherit!important;font-weight:700!important;opacity:1!important;color-scheme:dark!important;
}
.housekeeping-setting-grid select:focus{
  outline:none!important;border-color:var(--accent)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)!important;
}
.housekeeping-setting-grid select option{background:var(--surface)!important;color:var(--text)!important;}
.housekeeping-actions-v1326{
  grid-column:auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;
  gap:10px!important;margin:2px 0 0!important;padding:14px 2px 2px!important;
}
.housekeeping-actions-v1326 button{min-height:44px!important;}
.housekeeping-protected{margin-top:16px!important;padding:13px 15px!important;}

@media(max-width:1000px){
  .housekeeping-setting-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  .housekeeping-card .card-heading{align-items:stretch!important;flex-direction:column!important;}
  .housekeeping-switch-v1326{width:100%!important;min-width:0!important;box-sizing:border-box!important;}
  .housekeeping-setting-group-head{grid-template-columns:1fr!important;gap:7px!important;align-items:start!important;}
  .housekeeping-setting-grid,.housekeeping-setting-grid-two{grid-template-columns:1fr!important;}
  .housekeeping-actions-v1326{align-items:stretch!important;flex-direction:column-reverse!important;}
  .housekeeping-actions-v1326 button{width:100%!important;}
}

/* Workshop Pro 5.7.0 RC1.35.6 — Automatic Backup Health */
.automatic-backup-health-card{
  overflow:hidden!important;
}
.automatic-backup-health-heading{
  align-items:center!important;
  gap:18px!important;
}
.automatic-backup-health-heading h2{
  margin:3px 0 5px!important;
}
.automatic-backup-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:118px!important;
  min-height:34px!important;
  padding:6px 12px!important;
  border:1px solid var(--line)!important;
  border-radius:999px!important;
  background:var(--bg)!important;
  color:var(--muted)!important;
  font-size:.82rem!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.automatic-backup-badge.healthy{
  border-color:color-mix(in srgb,#59d98e 50%,var(--line))!important;
  background:color-mix(in srgb,#59d98e 12%,var(--surface))!important;
  color:#76e8a7!important;
}
.automatic-backup-badge.waiting{
  border-color:color-mix(in srgb,var(--accent) 45%,var(--line))!important;
  background:color-mix(in srgb,var(--accent) 10%,var(--surface))!important;
  color:var(--text)!important;
}
.automatic-backup-badge.overdue,
.automatic-backup-badge.failed{
  border-color:color-mix(in srgb,#ff9f43 55%,var(--line))!important;
  background:color-mix(in srgb,#ff9f43 12%,var(--surface))!important;
  color:#ffc071!important;
}
.automatic-backup-health-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:16px!important;
}
.automatic-backup-health-grid>div{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  min-width:0!important;
  min-height:92px!important;
  padding:14px 16px!important;
  border:1px solid var(--line)!important;
  border-radius:13px!important;
  background:color-mix(in srgb,var(--surface) 96%,#091727)!important;
}
.automatic-backup-health-grid span{
  color:var(--muted)!important;
  font-size:.76rem!important;
  font-weight:800!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
}
.automatic-backup-health-grid strong{
  color:var(--text)!important;
  font-size:.98rem!important;
  line-height:1.3!important;
  word-break:break-word!important;
}
.automatic-backup-health-grid small{
  margin-top:auto!important;
  color:var(--muted)!important;
  font-size:.78rem!important;
  line-height:1.35!important;
  word-break:break-word!important;
}
.automatic-backup-message{
  margin-top:12px!important;
  padding:11px 13px!important;
  border:1px solid var(--line)!important;
  border-radius:11px!important;
  color:var(--muted)!important;
  background:var(--bg)!important;
  font-size:.86rem!important;
  line-height:1.45!important;
}
.automatic-backup-message.healthy{
  border-color:color-mix(in srgb,#59d98e 35%,var(--line))!important;
}
.automatic-backup-message.overdue,
.automatic-backup-message.failed{
  border-color:color-mix(in srgb,#ff9f43 42%,var(--line))!important;
}
@media(max-width:900px){
  .automatic-backup-health-grid{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:700px){
  .automatic-backup-health-heading{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  .automatic-backup-badge{
    align-self:flex-start!important;
  }
}

/* Workshop Pro 5.7.0 RC1.35.6 — Business & Tax UI polish */
.business-tax-view{max-width:1180px!important}
.business-tax-page-head{margin-bottom:16px!important}
.business-tax-page-head h1{margin-bottom:4px!important}
.business-tax-status{
  display:flex!important;align-items:center!important;gap:8px!important;
  margin:0 0 16px!important;padding:12px 15px!important;border-radius:12px!important;
  line-height:1.45!important
}
.business-tax-status strong{margin-right:4px!important}
.business-tax-card{padding:20px!important}
.business-tax-card+.business-tax-card{margin-top:16px!important}
.business-tax-section-head{margin-bottom:18px!important}
.business-tax-section-head h2{margin:3px 0 5px!important}
.business-tax-section-head .meta{max-width:780px!important;line-height:1.45!important}
.business-tax-form{display:flex!important;flex-direction:column!important;gap:18px!important}
.business-tax-toggle-row{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;
  padding:15px 16px!important;border:1px solid var(--line)!important;border-radius:13px!important;
  background:color-mix(in srgb,var(--surface) 94%,var(--bg))!important;cursor:pointer!important
}
.business-tax-toggle-copy{display:flex!important;flex-direction:column!important;gap:3px!important}
.business-tax-toggle-copy strong{font-size:.98rem!important;color:var(--text)!important}
.business-tax-toggle-copy small{font-size:.84rem!important;color:var(--muted)!important;line-height:1.4!important}
.business-tax-switch{position:relative!important;display:block!important;flex:0 0 auto!important;width:48px!important;height:28px!important}
.business-tax-switch input{position:absolute!important;opacity:0!important;pointer-events:none!important}
.business-tax-switch>span{
  position:absolute!important;inset:0!important;border:1px solid var(--line)!important;border-radius:999px!important;
  background:var(--bg)!important;transition:.18s ease!important
}
.business-tax-switch>span:after{
  content:""!important;position:absolute!important;width:20px!important;height:20px!important;left:3px!important;top:3px!important;
  border-radius:50%!important;background:var(--muted)!important;transition:.18s ease!important
}
.business-tax-switch input:checked+span{background:var(--accent)!important;border-color:var(--accent)!important}
.business-tax-switch input:checked+span:after{transform:translateX(20px)!important;background:#fff!important}
.business-tax-switch input:focus-visible+span{outline:2px solid var(--accent)!important;outline-offset:2px!important}
.business-tax-fields{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important
}
.business-tax-fields label,.pos-float-field{display:flex!important;flex-direction:column!important;gap:7px!important;font-weight:700!important}
.business-tax-fields label>span,.pos-float-field>span{font-size:.86rem!important;color:var(--text)!important}
.business-tax-fields input,.pos-float-field input{
  width:100%!important;min-height:44px!important;margin:0!important;
  background:var(--bg)!important;color:var(--text)!important;border:1px solid var(--line)!important
}
.business-tax-fields input:disabled{
  opacity:1!important;background:color-mix(in srgb,var(--surface) 86%,var(--bg))!important;
  color:var(--muted)!important;-webkit-text-fill-color:var(--muted)!important
}
.business-tax-fields input::placeholder,.pos-float-field input::placeholder{color:var(--muted)!important;opacity:.78!important}
.business-tax-info-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
.business-tax-info-panel{
  display:flex!important;flex-direction:column!important;gap:6px!important;padding:14px 16px!important;
  border:1px solid var(--line)!important;border-radius:12px!important;
  background:color-mix(in srgb,var(--surface) 94%,var(--bg))!important
}
.business-tax-info-panel strong{display:block!important;color:var(--text)!important;font-size:.9rem!important;line-height:1.3!important}
.business-tax-info-panel span{display:block!important;color:var(--muted)!important;font-size:.86rem!important;line-height:1.48!important}
.business-tax-actions{display:flex!important;justify-content:flex-start!important;padding-top:1px!important}
.business-tax-actions button{min-height:42px!important}
.pos-float-settings-form{
  display:grid!important;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr)!important;gap:14px!important;align-items:stretch!important
}
.pos-float-info{min-height:100%!important;justify-content:center!important}
.pos-float-settings-form .business-tax-actions{grid-column:1/-1!important}
@media(max-width:900px){
 .business-tax-fields{grid-template-columns:1fr 1fr!important}
 .business-tax-fields label:first-child{grid-column:1/-1!important}
 .business-tax-info-grid,.pos-float-settings-form{grid-template-columns:1fr!important}
 .pos-float-settings-form .business-tax-actions{grid-column:auto!important}
}
@media(max-width:620px){
 .business-tax-card{padding:16px!important}
 .business-tax-fields{grid-template-columns:1fr!important}
 .business-tax-fields label:first-child{grid-column:auto!important}
 .business-tax-toggle-row{align-items:flex-start!important}
 .business-tax-actions button{width:100%!important}
}

/* Workshop Pro 5.7.0 RC1.35.6 — Developer Diagnostics reliability */
#developerDiagnosticsList{display:grid!important;gap:12px!important}
.diagnostic-card.is-running{border-color:color-mix(in srgb,var(--accent) 35%,var(--line))!important}
.diagnostic-card.is-running .pill{background:color-mix(in srgb,var(--accent) 12%,var(--surface))!important;color:var(--text)!important}

/* Workshop Pro 5.7.0 RC1.35.6 — Developer Diagnostics click/runner fix */
#developerDiagnosticsList>.empty{
 display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
 gap:6px!important;min-height:130px!important;text-align:center!important;
}
#developerDiagnosticsList>.empty strong{color:var(--text)!important;font-size:1rem!important}
#developerDiagnosticsList>.empty span{color:var(--muted)!important}
#developerDiagnosticsRunBtn:disabled{cursor:wait!important;opacity:.78!important}

/* Workshop Pro 5.7.0 RC1.35.6 — independent Developer Diagnostics runner */
.diagnostic-run-meta{
  padding:4px 2px 0!important;
  color:var(--muted)!important;
  font-size:.78rem!important;
  text-align:right!important;
}

/* Workshop Pro 5.7.0 RC1.35.6 — Device Intelligence UI polish */
.device-intelligence-view{max-width:1180px!important}
.device-intelligence-head{
 display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:24px!important;margin-bottom:16px!important
}
.device-intelligence-head h1{margin:3px 0 5px!important}
.device-intelligence-head p{max-width:760px!important;margin:0!important;color:var(--muted)!important;line-height:1.45!important}
.device-intelligence-actions{display:flex!important;flex-wrap:wrap!important;justify-content:flex-end!important;gap:9px!important}
.device-intelligence-actions button{min-height:42px!important;white-space:nowrap!important}

.device-intelligence-stats{
 display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin:0 0 16px!important
}
.device-intelligence-stat{
 display:flex!important;align-items:center!important;gap:13px!important;min-width:0!important;min-height:96px!important;
 padding:14px 15px!important;border:1px solid var(--line)!important;border-radius:14px!important;
 background:var(--surface)!important
}
.device-intelligence-stat-icon{
 display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 42px!important;
 width:42px!important;height:42px!important;border-radius:50%!important;background:color-mix(in srgb,var(--accent) 15%,var(--bg))!important;
 color:var(--text)!important;font-size:1.1rem!important;font-weight:800!important
}
.device-intelligence-stat>div{display:flex!important;flex-direction:column!important;min-width:0!important}
.device-intelligence-stat strong{font-size:1.35rem!important;line-height:1.05!important;color:var(--text)!important;word-break:break-word!important}
.device-intelligence-stat span:not(.device-intelligence-stat-icon){margin-top:3px!important;color:var(--text)!important;font-size:.88rem!important;font-weight:750!important;line-height:1.25!important}
.device-intelligence-stat small{margin-top:3px!important;color:var(--muted)!important;font-size:.76rem!important;line-height:1.25!important}
.device-intelligence-stat.unknown .device-intelligence-stat-icon{background:color-mix(in srgb,#d78b24 17%,var(--bg))!important;color:#ffc36a!important}
.device-intelligence-stat.success .device-intelligence-stat-icon{background:color-mix(in srgb,#43c77a 16%,var(--bg))!important;color:#74eaa3!important}
.device-intelligence-stat.provider .device-intelligence-stat-icon{background:color-mix(in srgb,#9b6cff 15%,var(--bg))!important;color:#c6adff!important}

.device-intelligence-search-card{padding:16px!important;margin-bottom:16px!important}
.device-intelligence-filterbar{
 display:grid!important;grid-template-columns:minmax(0,1fr) 220px!important;gap:12px!important;align-items:end!important
}
.device-intelligence-filterbar label{display:grid!important;gap:6px!important}
.device-intelligence-filterbar label>span{color:var(--text)!important;font-size:.78rem!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.05em!important}
.device-intelligence-search-control{position:relative!important;display:flex!important;align-items:center!important}
.device-intelligence-search-control>span{position:absolute!important;left:13px!important;color:var(--muted)!important;pointer-events:none!important}
.device-intelligence-search-control input{width:100%!important;padding-left:38px!important}
.device-intelligence-filterbar input,.device-intelligence-filterbar select{
 min-height:44px!important;margin:0!important;background:var(--bg)!important;color:var(--text)!important;
 border:1px solid var(--line)!important
}
.device-intelligence-filterbar input::placeholder{color:var(--muted)!important;opacity:.82!important}
.tac-mapping-list{margin-top:14px!important}
.device-intelligence-empty{
 display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important;
 min-height:150px!important;padding:24px!important;border:1px dashed var(--line)!important;border-radius:12px!important;text-align:center!important
}
.device-intelligence-empty-icon{
 display:flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;
 margin-bottom:4px!important;border-radius:50%!important;background:color-mix(in srgb,var(--accent) 12%,var(--bg))!important;color:var(--text)!important
}
.device-intelligence-empty strong{color:var(--text)!important;font-size:.95rem!important}
.device-intelligence-empty small{color:var(--muted)!important;font-size:.82rem!important}

.device-intelligence-card{margin-top:16px!important;padding:18px!important}
.device-intelligence-card .card-heading{align-items:center!important;gap:18px!important;margin-bottom:14px!important}
.device-intelligence-card .card-heading h2{margin:3px 0 5px!important}
.device-intelligence-card .card-heading .meta{max-width:820px!important;line-height:1.45!important}
.unknown-tac-list{display:grid!important;gap:10px!important}
.unknown-tac-row{
 display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:13px!important;align-items:center!important;
 padding:13px 14px!important;border:1px solid var(--line)!important;border-radius:12px!important;
 background:color-mix(in srgb,var(--surface) 96%,var(--bg))!important
}
.unknown-tac-icon{
 display:flex!important;align-items:center!important;justify-content:center!important;width:38px!important;height:38px!important;
 border-radius:10px!important;background:color-mix(in srgb,var(--accent) 12%,var(--bg))!important;color:var(--text)!important
}
.unknown-tac-main{min-width:0!important}
.unknown-tac-main strong{display:block!important;color:var(--text)!important;margin-bottom:3px!important}
.unknown-tac-main .meta{color:var(--muted)!important;font-size:.82rem!important;line-height:1.35!important}
.unknown-tac-row button{min-width:96px!important;min-height:40px!important}

.device-provider-form{display:flex!important;flex-direction:column!important;gap:14px!important}
.device-provider-grid{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px!important
}
.device-provider-grid label{display:grid!important;gap:7px!important;min-width:0!important;color:var(--text)!important}
.device-provider-grid label>span:not(.device-provider-enable-copy){font-size:.84rem!important;font-weight:750!important;color:var(--text)!important}
.device-provider-grid input,.device-provider-grid select{
 width:100%!important;min-width:0!important;min-height:44px!important;margin:0!important;
 background:var(--bg)!important;color:var(--text)!important;border:1px solid var(--line)!important
}
.device-provider-grid input::placeholder{color:var(--muted)!important;opacity:.8!important}
.device-provider-full{grid-column:1/-1!important}
.device-provider-enable{
 display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;
 padding:11px 13px!important;border:1px solid var(--line)!important;border-radius:11px!important;
 background:color-mix(in srgb,var(--surface) 94%,var(--bg))!important
}
.device-provider-enable-copy{display:flex!important;flex-direction:column!important;gap:2px!important}
.device-provider-enable-copy strong{color:var(--text)!important;font-size:.84rem!important}
.device-provider-enable-copy small{color:var(--muted)!important;font-size:.75rem!important}
.device-provider-enable input{width:20px!important;height:20px!important;margin:0!important;accent-color:var(--accent)!important}
.device-provider-actions{display:flex!important;justify-content:flex-end!important;gap:9px!important;padding-top:2px!important}
.device-provider-actions button{min-height:42px!important}
#deviceProviderError{margin:0!important}

@media(max-width:1000px){
 .device-intelligence-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
 .device-intelligence-head{align-items:stretch!important;flex-direction:column!important}
 .device-intelligence-actions{justify-content:flex-start!important}
 .device-intelligence-filterbar,.device-provider-grid{grid-template-columns:1fr!important}
 .device-provider-full{grid-column:auto!important}
 .device-intelligence-card .card-heading{align-items:stretch!important;flex-direction:column!important}
}
@media(max-width:560px){
 .device-intelligence-stats{grid-template-columns:1fr!important}
 .device-intelligence-actions{display:grid!important;grid-template-columns:1fr!important}
 .device-intelligence-actions button{width:100%!important}
 .unknown-tac-row{grid-template-columns:auto minmax(0,1fr)!important}
 .unknown-tac-row button{grid-column:1/-1!important;width:100%!important}
 .device-provider-actions{align-items:stretch!important;flex-direction:column-reverse!important}
 .device-provider-actions button{width:100%!important}
}

/* Workshop Pro 5.7.0 RC1.35.6 — Device Intelligence page-height fix */
#deviceIntelligence.device-intelligence-view{
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  padding-bottom:20px!important;
  margin-bottom:0!important;
}
#deviceIntelligence.device-intelligence-view>.device-intelligence-card:last-child{
  margin-bottom:0!important;
}
#deviceIntelligence .device-provider-card{
  min-height:0!important;
  height:auto!important;
  padding-bottom:18px!important;
}
#deviceIntelligence .device-provider-form{
  margin-bottom:0!important;
}
#deviceIntelligence .device-provider-actions{
  margin-bottom:0!important;
}
#deviceIntelligence .device-provider-grid{
  margin-bottom:0!important;
}

/* Prevent the active Device Intelligence view from inheriting oversized view/page
   minimum heights that create a large blank scroll region beneath its content. */
main:has(#deviceIntelligence.view.active){
  min-height:0!important;
  height:auto!important;
  padding-bottom:18px!important;
}
.app-content:has(#deviceIntelligence.view.active){
  min-height:100dvh!important;
  height:auto!important;
}
body:has(#deviceIntelligence.view.active){
  min-height:100dvh!important;
  height:auto!important;
}

/* Workshop Pro 5.7.0 RC1.35.6 — Device Intelligence bounded scroll container
   Device Intelligence now uses the application content pane as the sole
   vertical scroll container. This prevents iPad/Chromium/Safari from
   scrolling the document beyond the end of the module content. */
html:has(#deviceIntelligence.view.active),
body:has(#deviceIntelligence.view.active){
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
body:has(#deviceIntelligence.view.active) #app.app-shell{
  height:100dvh!important;
  min-height:0!important;
  max-height:100dvh!important;
  overflow:hidden!important;
}
body:has(#deviceIntelligence.view.active) .app-content{
  height:100dvh!important;
  min-height:0!important;
  max-height:100dvh!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:contain!important;
  -webkit-overflow-scrolling:touch!important;
}
body:has(#deviceIntelligence.view.active) .app-content main{
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  padding-bottom:20px!important;
}
body:has(#deviceIntelligence.view.active) #deviceIntelligence.view.active{
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding-bottom:0!important;
}
body:has(#deviceIntelligence.view.active) #deviceIntelligence>.device-provider-card:last-child{
  margin-bottom:0!important;
}

/* Workshop Pro 5.7.0 RC1.35.6 — bounded scrolling for admin modules
   These modules use the application content pane as the sole vertical scroll
   container on tablet/desktop. This prevents document/body overscroll beyond
   the end of module content. */
html:has(:is(
  #developerDiagnostics.view.active,
  #integrations.view.active,
  #modules.view.active,
  #platformHealth.view.active,
  #businessTax.view.active,
  #printAdmin.view.active,
  #updates.view.active,
  #system.view.active,
  #audit.view.active
)),
body:has(:is(
  #developerDiagnostics.view.active,
  #integrations.view.active,
  #modules.view.active,
  #platformHealth.view.active,
  #businessTax.view.active,
  #printAdmin.view.active,
  #updates.view.active,
  #system.view.active,
  #audit.view.active
)){
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}

body:has(:is(
  #developerDiagnostics.view.active,
  #integrations.view.active,
  #modules.view.active,
  #platformHealth.view.active,
  #businessTax.view.active,
  #printAdmin.view.active,
  #updates.view.active,
  #system.view.active,
  #audit.view.active
)) #app.app-shell{
  height:100dvh!important;
  min-height:0!important;
  max-height:100dvh!important;
  overflow:hidden!important;
}

body:has(:is(
  #developerDiagnostics.view.active,
  #integrations.view.active,
  #modules.view.active,
  #platformHealth.view.active,
  #businessTax.view.active,
  #printAdmin.view.active,
  #updates.view.active,
  #system.view.active,
  #audit.view.active
)) .app-content{
  height:100dvh!important;
  min-height:0!important;
  max-height:100dvh!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:contain!important;
  -webkit-overflow-scrolling:touch!important;
}

body:has(:is(
  #developerDiagnostics.view.active,
  #integrations.view.active,
  #modules.view.active,
  #platformHealth.view.active,
  #businessTax.view.active,
  #printAdmin.view.active,
  #updates.view.active,
  #system.view.active,
  #audit.view.active
)) .app-content main{
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  padding-bottom:20px!important;
}

:is(
  #developerDiagnostics,
  #integrations,
  #modules,
  #platformHealth,
  #businessTax,
  #printAdmin,
  #updates,
  #system,
  #audit
).view.active{
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
}

:is(
  #developerDiagnostics,
  #integrations,
  #modules,
  #platformHealth,
  #businessTax,
  #printAdmin,
  #updates,
  #system,
  #audit
).view.active>:last-child{
  margin-bottom:0!important;
}

/* Workshop Pro 5.7.0 RC1.35.6 — Dashboard Device & Job Search dark-theme consistency */
.dashboard-search{
  background:var(--surface)!important;
  border-color:var(--line)!important;
}
.dashboard-search h2{
  color:var(--text)!important;
}
.dashboard-search .meta{
  color:var(--muted)!important;
}
.dashboard-search-wrap{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:48px!important;
  padding:0 12px!important;
  border:1px solid var(--line)!important;
  border-radius:11px!important;
  background:var(--bg)!important;
}
.dashboard-search-wrap>span{
  flex:0 0 auto!important;
  color:var(--muted)!important;
}
.dashboard-search-wrap input{
  flex:1 1 auto!important;
  width:100%!important;
  min-width:0!important;
  min-height:46px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  color:var(--text)!important;
  -webkit-text-fill-color:var(--text)!important;
  opacity:1!important;
}
.dashboard-search-wrap input::placeholder{
  color:var(--muted)!important;
  -webkit-text-fill-color:var(--muted)!important;
  opacity:.85!important;
}
.dashboard-search-wrap:focus-within{
  border-color:var(--accent)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)!important;
}
html[data-theme="light"] .dashboard-search-wrap{
  background:var(--surface)!important;
}

/* Workshop Pro 5.7.0 RC1.35.6 — Test Data Reset */
.test-data-reset-card{margin-top:16px!important}
.test-data-reset-card .card-heading{align-items:center!important;gap:18px!important}
.test-data-reset-card .card-heading h2{margin:3px 0 5px!important}
.test-data-reset-card .card-heading .meta{max-width:820px!important;line-height:1.45!important}
.test-data-reset-protected{display:flex!important;flex-direction:column!important;gap:4px!important;margin-top:14px!important;padding:12px 14px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:color-mix(in srgb,#2fb46e 7%,var(--surface))!important}
.test-data-reset-protected strong{color:var(--text)!important;font-size:.84rem!important}
.test-data-reset-protected span{color:var(--muted)!important;font-size:.82rem!important;line-height:1.4!important}
#testDataResetDialog.test-data-reset-dialog{inset:0!important;margin:auto!important;padding:0!important;border:0!important;background:transparent!important;width:min(820px,calc(100vw - 32px))!important;max-width:820px!important;max-height:calc(100dvh - 32px)!important}
#testDataResetDialog::backdrop{background:rgba(0,8,20,.78)!important;backdrop-filter:blur(4px)!important}
.test-data-reset-modal{width:100%!important;max-width:none!important;max-height:calc(100dvh - 32px)!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;padding:0!important;background:var(--surface)!important;border:1px solid color-mix(in srgb,#e44848 40%,var(--line))!important;border-radius:16px!important;box-shadow:0 28px 80px rgba(0,0,0,.6)!important}
.test-data-reset-modal .modal-head{padding:17px 18px!important;background:color-mix(in srgb,#e44848 7%,var(--surface))!important;border-bottom:1px solid var(--line)!important}
.test-data-reset-modal .modal-head h2{margin:3px 0 5px!important}
.test-data-reset-modal .modal-head p{margin:0!important;color:var(--muted)!important;line-height:1.4!important}
.test-data-reset-body{display:grid!important;gap:14px!important;padding:16px 18px!important;overflow:auto!important;overscroll-behavior:contain!important}
.test-data-reset-summary{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.test-data-reset-summary>div{display:flex!important;flex-direction:column!important;gap:3px!important;padding:12px 13px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:var(--bg)!important}
.test-data-reset-summary strong{font-size:1.18rem!important;color:var(--text)!important}
.test-data-reset-summary span{font-size:.76rem!important;color:var(--muted)!important;line-height:1.3!important}
.test-data-reset-groups{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-top:10px!important}
.test-data-reset-groups>div{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:9px 11px!important;border-bottom:1px solid var(--line)!important}
.test-data-reset-groups span{color:var(--muted)!important;font-size:.82rem!important}
.test-data-reset-groups strong{color:var(--text)!important;font-size:.88rem!important}
.test-data-reset-option{display:grid!important;gap:9px!important;padding:14px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:var(--bg)!important}
.test-data-reset-option>div{display:flex!important;flex-direction:column!important;gap:3px!important;margin-bottom:2px!important}
.test-data-reset-option>div strong{color:var(--text)!important}
.test-data-reset-option>div span{color:var(--muted)!important;font-size:.82rem!important}
.test-data-reset-option label{display:flex!important;align-items:flex-start!important;gap:10px!important;padding:10px 11px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:var(--surface)!important;cursor:pointer!important}
.test-data-reset-option label>input{flex:0 0 auto!important;width:18px!important;height:18px!important;margin:2px 0 0!important;accent-color:var(--accent)!important}
.test-data-reset-option label>span{display:flex!important;flex-direction:column!important;gap:2px!important}
.test-data-reset-option label strong{color:var(--text)!important;font-size:.86rem!important}
.test-data-reset-option label small{color:var(--muted)!important;font-size:.78rem!important;line-height:1.35!important}
.test-data-reset-warning{display:flex!important;flex-direction:column!important;gap:4px!important;padding:12px 14px!important;border:1px solid color-mix(in srgb,#e44848 48%,var(--line))!important;border-radius:11px!important;background:color-mix(in srgb,#e44848 10%,var(--surface))!important}
.test-data-reset-warning strong{color:#ffb5b5!important}
.test-data-reset-warning span{color:var(--text)!important;font-size:.82rem!important;line-height:1.4!important}
.test-data-reset-confirm{display:grid!important;gap:7px!important}
.test-data-reset-confirm>span{color:var(--text)!important;font-size:.84rem!important}
.test-data-reset-confirm input{min-height:44px!important;margin:0!important;background:var(--bg)!important;color:var(--text)!important;border:1px solid var(--line)!important;font-weight:800!important;letter-spacing:.03em!important}
.test-data-reset-footer{display:flex!important;justify-content:flex-end!important;gap:9px!important;padding:14px 18px!important;border-top:1px solid var(--line)!important;background:var(--surface)!important}
.test-data-reset-footer button{min-height:42px!important}
.test-data-reset-footer .danger:disabled{opacity:.45!important;cursor:not-allowed!important}
@media(max-width:680px){
 #testDataResetDialog.test-data-reset-dialog{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;margin:0!important}
 .test-data-reset-modal{height:100dvh!important;max-height:none!important;border-radius:0!important}
 .test-data-reset-summary,.test-data-reset-groups{grid-template-columns:1fr!important}
 .test-data-reset-footer{flex-direction:column-reverse!important}
 .test-data-reset-footer button{width:100%!important}
 .test-data-reset-card .card-heading{align-items:stretch!important;flex-direction:column!important}
 .test-data-reset-card .card-heading button{width:100%!important}
}

/* Workshop Pro 5.7.0 RC1.35.6 — independent Test Data Reset runner */
#testDataResetOpenBtn:active{transform:translateY(1px)!important}
#testDataResetPreview>.empty{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  min-height:120px!important;
  text-align:center!important;
}
#testDataResetPreview>.empty strong{color:var(--text)!important}
#testDataResetPreview>.empty span{color:var(--muted)!important;font-size:.82rem!important}

/* Workshop Pro 5.7.0 RC1.35.6 — Manual CCUS Club points adjustment */
.club-points-adjustment-dialog{
 inset:0!important;margin:auto!important;padding:0!important;border:0!important;background:transparent!important;
 width:min(680px,calc(100vw - 32px))!important;max-width:680px!important;max-height:calc(100dvh - 32px)!important;
}
.club-points-adjustment-dialog::backdrop{background:rgba(0,8,20,.76)!important;backdrop-filter:blur(4px)!important}
.club-points-adjustment-modal{
 width:100%!important;max-width:none!important;margin:0!important;padding:0!important;overflow:hidden!important;
 background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:16px!important;
 box-shadow:0 28px 80px rgba(0,0,0,.58)!important;
}
.club-points-adjustment-modal .modal-head{padding:17px 18px!important;border-bottom:1px solid var(--line)!important}
.club-points-adjustment-modal .modal-head h2{margin:3px 0 5px!important}
.club-points-adjustment-modal .modal-head p{margin:0!important;color:var(--muted)!important;font-size:.84rem!important}
.club-points-adjustment-modal .modal-head p strong{color:var(--text)!important}
.club-points-adjustment-body{display:grid!important;gap:14px!important;padding:16px 18px!important}
.club-points-adjustment-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px!important}
.club-points-adjustment-grid label{display:grid!important;gap:7px!important;min-width:0!important}
.club-points-adjustment-grid label>span{color:var(--text)!important;font-size:.84rem!important;font-weight:750!important}
.club-points-adjustment-grid label small{color:var(--muted)!important;font-weight:600!important}
.club-points-adjustment-grid input,
.club-points-adjustment-grid select,
.club-points-adjustment-grid textarea{
 width:100%!important;min-width:0!important;margin:0!important;background:var(--bg)!important;color:var(--text)!important;
 border:1px solid var(--line)!important;
}
.club-points-adjustment-grid input,
.club-points-adjustment-grid select{min-height:44px!important}
.club-points-adjustment-grid textarea{resize:vertical!important;min-height:86px!important}
.club-points-adjustment-full{grid-column:1/-1!important}
.club-points-conversion-note{margin:0!important}
.club-points-adjustment-actions{margin:0!important;padding:14px 18px!important;border-top:1px solid var(--line)!important;background:var(--surface)!important}
.club-ledger-note{display:block!important;margin-top:3px!important;color:var(--muted)!important;white-space:normal!important}
@media(max-width:620px){
 .club-points-adjustment-dialog{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;margin:0!important}
 .club-points-adjustment-modal{min-height:100dvh!important;border-radius:0!important}
 .club-points-adjustment-grid{grid-template-columns:1fr!important}
 .club-points-adjustment-full{grid-column:auto!important}
 .club-points-adjustment-actions{display:grid!important;grid-template-columns:1fr!important}
 .club-points-adjustment-actions button{width:100%!important}
}

/* Workshop Pro 5.7.0 RC1.35.6 — verified manual loyalty points persistence */
.club-points-adjustment-verification{
 display:flex!important;
 flex-direction:column!important;
 gap:3px!important;
 padding:10px 12px!important;
 border:1px solid color-mix(in srgb,#2fb46e 42%,var(--line))!important;
 border-radius:10px!important;
 background:color-mix(in srgb,#2fb46e 9%,var(--surface))!important;
}
.club-points-adjustment-verification[hidden]{display:none!important}
.club-points-adjustment-verification strong{color:var(--text)!important;font-size:.84rem!important}
.club-points-adjustment-verification span{color:var(--muted)!important;font-size:.8rem!important}

/* Workshop Pro 5.7.0 RC1.35.6 — CCUS Club live-data cache hardening */
.club-member-workspace{contain:layout style}

/* Workshop Pro 5.7.0 RC1.35.6 — dedicated CCUS Club points controller */
.club-points-adjustment-dialog .error:not(:empty){
 display:block!important;
 padding:10px 12px!important;
 border-radius:10px!important;
}

/* Workshop Pro 5.7.0 RC1.35.6 — CCUS Club Points at POS */
.pos-payment-club{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important}
.pos-payment-club>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.pos-use-club-points{white-space:nowrap;flex:0 0 auto}
.pos-payment-row.is-club-points{grid-template-columns:minmax(165px,.9fr) minmax(120px,.7fr) minmax(120px,.7fr) 42px!important}
.pos-payment-row.is-club-points [data-payment-amount]{font-weight:800}
.pos-payment-points-meta{display:flex;align-items:center;justify-content:center;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);font-size:.82rem;font-weight:800;color:var(--text)}
.pos-club-points-dialog{max-width:none}
.pos-club-points-modal{width:min(620px,calc(100vw - 28px));display:flex;flex-direction:column;gap:16px}
.pos-club-points-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pos-club-points-summary>div{padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);display:flex;flex-direction:column;gap:4px}
.pos-club-points-summary span{font-size:.76rem;color:var(--muted);font-weight:700}
.pos-club-points-summary strong{font-size:1rem;color:var(--text)}
.pos-club-points-input{display:flex;flex-direction:column;gap:7px;font-weight:800}
.pos-club-points-input input{font-size:1.15rem;font-weight:800}
.pos-club-points-preview{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.pos-club-points-preview span{color:var(--muted);font-size:.82rem}
.pos-club-points-preview strong{color:var(--text)}
@media(max-width:700px){
 .pos-payment-club{align-items:stretch!important;flex-direction:column!important}
 .pos-use-club-points{width:100%}
 .pos-club-points-summary{grid-template-columns:1fr}
 .pos-club-points-preview{align-items:flex-start;flex-direction:column;gap:5px}
 .pos-payment-row.is-club-points{grid-template-columns:1fr 1fr 42px!important}
 .pos-payment-row.is-club-points .pos-payment-points-meta{grid-column:1 / 3}
}

/* Workshop Pro 5.7.0 RC1.35.6 — Use Club Points on main POS */
.pos-club-earn-note.pos-club-main-action{
 display:flex!important;
 align-items:center!important;
 justify-content:space-between!important;
 gap:12px!important;
 padding:9px 10px!important;
}
.pos-club-main-action>div{
 min-width:0;
 display:grid;
 grid-template-columns:minmax(0,1fr) auto;
 align-items:center;
 column-gap:10px;
 row-gap:2px;
}
.pos-club-main-action>div>span{min-width:0}
.pos-club-main-action>div>strong{white-space:nowrap}
.pos-club-main-action>div>small{
 grid-column:1 / -1;
 font-size:.72rem;
 opacity:.86;
}
.pos-main-use-points{
 flex:0 0 auto;
 min-height:36px;
 padding:7px 12px!important;
 white-space:nowrap;
 font-weight:800!important;
}
@media(max-width:720px){
 .pos-club-earn-note.pos-club-main-action{align-items:stretch!important;flex-direction:column!important}
 .pos-main-use-points{width:100%}
}

/* Workshop Pro 5.7.0 RC1.35.6 — CCUS Club Points dark-mode contrast */
.pos-club-points-modal{
 background:var(--surface)!important;
 color:var(--text)!important;
}
.pos-club-points-input input{
 appearance:none;
 -webkit-appearance:none;
 width:100%;
 background:var(--surface-2)!important;
 color:var(--text)!important;
 border:1px solid var(--line)!important;
 caret-color:var(--text);
 box-shadow:none!important;
}
.pos-club-points-input input::placeholder{
 color:var(--muted)!important;
 opacity:1;
}
.pos-club-points-input input:focus{
 background:var(--surface-2)!important;
 color:var(--text)!important;
 border-color:var(--accent)!important;
 outline:2px solid color-mix(in srgb,var(--accent) 30%,transparent)!important;
 outline-offset:1px;
}
.pos-club-points-input input:-webkit-autofill,
.pos-club-points-input input:-webkit-autofill:hover,
.pos-club-points-input input:-webkit-autofill:focus{
 -webkit-text-fill-color:var(--text)!important;
 -webkit-box-shadow:0 0 0 1000px var(--surface-2) inset!important;
 transition:background-color 9999s ease-in-out 0s;
}
.pos-club-points-summary>div,
.pos-club-points-preview{
 background:var(--surface-2)!important;
 color:var(--text)!important;
 border-color:var(--line)!important;
}
.pos-club-points-summary span,
.pos-club-points-preview span{
 color:var(--muted)!important;
}
.pos-club-points-summary strong,
.pos-club-points-preview strong{
 color:var(--text)!important;
}
.pos-club-points-modal .notice{
 background:var(--surface-2)!important;
 color:var(--text)!important;
 border-color:var(--line)!important;
}
.pos-club-points-modal .notice strong{
 color:var(--text)!important;
 margin-right:.3rem;
}
.pos-club-points-modal .notice span{
 color:var(--muted)!important;
}

/* Workshop Pro 5.7.0 RC1.35.6 — POS remaining-payment display */
#posTotals .pos-club-points-applied,
#posTotals .pos-payment-remaining{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
}
#posTotals .pos-club-points-applied{
 color:var(--muted);
}
#posTotals .pos-club-points-applied strong{
 color:var(--accent);
}
#posTotals .pos-payment-remaining{
 margin-top:6px;
 padding-top:10px;
 border-top:1px solid var(--line);
 color:var(--text);
 font-weight:800;
}
#posTotals .pos-payment-remaining strong{
 font-size:1.16rem;
 color:var(--text);
}

/* Workshop Pro 5.7.0 RC1.35.6 — POS CCUS Club layout fix */
.pos-club-earn-note.pos-club-main-action{
 display:grid!important;
 grid-template-columns:minmax(0,1fr) auto!important;
 align-items:center!important;
 gap:12px!important;
 padding:12px 14px!important;
 min-width:0!important;
}
.pos-club-main-action>div{
 min-width:0!important;
 display:grid!important;
 grid-template-columns:minmax(0,1fr) auto!important;
 column-gap:12px!important;
 row-gap:3px!important;
 align-items:center!important;
}
.pos-club-main-action>div>span{
 min-width:0!important;
 overflow-wrap:anywhere!important;
 line-height:1.18!important;
}
.pos-club-main-action>div>strong{
 white-space:nowrap!important;
 justify-self:end!important;
}
.pos-club-main-action>div>small{
 grid-column:1 / -1!important;
 min-width:0!important;
 overflow-wrap:anywhere!important;
 line-height:1.25!important;
}
.pos-main-use-points{
 justify-self:end!important;
 align-self:center!important;
 min-width:max-content!important;
 max-width:100%!important;
 white-space:nowrap!important;
}

@media(max-width:860px){
 .pos-club-earn-note.pos-club-main-action{
  grid-template-columns:1fr!important;
  align-items:stretch!important;
 }
 .pos-club-main-action>div{
  grid-template-columns:minmax(0,1fr) auto!important;
 }
 .pos-main-use-points{
  width:100%!important;
  justify-self:stretch!important;
 }
}

@media(max-width:560px){
 .pos-club-main-action>div{
  grid-template-columns:1fr!important;
  gap:4px!important;
 }
 .pos-club-main-action>div>strong{
  justify-self:start!important;
 }
}

/* Workshop Pro 5.7.0 RC1.35.6 — POS Club card stacked layout */
.pos-club-earn-note.pos-club-main-action{
 display:flex!important;
 flex-direction:column!important;
 align-items:stretch!important;
 gap:10px!important;
 padding:13px 14px!important;
 min-width:0!important;
}
.pos-club-main-action>div{
 display:grid!important;
 grid-template-columns:minmax(0,1fr) auto!important;
 align-items:start!important;
 column-gap:14px!important;
 row-gap:5px!important;
 min-width:0!important;
 width:100%!important;
}
.pos-club-main-action>div>span{
 display:block!important;
 min-width:0!important;
 overflow-wrap:normal!important;
 word-break:normal!important;
 white-space:normal!important;
 line-height:1.25!important;
 font-weight:700!important;
}
.pos-club-main-action>div>strong{
 display:block!important;
 justify-self:end!important;
 align-self:start!important;
 white-space:nowrap!important;
 line-height:1.25!important;
}
.pos-club-main-action>div>small{
 display:block!important;
 grid-column:1 / -1!important;
 min-width:0!important;
 overflow-wrap:normal!important;
 word-break:normal!important;
 white-space:normal!important;
 line-height:1.3!important;
}
.pos-main-use-points{
 display:block!important;
 width:100%!important;
 min-width:0!important;
 max-width:none!important;
 justify-self:stretch!important;
 align-self:stretch!important;
 white-space:normal!important;
 text-align:center!important;
 min-height:40px!important;
 padding:9px 12px!important;
}
@media(max-width:560px){
 .pos-club-main-action>div{
  grid-template-columns:1fr!important;
 }
 .pos-club-main-action>div>strong{
  justify-self:start!important;
 }
}

/* Workshop Pro 5.7.0 RC1.35.6 — POS Club containment polish */
#posTotals{
 min-width:0!important;
 overflow:visible!important;
}
.pos-club-earn-note.pos-club-main-action{
 width:100%!important;
 max-width:100%!important;
 box-sizing:border-box!important;
 margin:10px 0 0!important;
 padding:14px!important;
 overflow:hidden!important;
 border-radius:14px!important;
}
.pos-club-main-action>div{
 width:100%!important;
 max-width:100%!important;
 box-sizing:border-box!important;
}
.pos-club-main-action>div>span,
.pos-club-main-action>div>strong,
.pos-club-main-action>div>small{
 max-width:100%!important;
 box-sizing:border-box!important;
}
.pos-main-use-points{
 width:100%!important;
 max-width:100%!important;
 box-sizing:border-box!important;
 margin:0!important;
}

#posCheckoutBtn{
 width:100%!important;
 max-width:100%!important;
 box-sizing:border-box!important;
 margin:12px 0 0!important;
 left:auto!important;
 right:auto!important;
 transform:none!important;
}

#pos .pos-side,
#pos .pos-basket,
#pos .pos-basket-panel,
#pos .pos-order-summary{
 min-width:0!important;
 overflow-x:hidden!important;
}

@media(max-width:900px){
 .pos-club-earn-note.pos-club-main-action{
  padding:13px!important;
 }
 .pos-club-main-action>div{
  grid-template-columns:minmax(0,1fr) auto!important;
 }
}

@media(max-width:620px){
 .pos-club-main-action>div{
  grid-template-columns:1fr!important;
  gap:4px!important;
 }
 .pos-club-main-action>div>strong{
  justify-self:start!important;
 }
 #posCheckoutBtn{
  min-height:58px!important;
 }
}

/* Workshop Pro 5.7.0 RC1.35.6 — POS checkout vertical overflow fix
   Keep the Club card and payment action inside the checkout column while
   allowing the column to scroll when its contents grow. */
#pos .pos-layout-v1322>.pos-checkout,
#pos .pos-checkout{
 min-width:0!important;
 max-height:calc(100dvh - 106px)!important;
 overflow-x:hidden!important;
 overflow-y:auto!important;
 overscroll-behavior:contain!important;
 scrollbar-gutter:stable!important;
 padding-bottom:18px!important;
 box-sizing:border-box!important;
}

/* The basket should not consume all remaining vertical space. It gets a
   sensible working height and its own item scroll when there are many lines. */
#pos .pos-basket{
 flex:0 1 260px!important;
 min-height:150px!important;
 max-height:260px!important;
 overflow-x:hidden!important;
 overflow-y:auto!important;
}

/* Summary and actions remain normal-flow content below the basket. */
#pos .pos-order-summary,
#posTotals,
#posCheckoutBtn{
 flex:0 0 auto!important;
}

/* Allow the Club card itself to render all vertical content; containment is
   handled by the checkout column rather than clipping the card. */
#pos .pos-club-earn-note.pos-club-main-action{
 overflow:visible!important;
}

/* On stacked/tablet layouts the page itself can provide the vertical scroll,
   so remove the desktop checkout height cap. */
@media(max-width:980px){
 #pos .pos-layout-v1322>.pos-checkout,
 #pos .pos-checkout{
  max-height:none!important;
  overflow-y:visible!important;
  scrollbar-gutter:auto!important;
 }
 #pos .pos-basket{
  flex:0 1 300px!important;
  max-height:300px!important;
 }
}

/* Workshop Pro 5.7.0 RC1.35.6 — POS no-internal-scroll layout
   Let basket height follow its contents so Club actions and payment remain visible. */
#pos .pos-layout-v1322>.pos-checkout,
#pos .pos-checkout{
 max-height:none!important;
 overflow:visible!important;
 padding-bottom:16px!important;
}

/* Remove the empty flex stretch that was pushing the order summary down. */
#pos .pos-basket{
 flex:0 0 auto!important;
 min-height:0!important;
 max-height:none!important;
 overflow:visible!important;
}

/* Keep a little breathing room when the basket is empty, without reserving
   a large section of the checkout column. */
#pos .pos-basket.is-empty{
 min-height:96px!important;
}

/* Ensure the basket/order-summary stack stays compact and natural. */
#pos .pos-basket-head{
 margin-top:8px!important;
}
#pos .pos-order-summary{
 margin-top:10px!important;
 padding-top:10px!important;
}
#pos .pos-club-earn-note.pos-club-main-action{
 margin-top:10px!important;
}
#posCheckoutBtn{
 margin-top:10px!important;
}

/* Keep desktop alignment without making the checkout an internal scroll pane. */
.pos-layout-v1322>.pos-checkout{
 position:sticky!important;
 top:86px!important;
 align-self:start!important;
}

/* At narrower layouts, return to normal document flow. */
@media(max-width:980px){
 .pos-layout-v1322>.pos-checkout{
  position:relative!important;
  top:auto!important;
 }
}

/* Workshop Pro 5.7.0 RC1.35.6 — On-demand POS catalogue */
#pos .pos-layout-v1322{
 grid-template-columns:minmax(300px,.72fr) minmax(390px,1fr)!important;
 align-items:start!important;
}
#pos .pos-quick-entry{
 min-height:0!important;
 padding:18px!important;
 display:flex!important;
 flex-direction:column!important;
 gap:16px!important;
}
.pos-quick-entry-head h2{margin:2px 0 5px!important}
.pos-quick-entry-head p{margin:0!important;color:var(--muted)!important;max-width:52ch}
.pos-quick-search{display:block!important}
.pos-quick-actions{
 display:grid!important;
 grid-template-columns:1fr 1fr!important;
 gap:10px!important;
}
.pos-quick-actions button{
 min-height:48px!important;
 width:100%!important;
}
.pos-quick-actions .pos-open-catalogue{
 grid-column:1 / -1!important;
 min-height:58px!important;
 font-size:1rem!important;
}
.pos-quick-hint{
 display:flex!important;
 align-items:flex-start!important;
 gap:10px!important;
 padding:12px!important;
 border:1px solid var(--line)!important;
 border-radius:12px!important;
 background:var(--surface-soft)!important;
 color:var(--muted)!important;
}
.pos-quick-hint span{
 flex:0 0 auto;
 padding:3px 7px;
 border-radius:999px;
 background:color-mix(in srgb,var(--accent) 14%,var(--surface));
 color:var(--accent);
 font-size:.72rem;
 font-weight:900;
 text-transform:uppercase;
 letter-spacing:.05em;
}
.pos-quick-hint strong{font-size:.82rem!important;color:var(--text)!important;line-height:1.35!important}

/* Give the basket/checkout more useful width now that the catalogue is not permanent. */
#pos .pos-layout-v1322>.pos-checkout{
 width:100%!important;
 min-width:0!important;
}

/* Catalogue overlay */
#posCatalogueDialog.pos-catalogue-dialog{
 width:min(1180px,calc(100vw - 38px))!important;
 max-width:1180px!important;
 height:min(820px,calc(100dvh - 48px))!important;
 max-height:calc(100dvh - 48px)!important;
 padding:0!important;
 border:0!important;
 background:transparent!important;
 color:var(--text)!important;
}
#posCatalogueDialog::backdrop{
 background:rgba(2,10,20,.72)!important;
 backdrop-filter:blur(3px);
}
.pos-catalogue-modal{
 width:100%!important;
 height:100%!important;
 min-height:0!important;
 box-sizing:border-box!important;
 display:flex!important;
 flex-direction:column!important;
 background:var(--surface)!important;
 border:1px solid var(--line)!important;
 border-radius:18px!important;
 box-shadow:var(--shadow)!important;
 overflow:hidden!important;
}
.pos-catalogue-head{
 display:flex!important;
 align-items:flex-start!important;
 justify-content:space-between!important;
 gap:18px!important;
 padding:20px 22px 14px!important;
 border-bottom:1px solid var(--line)!important;
}
.pos-catalogue-head h2{margin:2px 0 4px!important;font-size:1.45rem!important}
.pos-catalogue-head p{margin:0!important;color:var(--muted)!important}
.pos-catalogue-toolbar{
 flex:0 0 auto!important;
 padding:0 22px 12px!important;
 border-bottom:1px solid var(--line)!important;
 background:var(--surface)!important;
}
#posCatalogueDialog .pos-category-chips{
 position:relative!important;
 top:auto!important;
 padding:12px 0 10px!important;
 background:transparent!important;
}
.pos-catalogue-meta{
 display:flex!important;
 align-items:center!important;
 justify-content:space-between!important;
 gap:12px!important;
 min-height:42px!important;
}
.pos-catalogue-meta>div{display:flex!important;align-items:baseline!important;gap:8px!important}
.pos-catalogue-meta span{font-size:.72rem!important;color:var(--muted)!important;text-transform:uppercase!important;letter-spacing:.07em!important;font-weight:900!important}
.pos-catalogue-meta strong{color:var(--text)!important}
.pos-catalogue-meta.item-added{animation:posCatalogueAdded .22s ease}
@keyframes posCatalogueAdded{50%{transform:scale(.99);opacity:.78}}
#posCatalogueDialog .pos-catalogue-grid{
 flex:1 1 auto!important;
 min-height:0!important;
 overflow-y:auto!important;
 overflow-x:hidden!important;
 align-content:start!important;
 grid-template-columns:repeat(auto-fill,minmax(175px,1fr))!important;
 gap:12px!important;
 padding:16px 22px 22px!important;
}
#posCatalogueDialog .pos-product-wrap .pos-product{
 min-height:158px!important;
}

@media(max-width:980px){
 #pos .pos-layout-v1322{
  grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr)!important;
 }
}
@media(max-width:820px){
 #pos .pos-layout-v1322{grid-template-columns:1fr!important}
 #pos .pos-quick-entry{padding:14px!important}
 #posCatalogueDialog.pos-catalogue-dialog{
  width:calc(100vw - 20px)!important;
  height:calc(100dvh - 20px)!important;
  max-height:calc(100dvh - 20px)!important;
 }
 .pos-catalogue-head{padding:16px!important}
 .pos-catalogue-toolbar{padding:0 16px 10px!important}
 #posCatalogueDialog .pos-catalogue-grid{padding:14px 16px 18px!important}
}
@media(max-width:560px){
 .pos-quick-actions{grid-template-columns:1fr!important}
 .pos-quick-actions .pos-open-catalogue{grid-column:auto!important}
 #posCatalogueDialog .pos-catalogue-grid{grid-template-columns:1fr 1fr!important;gap:9px!important}
}

/* Workshop Pro 5.7.0 RC1.35.6 — Quick product search in POS */
.pos-quick-search{
 position:relative!important;
}
.pos-quick-search-results{
 position:absolute!important;
 z-index:45!important;
 left:0!important;
 right:0!important;
 top:calc(100% + 6px)!important;
 max-height:390px!important;
 overflow-y:auto!important;
 overflow-x:hidden!important;
 padding:6px!important;
 border:1px solid var(--line)!important;
 border-radius:13px!important;
 background:var(--surface-raised)!important;
 box-shadow:var(--shadow)!important;
}
.pos-quick-search-results[hidden]{display:none!important}
.pos-quick-result{
 width:100%!important;
 display:flex!important;
 align-items:center!important;
 justify-content:space-between!important;
 gap:14px!important;
 padding:11px 12px!important;
 border:0!important;
 border-bottom:1px solid var(--line)!important;
 border-radius:8px!important;
 background:transparent!important;
 color:var(--text)!important;
 text-align:left!important;
}
.pos-quick-result:last-child{border-bottom:0!important}
.pos-quick-result:hover,
.pos-quick-result:focus-visible{
 background:var(--surface-soft)!important;
}
.pos-quick-result>span{
 display:flex!important;
 flex-direction:column!important;
 gap:3px!important;
 min-width:0!important;
}
.pos-quick-result strong{
 color:var(--text)!important;
 line-height:1.2!important;
}
.pos-quick-result small{
 color:var(--muted)!important;
 font-size:.75rem!important;
 line-height:1.25!important;
 white-space:normal!important;
}
.pos-quick-result>b{
 flex:0 0 auto!important;
 color:var(--text)!important;
 font-size:.95rem!important;
}
.pos-quick-result.is-disabled{
 opacity:.48!important;
 cursor:not-allowed!important;
}
.pos-quick-search-empty{
 display:flex!important;
 flex-direction:column!important;
 gap:3px!important;
 padding:14px!important;
 color:var(--text)!important;
}
.pos-quick-search-empty span{
 color:var(--muted)!important;
 font-size:.8rem!important;
}

/* Workshop Pro 5.7.0 RC1.35.6 — direct POS points mode */
.club-points-direct-notice{
 margin-top:12px!important;
 background:color-mix(in srgb,var(--accent) 8%,var(--surface))!important;
 border-color:color-mix(in srgb,var(--accent) 28%,var(--line))!important;
}
.club-points-direct-notice strong{color:var(--text)!important}
.club-points-direct-notice span{color:var(--muted)!important}

/* Workshop Pro 5.7.0 RC1.35.6 — CCUS Club Savings + Points model */
.club-balance-grid.club-balance-grid-simple,
.pos-club-balance-grid.pos-club-balance-grid-simple{
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
#clubStats{
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
@media(max-width:760px){
 .club-balance-grid.club-balance-grid-simple,
 .pos-club-balance-grid.pos-club-balance-grid-simple,
 #clubStats{
  grid-template-columns:1fr!important;
 }
}


/* Workshop Pro 5.7.0 RC1.35.8 — historical data maintenance */
.data-maintenance-card{display:grid;gap:18px}.data-maintenance-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.data-maintenance-stat{padding:16px;border:1px solid var(--border,#dbe3ef);border-radius:14px;background:var(--surface-soft,rgba(148,163,184,.06));display:grid;gap:5px}.data-maintenance-stat span{font-size:.82rem;font-weight:700;opacity:.72}.data-maintenance-stat strong{font-size:1.65rem;line-height:1}.data-maintenance-stat small{opacity:.65}.data-maintenance-stat.protected strong{font-size:1.35rem}.data-maintenance-actions{display:flex;gap:10px;flex-wrap:wrap}.data-maintenance-dialog{border:0;padding:0;background:transparent;max-width:min(680px,calc(100vw - 28px));width:100%}.data-maintenance-dialog::backdrop{background:rgba(15,23,42,.62);backdrop-filter:blur(2px)}.data-maintenance-modal{width:100%;max-width:none;margin:0;background:var(--surface,#fff);color:var(--text,#10213d);border-radius:18px;box-shadow:0 30px 90px #0006}.data-maintenance-modal-body{display:grid;gap:16px;padding:0 2px}.data-maintenance-preview{padding:16px;border:1px solid var(--border,#dbe3ef);border-radius:14px;display:grid;gap:6px}.data-maintenance-preview strong{font-size:1rem}.data-maintenance-preview span{font-size:.9rem;opacity:.72}@media(max-width:900px){.data-maintenance-counts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.data-maintenance-counts{grid-template-columns:1fr}.data-maintenance-actions{display:grid}.data-maintenance-actions button{width:100%}}

/* Workshop Pro 5.7.0 RC1.35.9 — Historical Data dialog opaque surface */
html[data-theme="dark"] .data-maintenance-modal,body.dark .data-maintenance-modal,.dark .data-maintenance-modal{background:#081b36!important;color:#f5f9ff!important;}


/* v5.7.0-rc1.35.24 — Customer Email Delivery contrast polish */
#customerEmailDialog .integration-client-modal{
  color:var(--text)!important;
}
#customerEmailDialog .integration-client-modal label{
  color:var(--text)!important;
}
#customerEmailDialog .integration-client-modal input:not([type="checkbox"]),
#customerEmailDialog .integration-client-modal select{
  width:100%;
  background:var(--input-bg,#162e49)!important;
  color:var(--text,#f4f8ff)!important;
  -webkit-text-fill-color:var(--text,#f4f8ff)!important;
  border:1px solid var(--border,#35526f)!important;
  box-shadow:none!important;
}
#customerEmailDialog .integration-client-modal input::placeholder{
  color:var(--muted,#9fb0c5)!important;
  -webkit-text-fill-color:var(--muted,#9fb0c5)!important;
  opacity:.9!important;
}
#customerEmailDialog .integration-client-modal input:focus,
#customerEmailDialog .integration-client-modal select:focus{
  outline:0!important;
  border-color:var(--accent,#3c8cff)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#3c8cff) 20%,transparent)!important;
}
#customerEmailDialog .integration-client-modal select option{
  background:#16283f;
  color:#f4f8ff;
}
#customerEmailDialog .integration-client-modal input[type="checkbox"]{
  accent-color:var(--accent,#3c8cff);
}
html[data-theme="dark"] #customerEmailDialog .integration-client-modal input:not([type="checkbox"]),
html[data-theme="dark"] #customerEmailDialog .integration-client-modal select{
  background:#16283f!important;
  border-color:#3a5573!important;
  color:#f4f8ff!important;
  -webkit-text-fill-color:#f4f8ff!important;
}
html[data-theme="dark"] #customerEmailDialog .integration-client-modal input::placeholder{
  color:#9eb0c6!important;
  -webkit-text-fill-color:#9eb0c6!important;
}
html:not([data-theme="dark"]) #customerEmailDialog .integration-client-modal input:not([type="checkbox"]),
html:not([data-theme="dark"]) #customerEmailDialog .integration-client-modal select{
  background:#fff!important;
  border-color:#bdcada!important;
  color:#10213d!important;
  -webkit-text-fill-color:#10213d!important;
}
html:not([data-theme="dark"]) #customerEmailDialog .integration-client-modal input::placeholder{
  color:#64758a!important;
  -webkit-text-fill-color:#64758a!important;
}


/* Workshop Pro 5.7.0-rc1.35.48 — Repair Workspace note field dark-theme contrast
   Scoped only to Technician Notes and Customer Comments compose fields. */
html[data-theme="dark"] .repair-note-card .repair-note-compose textarea,
html[data-theme="dark"] .repair-customer-comments .repair-note-compose textarea{
  background:var(--input-bg)!important;
  color:var(--text)!important;
  border-color:var(--line)!important;
  caret-color:var(--text)!important;
}
html[data-theme="dark"] .repair-note-card .repair-note-compose textarea::placeholder,
html[data-theme="dark"] .repair-customer-comments .repair-note-compose textarea::placeholder{
  color:var(--muted)!important;
  opacity:1!important;
}


/* Workshop Pro 5.7.0-rc1.35.54 — Repair cancellation modal theme contrast */
#repairCancelDialog{
  background:#fff;
  color:var(--text);
}
#repairCancelDialog .modal{
  color:var(--text);
}
#repairCancelDialog .modal-head{
  align-items:flex-start;
  gap:18px;
}
#repairCancelDialog .modal-head h2{
  margin:.35rem 0 .55rem;
  color:var(--text);
}
#repairCancelDialog .modal-head p{
  color:var(--muted);
}
#repairCancelDialog label{
  color:var(--text);
}
#repairCancelDialog select,
#repairCancelDialog textarea{
  background:#fff !important;
  color:#10213d !important;
  border-color:#c7d2e3 !important;
  caret-color:#10213d;
}
#repairCancelDialog select:focus,
#repairCancelDialog textarea:focus{
  border-color:var(--blue) !important;
  box-shadow:0 0 0 3px rgba(20,100,244,.18);
  outline:none;
}
#repairCancelDialog textarea::placeholder{
  color:#68758a !important;
  opacity:1 !important;
}
#repairCancelDialog .notice.warning{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:16px 0;
  padding:13px 15px;
  border:1px solid #f1c978;
  border-radius:10px;
  background:#fff8e8;
  color:#5c4514;
}
#repairCancelDialog .notice.warning strong{
  color:#4b3608;
}
#repairCancelDialog .notice.warning span{
  color:#72591e;
  line-height:1.45;
}
#repairCancelDialog .actions{
  margin-top:14px;
  margin-bottom:0;
}
#repairCancelDialog input[type="checkbox"]{
  width:auto;
  accent-color:var(--blue);
}

html[data-theme="dark"] #repairCancelDialog{
  background:var(--surface);
  color:var(--text);
}
html[data-theme="dark"] #repairCancelDialog select,
html[data-theme="dark"] #repairCancelDialog textarea{
  background:var(--input-bg) !important;
  color:var(--text) !important;
  border-color:var(--line) !important;
  caret-color:var(--text);
}
html[data-theme="dark"] #repairCancelDialog select option{
  background:var(--surface-raised);
  color:var(--text);
}
html[data-theme="dark"] #repairCancelDialog textarea::placeholder{
  color:var(--muted) !important;
  opacity:1 !important;
}
html[data-theme="dark"] #repairCancelDialog .notice.warning{
  background:#2a2111;
  border-color:#695329;
  color:#f5dfae;
}
html[data-theme="dark"] #repairCancelDialog .notice.warning strong{
  color:#ffe5aa;
}
html[data-theme="dark"] #repairCancelDialog .notice.warning span{
  color:#d8c28f;
}
html[data-theme="dark"] #repairCancelDialog .secondary{
  background:var(--button-secondary);
  color:var(--button-secondary-text);
}


/* rc1.35.59 — CCUS Customer Repair Requests queue */
.repair-request-list{display:grid;gap:12px}
.repair-request-job{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--surface,#fff);overflow:hidden}
.repair-request-job .repair-job-accent{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--blue)}
.repair-request-main{display:grid;gap:7px;min-width:0}
.repair-request-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:150px}
.repair-request-actions{display:flex;gap:8px}
.repair-request-actions button{padding:9px 13px}
.repair-request-notes{display:grid;gap:3px;margin-top:5px;padding:10px 12px;border-radius:10px;background:var(--surface-soft,#f5f7fb);border:1px solid var(--line)}
.repair-request-notes strong{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.repair-request-notes span{line-height:1.4}
html[data-theme="dark"] .repair-request-job{background:var(--surface)}
html[data-theme="dark"] .repair-request-notes{background:var(--surface-soft)}
@media(max-width:760px){.repair-request-job{grid-template-columns:1fr}.repair-request-side{align-items:flex-start;min-width:0}.repair-request-actions{width:100%}.repair-request-actions button{flex:1}}


/* rc1.35.60 — Repair Request scheduling + customer questions */
.repair-request-thread{display:grid;gap:8px;margin-top:6px}
.repair-request-thread-item{border:1px solid var(--line);border-radius:11px;padding:10px 12px;background:var(--surface-soft,#f6f8fb)}
.repair-request-thread-item.staff{border-left:3px solid var(--blue)}
.repair-request-thread-item.customer{border-left:3px solid #6c7a89}
.repair-request-thread-item>div{display:flex;justify-content:space-between;gap:12px;align-items:center}
.repair-request-thread-item small{color:var(--muted)}
.repair-request-thread-item p{margin:5px 0 0;line-height:1.42}
.repair-request-workbench{display:grid;gap:10px;margin-top:8px;padding-top:12px;border-top:1px solid var(--line)}
.repair-request-schedule{display:grid;grid-template-columns:minmax(150px,190px) minmax(150px,190px) auto;gap:9px;align-items:end}
.repair-request-schedule label{display:grid;gap:5px;font-size:.78rem;font-weight:800;color:var(--muted)}
.repair-request-schedule input,.repair-request-schedule select,.repair-request-question textarea{width:100%;background:var(--input-bg,#fff);color:var(--text);border:1px solid var(--line);border-radius:9px;padding:9px 10px}
.repair-request-question{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end}
.repair-request-question textarea{resize:vertical}
html[data-theme="dark"] .repair-request-thread-item{background:var(--surface-soft)}
@media(max-width:760px){.repair-request-schedule,.repair-request-question{grid-template-columns:1fr}.repair-request-schedule button,.repair-request-question button{width:100%}}

/* rc1.35.61 — identical Repair Request Proposed Date / Proposed Time controls */
.repair-request-date-control{
  position:relative;
  display:block;
  width:100%;
  height:38px;
}
.repair-request-preferred-control{
  width:100%;
  height:38px;
  min-height:38px;
  max-height:38px;
  box-sizing:border-box;
  border:1px solid var(--line);
  border-radius:9px;
  padding:9px 10px;
  background:var(--input-bg,#fff);
  color:var(--text);
  font-family:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:18px;
}
.repair-request-date-display.repair-request-preferred-control{
  display:flex;
  align-items:center;
  margin:0;
  pointer-events:none;
}
.repair-request-date-display.placeholder{
  color:var(--muted);
}
.repair-request-date-control > input[type="date"]{
  position:absolute;
  inset:0;
  width:100%;
  height:38px;
  min-width:0;
  max-width:100%;
  margin:0;
  padding:0;
  border:0;
  opacity:0;
  cursor:pointer;
  box-sizing:border-box;
}
.repair-request-schedule select.repair-request-preferred-control{
  display:block;
  margin:0;
}

/* rc1.35.62 — Repair Request KPI cards filter the request queue */
.repair-request-kpi{
  appearance:none;
  -webkit-appearance:none;
  font:inherit;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.repair-request-kpi:hover{
  transform:translateY(-1px);
  border-color:var(--blue);
}
.repair-request-kpi:focus-visible{
  outline:2px solid var(--blue);
  outline-offset:2px;
}
.repair-request-kpi.active{
  border-color:var(--blue);
  box-shadow:0 0 0 1px var(--blue) inset;
}

/* rc1.35.63 — Repair Requests automatic refresh */
.repair-request-refresh-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.repair-request-auto-refresh{
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
@media(max-width:700px){
  .repair-request-refresh-actions{
    align-items:flex-end;
    flex-direction:column;
  }
}

/* rc1.35.64 — All Repairs KPI filters + collected archive */
.repair-kpi-filter{
  appearance:none;
  -webkit-appearance:none;
  font:inherit;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.repair-kpi-filter:hover{
  transform:translateY(-1px);
  border-color:var(--blue);
}
.repair-kpi-filter:focus-visible{
  outline:2px solid var(--blue);
  outline-offset:2px;
}
.repair-kpi-filter.active{
  border-color:var(--blue);
  box-shadow:0 0 0 1px var(--blue) inset;
}
.collected-repairs-view .repair-list-card{
  margin-top:16px;
}

/* rc1.35.65 — CCUS Customer approvals */
.customer-approval-panel-head,
.customer-approval-pending,
.customer-approval-history-row{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
}
.customer-approval-panel-head p{margin:3px 0 0}
.customer-approval-pending{
  margin:12px 0 16px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-soft,#f6f8fb);
}
.customer-approval-pending strong{display:block;margin:4px 0}
.customer-approval-pending p{margin:4px 0 8px}
.customer-approval-create{margin:12px 0 18px}
.customer-approval-create button{margin-top:10px}
.customer-approval-history{display:grid;gap:8px}
.customer-approval-history-row{
  padding:10px 0;
  border-top:1px solid var(--line);
}
.customer-approval-history-row div{display:grid;gap:3px}
.customer-approval-history-row span,
.customer-approval-history-row small{color:var(--muted)}

/* rc1.35.67 — Customer Approval form contrast */
.customer-approval-panel{
  color:var(--text);
}
.customer-approval-panel label{
  color:var(--text);
}
.customer-approval-create input,
.customer-approval-create textarea{
  background:#fff !important;
  color:#10213d !important;
  -webkit-text-fill-color:#10213d !important;
  border-color:#c7d2e3 !important;
  caret-color:#10213d !important;
}
.customer-approval-create input::placeholder,
.customer-approval-create textarea::placeholder{
  color:#68758a !important;
  -webkit-text-fill-color:#68758a !important;
  opacity:1 !important;
}
.customer-approval-create input:focus,
.customer-approval-create textarea:focus{
  border-color:var(--blue) !important;
  box-shadow:0 0 0 3px rgba(20,100,244,.18);
  outline:none;
}
html[data-theme="dark"] .customer-approval-panel{
  color:var(--text);
}
html[data-theme="dark"] .customer-approval-create input,
html[data-theme="dark"] .customer-approval-create textarea{
  background:var(--input-bg,#162e49) !important;
  color:var(--text,#f4f8ff) !important;
  -webkit-text-fill-color:var(--text,#f4f8ff) !important;
  border-color:var(--line,#35526f) !important;
  caret-color:var(--text,#f4f8ff) !important;
}
html[data-theme="dark"] .customer-approval-create input::placeholder,
html[data-theme="dark"] .customer-approval-create textarea::placeholder{
  color:var(--muted,#9fb0c5) !important;
  -webkit-text-fill-color:var(--muted,#9fb0c5) !important;
  opacity:1 !important;
}
html[data-theme="dark"] .customer-approval-create input:focus,
html[data-theme="dark"] .customer-approval-create textarea:focus{
  background:var(--input-bg,#162e49) !important;
  border-color:#4b8dff !important;
  box-shadow:0 0 0 3px rgba(75,141,255,.18);
}

/* rc1.35.68 — Workshop Pro Notification Centre */
.sidebar-nav button{
  position:relative;
}
.sidebar-notification-badge{
  margin-left:auto;
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#d92d20;
  color:#fff;
  font-size:11px;
  font-weight:800;
  line-height:1;
}
.staff-notification-list{display:grid;gap:10px;margin-top:14px}
.staff-notification-card{
  width:100%;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  padding:15px 17px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface,#fff);
  color:var(--text);
  text-align:left;
}
.staff-notification-card.unread{
  border-left:4px solid #d92d20;
}
.staff-notification-card.read{
  opacity:.78;
}
.staff-notification-icon{
  width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;
  border:1px solid var(--line);
  background:var(--surface-soft,#f6f8fb);
  font-weight:800;
}
.staff-notification-main{display:grid;gap:4px;min-width:0}
.staff-notification-main>span,.staff-notification-main small{color:var(--muted)}
html[data-theme="dark"] .staff-notification-card{background:var(--surface)}
html[data-theme="dark"] .staff-notification-icon{background:var(--surface-soft)}
@media(max-width:700px){
  .staff-notification-card{grid-template-columns:auto minmax(0,1fr)}
  .staff-notification-card .repair-open-chevron{display:none}
}\n\n/* rc1.35.70 — Notification Centre grid placement fix */
.staff-notification-card .staff-notification-icon{
  grid-column:1;
  grid-row:1;
}
.staff-notification-card .staff-notification-main{
  grid-column:2;
  grid-row:1;
  justify-self:stretch;
  width:100%;
  text-align:left;
}
.staff-notification-card .repair-open-chevron{
  grid-column:3;
  grid-row:1;
  margin:0;
  align-self:center;
  justify-self:end;
}
@media(max-width:700px){
  .staff-notification-card .repair-open-chevron{display:none}
}

/* rc1.35.72 — Notification Centre KPI layout + interactive filters */
.staff-notification-summary{
  grid-template-columns:repeat(3,minmax(240px,1fr));
  gap:14px;
}
.staff-notification-kpi{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-width:0;
  min-height:102px;
  font:inherit;
  color:inherit;
  text-align:left;
  cursor:pointer;
  overflow:hidden;
}
.staff-notification-kpi .staff-notification-kpi-copy{
  display:block;
  min-width:0;
}
.staff-notification-kpi .staff-notification-kpi-copy>span{
  white-space:normal;
  line-height:1.2;
}
.staff-notification-kpi:hover{
  transform:translateY(-1px);
  border-color:var(--blue);
}
.staff-notification-kpi:focus-visible{
  outline:2px solid var(--blue);
  outline-offset:2px;
}
.staff-notification-kpi.active{
  border-color:var(--blue);
  box-shadow:0 0 0 1px var(--blue) inset;
}
@media(max-width:1000px){
  .staff-notification-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .staff-notification-summary{grid-template-columns:1fr}
}
/* rc1.35.73 — secure customer-supplied device access */
.repair-access-card{margin-top:14px}.repair-access-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.repair-access-head h3{margin:3px 0 4px}.repair-access-head p{margin:0;color:var(--muted)}.repair-access-lock{font-size:22px}.repair-access-reveal{margin-top:13px;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft,#f6f8fb)}.repair-access-hidden{font-size:20px;letter-spacing:.12em;font-weight:800}.repair-access-value{flex:1;min-width:0;padding:8px 10px;border-radius:8px;background:var(--input-bg,#fff);color:var(--text);border:1px solid var(--line);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px;overflow-wrap:anywhere}.repair-access-note{display:block;margin-top:8px;color:var(--muted)}html[data-theme="dark"] .repair-access-reveal{background:var(--surface-soft)}@media(max-width:650px){.repair-access-reveal{align-items:stretch;flex-direction:column}.repair-access-reveal button{width:100%}}

/* rc1.35.74 — active secure-access panel + visual pattern renderer */
.repair-access-pattern-wrap{
  display:flex;
  align-items:center;
  gap:18px;
  flex:1;
  min-width:0;
}
.repair-access-pattern-svg{
  width:190px;
  max-width:42vw;
  aspect-ratio:1/1;
  flex:0 0 auto;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--input-bg,#fff);
}
.repair-access-pattern-svg line{
  stroke:var(--blue,#1464f4);
  stroke-width:2.2;
  stroke-linecap:round;
  opacity:.82;
}
.repair-access-pattern-arrow{
  fill:var(--blue,#1464f4);
  opacity:.96;
}
.repair-access-pattern-dot circle{
  fill:var(--input-bg,#fff);
  stroke:#7d8a9b;
  stroke-width:1.4;
}
.repair-access-pattern-dot.selected circle{
  fill:var(--blue,#1464f4);
  stroke:var(--blue,#1464f4);
}
.repair-access-pattern-dot text{
  fill:var(--blue,#1464f4);
  font-size:4px;
  font-weight:900;
  text-anchor:middle;
  letter-spacing:.15px;
}
.repair-access-pattern-sequence{
  min-width:0;
  color:var(--text);
  font-weight:800;
  overflow-wrap:anywhere;
}
@media(max-width:650px){
  .repair-access-pattern-wrap{flex-direction:column;align-items:flex-start}
  .repair-access-pattern-svg{width:min(100%,240px);max-width:none}
}
/* v35.78 — Customer Messages */
.customer-messages-shell{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:18px;min-height:620px}
.customer-message-list-card,.customer-message-thread-card{padding:0;overflow:hidden}
.customer-message-list-head{display:flex;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border)}
.customer-message-list{max-height:680px;overflow:auto}
.customer-message-row{width:100%;display:flex;justify-content:space-between;gap:12px;text-align:left;padding:16px 18px;border:0;border-bottom:1px solid var(--border);background:transparent;color:inherit}
.customer-message-row:hover,.customer-message-row.active{background:rgba(255,255,255,.045)}
.customer-message-row.unread{box-shadow:inset 3px 0 0 currentColor}
.customer-message-row-main{display:grid;gap:3px;min-width:0}.customer-message-row-main strong,.customer-message-row-main b,.customer-message-row-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.customer-message-row-main small,.customer-message-row-side small{color:var(--muted);font-weight:500}.customer-message-row-side{display:grid;justify-items:end;gap:8px}.customer-message-row-side em{font-style:normal;min-width:22px;height:22px;border-radius:11px;display:grid;place-items:center;background:#d62828;color:#fff;font-size:11px;font-weight:800}
.customer-message-thread-empty{min-height:620px;display:grid;place-content:center;text-align:center;gap:7px;color:var(--muted)}
.customer-message-thread{min-height:620px;display:flex;flex-direction:column}.customer-message-thread-head{display:flex;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--border)}.customer-message-thread-head h2{margin:3px 0}.customer-message-thread-head span,.customer-message-thread-head small{color:var(--muted)}
.customer-message-bubbles{flex:1;overflow:auto;padding:22px;display:flex;flex-direction:column;gap:12px;max-height:500px}.customer-message-bubble{max-width:76%;padding:12px 14px;border-radius:14px;background:var(--surface-2);align-self:flex-start}.customer-message-bubble.staff{align-self:flex-end;background:rgba(42,126,255,.14)}.customer-message-bubble p{margin:5px 0 7px;line-height:1.45}.customer-message-bubble small{color:var(--muted)}
.customer-message-reply{display:flex;gap:10px;padding:16px 18px;border-top:1px solid var(--border)}.customer-message-reply textarea{flex:1;resize:vertical}.customer-message-closed{padding:18px;text-align:center;color:var(--muted);border-top:1px solid var(--border)}
@media(max-width:900px){.customer-messages-shell{grid-template-columns:1fr}.customer-message-thread-empty,.customer-message-thread{min-height:480px}}


/* v35.83 — Customer Live Chat theme parity
   Live Chat must obey the same Workshop Pro Light/Dark theme variables as the
   rest of the application. Keep every override scoped to this view. */
.customer-messages-view .customer-message-list-card,
.customer-messages-view .customer-message-thread-card{
  background:var(--surface);
  color:var(--text);
  border-color:var(--line);
}
.customer-messages-view .customer-message-list-head,
.customer-messages-view .customer-message-thread-head,
.customer-messages-view .customer-message-reply{
  border-color:var(--line);
}
.customer-messages-view .customer-message-row{
  background:transparent;
  color:var(--text);
  border-color:var(--line);
}
.customer-messages-view .customer-message-row:hover{
  background:var(--surface-soft);
}
.customer-messages-view .customer-message-row.active{
  background:var(--accent-soft);
  color:var(--text);
}
.customer-messages-view .customer-message-row-main small,
.customer-messages-view .customer-message-row-side small,
.customer-messages-view .customer-message-thread-head span,
.customer-messages-view .customer-message-thread-head small,
.customer-messages-view .customer-message-bubble small,
.customer-messages-view .customer-message-thread-empty,
.customer-messages-view .customer-message-closed{
  color:var(--muted);
}
.customer-messages-view .customer-message-bubble{
  background:var(--surface-soft);
  color:var(--text);
  border:1px solid var(--line);
}
.customer-messages-view .customer-message-bubble.staff{
  background:var(--accent-soft);
  color:var(--text);
  border-color:var(--blue);
}
.customer-messages-view .customer-message-reply textarea{
  background:var(--input-bg)!important;
  color:var(--text)!important;
  -webkit-text-fill-color:var(--text)!important;
  border:1px solid var(--line)!important;
  caret-color:var(--text)!important;
  box-shadow:none!important;
}
.customer-messages-view .customer-message-reply textarea::placeholder{
  color:var(--muted)!important;
  -webkit-text-fill-color:var(--muted)!important;
  opacity:1;
}
.customer-messages-view .customer-message-reply textarea:focus{
  border-color:var(--blue)!important;
  box-shadow:0 0 0 3px rgba(20,100,244,.18)!important;
  outline:none!important;
}
.customer-messages-view .customer-message-thread-head .secondary{
  background:var(--button-secondary);
  color:var(--button-secondary-text);
  border-color:var(--line);
}
html[data-theme="dark"] .customer-messages-view .customer-message-bubble.staff{
  background:var(--accent-soft);
  border-color:#315f91;
}
html[data-theme="light"] .customer-messages-view .customer-message-bubble.staff{
  background:var(--accent-soft);
  border-color:#b8cbea;
}


/* 5.7.0-rc1.35.97 — reserved stock is first-class on Customer > CCUS Club */
.crm-club-reserved-overview{
  margin:14px 0;
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel2);
}
.crm-club-reserved-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.crm-club-reserved-head>div{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.crm-club-reserved-head strong{font-size:13px}
.crm-club-reserved-list{display:grid;gap:7px}
.crm-club-reserved-list article{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--panel);
}
.crm-club-reserved-list article>div{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:3px;
}
.crm-club-reserved-list article strong{font-size:11px}
.crm-club-reserved-list article span{font-size:9px;color:var(--muted)}
.club-reservation-empty.compact{
  padding:10px 11px;
  border:1px dashed var(--line);
  border-radius:9px;
}
.club-reservation-empty.compact strong,
.club-reservation-empty.compact small{display:block}
.club-reservation-empty.compact small{margin-top:3px;color:var(--muted)}
@media(max-width:700px){
  .crm-club-reserved-head,
  .crm-club-reserved-list article{align-items:flex-start;flex-direction:column}
}

/* Workshop Pro 5.7.0-rc1.35.100 — reserved stock to POS sale */
.club-reservation-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.club-reservation-actions button{margin:0}.pos-basket-item.is-reserved-purchase{padding:12px 10px!important;margin:0 -10px;background:color-mix(in srgb,var(--accent) 6%,transparent);border-radius:10px;border-bottom-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.pos-qty-locked{display:grid!important;gap:0!important;min-width:66px;text-align:center;padding:5px 8px!important;background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 30%,var(--line))!important}.pos-qty-locked small{font-size:.65rem!important;color:var(--accent-text)!important}.pos-reserved-lock{display:grid!important;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--accent-soft);color:var(--accent-text)!important}.pos-reserved-customer-icon{background:var(--accent-soft)!important}.pos-reserved-sale-note,.pos-payment-reservation{background:var(--accent-soft)!important;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:10px;padding:9px 10px!important;color:var(--accent-text)!important}.pos-reserved-sale-note span,.pos-reserved-sale-note strong{color:var(--accent-text)!important}.pos-payment-reservation{margin-bottom:10px}.pos-payment-reservation>div{display:grid;gap:2px}.pos-payment-reservation span,.pos-payment-reservation strong,.pos-payment-reservation small{color:var(--accent-text)!important}.pos-payment-reservation small{opacity:.82}@media(max-width:760px){.club-reservation-actions{width:100%;justify-content:stretch}.club-reservation-actions button{flex:1 1 150px}}

/* Workshop Pro 5.7.0-rc1.35.101 — POS checkout dark-theme colour correction
   Keeps checkout controls within the Workshop Pro dark navy palette. The
   brighter CCUS blue is reserved for primary actions and focus indication. */
html[data-theme="dark"] #posCheckoutDialog.pos-payment-dialog .pos-payment-row,
body.dark #posCheckoutDialog.pos-payment-dialog .pos-payment-row{
  background:#0d2035!important;
  border-color:#29445f!important;
}
html[data-theme="dark"] #posCheckoutDialog.pos-payment-dialog .pos-payment-mode input,
html[data-theme="dark"] #posCheckoutDialog.pos-payment-dialog .pos-payment-mode select,
html[data-theme="dark"] #posCheckoutDialog.pos-payment-dialog .pos-payment-mode textarea,
body.dark #posCheckoutDialog.pos-payment-dialog .pos-payment-mode input,
body.dark #posCheckoutDialog.pos-payment-dialog .pos-payment-mode select,
body.dark #posCheckoutDialog.pos-payment-dialog .pos-payment-mode textarea{
  background:#10243b!important;
  color:#f4f7fb!important;
  border-color:#35516d!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
html[data-theme="dark"] #posCheckoutDialog.pos-payment-dialog .pos-payment-mode input::placeholder,
html[data-theme="dark"] #posCheckoutDialog.pos-payment-dialog .pos-payment-mode textarea::placeholder,
body.dark #posCheckoutDialog.pos-payment-dialog .pos-payment-mode input::placeholder,
body.dark #posCheckoutDialog.pos-payment-dialog .pos-payment-mode textarea::placeholder{
  color:#91a4ba!important;
  opacity:1!important;
}
html[data-theme="dark"] #posCheckoutDialog.pos-payment-dialog .pos-payment-mode select option,
body.dark #posCheckoutDialog.pos-payment-dialog .pos-payment-mode select option{
  background:#10243b!important;
  color:#f4f7fb!important;
}
html[data-theme="dark"] #posCheckoutDialog.pos-payment-dialog .pos-payment-mode input:focus,
html[data-theme="dark"] #posCheckoutDialog.pos-payment-dialog .pos-payment-mode select:focus,
html[data-theme="dark"] #posCheckoutDialog.pos-payment-dialog .pos-payment-mode textarea:focus,
body.dark #posCheckoutDialog.pos-payment-dialog .pos-payment-mode input:focus,
body.dark #posCheckoutDialog.pos-payment-dialog .pos-payment-mode select:focus,
body.dark #posCheckoutDialog.pos-payment-dialog .pos-payment-mode textarea:focus{
  border-color:#3b8cff!important;
  box-shadow:0 0 0 3px rgba(59,140,255,.18)!important;
}
html[data-theme="dark"] #posCheckoutDialog.pos-payment-dialog .pos-payment-reservation,
body.dark #posCheckoutDialog.pos-payment-dialog .pos-payment-reservation{
  background:#102b47!important;
  border-color:#2b5a86!important;
  color:#e9f3ff!important;
}
html[data-theme="dark"] #posCheckoutDialog.pos-payment-dialog .pos-payment-reservation span,
html[data-theme="dark"] #posCheckoutDialog.pos-payment-dialog .pos-payment-reservation strong,
body.dark #posCheckoutDialog.pos-payment-dialog .pos-payment-reservation span,
body.dark #posCheckoutDialog.pos-payment-dialog .pos-payment-reservation strong{
  color:#e9f3ff!important;
}
html[data-theme="dark"] #posCheckoutDialog.pos-payment-dialog .pos-payment-reservation small,
body.dark #posCheckoutDialog.pos-payment-dialog .pos-payment-reservation small{
  color:#abc4de!important;
  opacity:1!important;
}
html[data-theme="dark"] #posCheckoutDialog.pos-payment-dialog .pos-payment-club,
body.dark #posCheckoutDialog.pos-payment-dialog .pos-payment-club{
  background:#10263e!important;
  border-color:#315475!important;
}
html[data-theme="dark"] #posCheckoutDialog.pos-payment-dialog .pos-payment-club span,
html[data-theme="dark"] #posCheckoutDialog.pos-payment-dialog .pos-payment-club strong,
body.dark #posCheckoutDialog.pos-payment-dialog .pos-payment-club span,
body.dark #posCheckoutDialog.pos-payment-dialog .pos-payment-club strong{
  color:#f0f6ff!important;
}
html[data-theme="dark"] #posCheckoutDialog.pos-payment-dialog .pos-payment-club small,
body.dark #posCheckoutDialog.pos-payment-dialog .pos-payment-club small{
  color:#aebed1!important;
}
html[data-theme="dark"] #posCheckoutDialog.pos-payment-dialog .pos-payment-card,
html[data-theme="dark"] #posCheckoutDialog.pos-payment-dialog .pos-payment-options,
html[data-theme="dark"] #posCheckoutDialog.pos-payment-dialog .pos-payment-total,
body.dark #posCheckoutDialog.pos-payment-dialog .pos-payment-card,
body.dark #posCheckoutDialog.pos-payment-dialog .pos-payment-options,
body.dark #posCheckoutDialog.pos-payment-dialog .pos-payment-total{
  border-color:#29445f!important;
}

/* Workshop Pro 5.7.0-rc1.35.102 — POS checkout dark controls + asset-cache fix
   Scope this directly to the checkout dialog so older/global POS rules cannot
   force light fields while Workshop Pro is using the dark theme. */
html[data-theme="dark"] dialog#posCheckoutDialog,
html[data-theme="dark"] dialog#posCheckoutDialog form#posCheckoutForm{
  color-scheme:dark;
}
html[data-theme="dark"] dialog#posCheckoutDialog form#posCheckoutForm .pos-payment-row > select,
html[data-theme="dark"] dialog#posCheckoutDialog form#posCheckoutForm .pos-payment-row > input,
html[data-theme="dark"] dialog#posCheckoutDialog form#posCheckoutForm .pos-payment-row input[data-payment-amount],
html[data-theme="dark"] dialog#posCheckoutDialog form#posCheckoutForm .pos-payment-row input[data-tendered],
html[data-theme="dark"] dialog#posCheckoutDialog form#posCheckoutForm .pos-payment-options textarea[name="notes"]{
  background-color:#10243b!important;
  background:#10243b!important;
  color:#f4f7fb!important;
  -webkit-text-fill-color:#f4f7fb!important;
  border:1px solid #35516d!important;
  caret-color:#f4f7fb!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
html[data-theme="dark"] dialog#posCheckoutDialog form#posCheckoutForm .pos-payment-row > select{
  color-scheme:dark!important;
}
html[data-theme="dark"] dialog#posCheckoutDialog form#posCheckoutForm .pos-payment-row > select option{
  background:#10243b!important;
  color:#f4f7fb!important;
  -webkit-text-fill-color:#f4f7fb!important;
}
html[data-theme="dark"] dialog#posCheckoutDialog form#posCheckoutForm .pos-payment-options textarea[name="notes"]::placeholder,
html[data-theme="dark"] dialog#posCheckoutDialog form#posCheckoutForm .pos-payment-row input::placeholder{
  color:#91a4ba!important;
  -webkit-text-fill-color:#91a4ba!important;
  opacity:1!important;
}
html[data-theme="dark"] dialog#posCheckoutDialog form#posCheckoutForm .pos-payment-row > select:focus,
html[data-theme="dark"] dialog#posCheckoutDialog form#posCheckoutForm .pos-payment-row > input:focus,
html[data-theme="dark"] dialog#posCheckoutDialog form#posCheckoutForm .pos-payment-options textarea[name="notes"]:focus{
  background:#10243b!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-color:#3b8cff!important;
  outline:none!important;
  box-shadow:0 0 0 3px rgba(59,140,255,.18)!important;
}

/* Workshop Pro 5.7.0-rc1.35.111 — POS CCUS Club QR camera scanner */
.pos-customer-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.pos-customer-search-row>label{min-width:0}
.pos-qr-scan-button{min-height:42px;white-space:nowrap;display:inline-flex;align-items:center;gap:7px;justify-content:center}
.pos-qr-scan-button>span{font-size:18px;line-height:1}
.pos-qr-scanner-dialog{border:0;padding:0;background:transparent;max-width:min(94vw,620px);width:100%}
.pos-qr-scanner-dialog::backdrop{background:rgba(2,8,20,.74);backdrop-filter:blur(5px)}
.pos-qr-scanner-modal{width:100%;max-width:none;margin:0;overflow:hidden}
.pos-qr-camera-shell{position:relative;overflow:hidden;border-radius:18px;background:#020916;aspect-ratio:4/3;border:1px solid rgba(124,177,241,.28)}
.pos-qr-camera-shell video{display:block;width:100%;height:100%;object-fit:cover;background:#020916}
.pos-qr-target{position:absolute;inset:14%;pointer-events:none;border:3px solid rgba(255,255,255,.9);border-radius:22px;box-shadow:0 0 0 999px rgba(0,7,18,.23)}
.pos-qr-target:before,.pos-qr-target:after,.pos-qr-target span:before,.pos-qr-target span:after{content:"";position:absolute;width:42px;height:42px;border-color:#2f8cff;border-style:solid}
.pos-qr-target:before{left:-3px;top:-3px;border-width:5px 0 0 5px;border-radius:18px 0 0 0}.pos-qr-target:after{right:-3px;top:-3px;border-width:5px 5px 0 0;border-radius:0 18px 0 0}.pos-qr-target span:before{left:-3px;bottom:-3px;border-width:0 0 5px 5px;border-radius:0 0 0 18px}.pos-qr-target span:after{right:-3px;bottom:-3px;border-width:0 5px 5px 0;border-radius:0 0 18px 0}
.pos-qr-scanner-status{margin-top:12px;padding:11px 13px;border-radius:12px;background:#eef4fb;color:#40526a;font-weight:750;text-align:center}
.pos-qr-scanner-status.ready{background:#e8f2ff;color:#165fb8}.pos-qr-scanner-status.success{background:#e5f8ed;color:#16743c}.pos-qr-scanner-status.warning{background:#fff5df;color:#8b5b00}.pos-qr-scanner-status.error{background:#fdebed;color:#a3202d}
.pos-qr-scanner-privacy{display:flex;gap:8px;flex-direction:column;margin-top:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(120,158,210,.06)}
.pos-qr-scanner-privacy strong{font-size:12px}.pos-qr-scanner-privacy span{font-size:12px;color:var(--muted);line-height:1.45}
.pos-qr-scanner-actions{display:flex;justify-content:flex-end;margin-top:14px}
@media(max-width:760px){.pos-customer-search-row{grid-template-columns:1fr}.pos-qr-scan-button{width:100%}.pos-qr-scanner-dialog{max-width:calc(100vw - 20px)}.pos-qr-scanner-modal{padding:16px}.pos-qr-target{inset:11%}}


/* Workshop Pro 5.7.0-rc1.35.118 — POS dark-mode polish, Club QR scanner and POS savings; cache-bust fix */
#posCustomItemDialog.pos-custom-item-dialog{background:rgba(3,10,20,.76);backdrop-filter:blur(4px)}
#posCustomItemDialog .pos-custom-item-modal{background:var(--surface-raised,var(--surface))!important;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.38);padding:0;overflow:hidden}
#posCustomItemDialog .pos-custom-item-modal>.grid{padding:18px;gap:14px}
#posCustomItemDialog .pos-custom-item-modal>.actions{padding:0 18px 18px;justify-content:flex-end}
#posCustomItemDialog .pos-custom-item-modal label{display:grid;gap:7px;color:var(--text);font-weight:750}
#posCustomItemDialog .pos-custom-item-modal input,#posCustomItemDialog .pos-custom-item-modal select{width:100%;min-height:46px;box-sizing:border-box;background:var(--input-bg,var(--surface-soft))!important;color:var(--text)!important;-webkit-text-fill-color:var(--text)!important;border:1px solid var(--line)!important;border-radius:11px;padding:10px 12px;color-scheme:dark}
#posCustomItemDialog .pos-custom-item-modal input:focus,#posCustomItemDialog .pos-custom-item-modal select:focus{outline:0;border-color:var(--brand)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 20%,transparent)}
html:not([data-theme="dark"]) #posCustomItemDialog .pos-custom-item-modal input,html:not([data-theme="dark"]) #posCustomItemDialog .pos-custom-item-modal select{color-scheme:light}
.club-member-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch}
.club-qr-scan-button{min-width:max-content;display:inline-flex;align-items:center;justify-content:center;gap:7px}
.club-qr-scanner-dialog{z-index:1002}
.pos-club-current-buttons{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pos-club-savings-dialog{width:min(620px,calc(100vw - 24px));border:0;background:transparent;padding:0}
.pos-club-savings-modal{width:100%;padding:0;overflow:hidden;background:var(--surface-raised,var(--surface))!important;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.38)}
.pos-club-savings-member{margin:18px 18px 0;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft);display:flex;justify-content:space-between;align-items:center;gap:14px}
.pos-club-savings-member>span{display:grid;gap:2px}.pos-club-savings-member>span:last-child{text-align:right}.pos-club-savings-member small{color:var(--muted)}
.pos-club-savings-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:18px}.pos-club-savings-grid label{display:grid;gap:7px;font-weight:750}.pos-club-savings-note{grid-column:1/-1}
.pos-club-savings-grid input,.pos-club-savings-grid select{width:100%;box-sizing:border-box;min-height:46px;background:var(--input-bg,var(--surface-soft))!important;color:var(--text)!important;-webkit-text-fill-color:var(--text)!important;border:1px solid var(--line)!important;border-radius:11px;padding:10px 12px;color-scheme:dark}
.pos-club-savings-modal>.error{margin:0 18px}.pos-club-savings-modal>.actions{padding:0 18px 18px;justify-content:flex-end}
@media(max-width:760px){.club-member-search-row{grid-template-columns:1fr}.club-qr-scan-button{width:100%}.pos-club-savings-grid{grid-template-columns:1fr}.pos-club-savings-note{grid-column:auto}}


/* Workshop Pro 5.7.0-rc1.35.121 — POS Catalogue Manager */
.pos-catalogue-manager-view{max-width:1180px;margin:0 auto;padding-bottom:40px}
.pos-catalogue-head{align-items:center}
.pos-catalogue-inventory-note{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 18px;padding:18px 20px;border:1px solid var(--line,#203957);border-radius:16px;background:linear-gradient(135deg,rgba(23,72,126,.18),rgba(7,25,49,.38))}
.pos-catalogue-inventory-note div{display:grid;gap:5px}.pos-catalogue-inventory-note span{color:var(--muted,#9fb1c8);line-height:1.45}
.pos-catalogue-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.pos-catalogue-summary article{display:grid;gap:4px;padding:17px 18px;border:1px solid var(--line,#203957);border-radius:16px;background:var(--panel,#0e2035)}.pos-catalogue-summary small,.pos-catalogue-summary span{color:var(--muted,#9fb1c8)}.pos-catalogue-summary strong{font-size:1.7rem;color:var(--text,#eef5ff)}
.pos-catalogue-card{padding:0;overflow:hidden}.pos-catalogue-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) 190px 170px;gap:12px;padding:18px;border-bottom:1px solid var(--line,#203957)}.pos-catalogue-toolbar label{display:grid;gap:6px}.pos-catalogue-toolbar label>span{font-size:.8rem;font-weight:800;color:var(--muted,#9fb1c8);letter-spacing:.04em}.pos-catalogue-toolbar input,.pos-catalogue-toolbar select{width:100%}
.pos-catalogue-list{display:grid;gap:0}.pos-catalogue-item{padding:18px;border-bottom:1px solid var(--line,#203957);background:rgba(255,255,255,.008)}.pos-catalogue-item:last-child{border-bottom:0}.pos-catalogue-item.inactive{opacity:.7}.pos-catalogue-item-main{display:flex;justify-content:space-between;gap:18px}.pos-catalogue-item-title{display:flex;align-items:flex-start;gap:12px;min-width:0}.pos-catalogue-type-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:rgba(49,137,255,.14);color:#65a9ff;font-weight:900}.pos-catalogue-item-title strong{display:block;font-size:1.06rem;color:var(--text,#eef5ff);margin:2px 0 7px}.pos-catalogue-tags{display:flex;flex-wrap:wrap;gap:6px}.pos-catalogue-tags span{padding:4px 8px;border-radius:999px;background:rgba(132,155,185,.12);color:var(--muted,#9fb1c8);font-size:.73rem;font-weight:700}.pos-catalogue-tags .warning{background:rgba(232,170,49,.15);color:#efbd62}.pos-catalogue-tags .muted{background:rgba(255,255,255,.07)}
.pos-catalogue-prices{display:flex;gap:20px;flex:0 0 auto}.pos-catalogue-prices span{display:grid;text-align:right;gap:2px}.pos-catalogue-prices small{color:var(--muted,#9fb1c8);font-size:.72rem}.pos-catalogue-prices strong{color:var(--text,#eef5ff)}.pos-catalogue-item-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:15px;padding-top:13px;border-top:1px solid rgba(118,150,186,.12)}.pos-catalogue-item-footer>span{font-size:.78rem;color:var(--muted,#9fb1c8)}.pos-catalogue-inventory-match{display:grid;gap:3px;margin-top:12px;padding:11px 13px;border-radius:11px;background:rgba(224,163,47,.08);border:1px solid rgba(224,163,47,.25)}.pos-catalogue-inventory-match strong{font-size:.78rem;color:#efbd62}.pos-catalogue-inventory-match span{font-size:.76rem;color:var(--muted,#9fb1c8)}
.pos-catalogue-empty{display:grid;place-items:center;text-align:center;gap:8px;padding:44px 20px;color:var(--muted,#9fb1c8)}.pos-catalogue-empty>span{font-size:2rem;color:#5b9cff}.pos-catalogue-empty strong{color:var(--text,#eef5ff)}.pos-catalogue-empty p{margin:0 0 8px}
.pos-catalogue-dialog::backdrop{background:rgba(0,6,14,.74)}.pos-catalogue-dialog-card{width:min(760px,calc(100vw - 32px));max-width:760px}.pos-catalogue-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pos-catalogue-form-grid label{display:grid;gap:6px}.pos-catalogue-form-grid .full{grid-column:1/-1}.pos-catalogue-form-grid input,.pos-catalogue-form-grid select{width:100%;background:#07192c!important;color:#eff6ff!important;border:1px solid #29445f!important}.pos-catalogue-active{grid-column:1/-1!important;display:flex!important;align-items:center;gap:10px;padding:13px 14px;border:1px solid #29445f;border-radius:12px;background:#0a1d31}.pos-catalogue-active input{width:auto!important}.pos-catalogue-active span{display:grid;gap:2px}.pos-catalogue-active small{color:var(--muted,#9fb1c8)}
@media(max-width:820px){.pos-catalogue-summary{grid-template-columns:1fr 1fr}.pos-catalogue-toolbar{grid-template-columns:1fr 1fr}.pos-catalogue-search{grid-column:1/-1}.pos-catalogue-item-main{display:grid}.pos-catalogue-prices{justify-content:flex-start}.pos-catalogue-prices span{text-align:left}.pos-catalogue-inventory-note{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.pos-catalogue-summary{grid-template-columns:1fr}.pos-catalogue-toolbar,.pos-catalogue-form-grid{grid-template-columns:1fr}.pos-catalogue-search,.pos-catalogue-form-grid .full{grid-column:auto}.pos-catalogue-item-footer{align-items:flex-start;flex-direction:column}.pos-catalogue-item-footer .actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.pos-catalogue-item-footer .actions .danger{grid-column:1/-1}.pos-catalogue-prices{width:100%;justify-content:space-between}}

/* Workshop Pro 5.7.0-rc1.35.125 — preserve the original POS Catalogue Manager layout while using dark controls */
.pos-catalogue-manager-view .pos-catalogue-toolbar input,
.pos-catalogue-manager-view .pos-catalogue-toolbar select,
#posCatalogueManagerDialog input,
#posCatalogueManagerDialog select{
  background:var(--input-bg,#091727)!important;
  color:var(--text,#eef5ff)!important;
  -webkit-text-fill-color:var(--text,#eef5ff)!important;
  border:1px solid var(--line,#29445f)!important;
  box-shadow:none!important;
  color-scheme:dark;
}
.pos-catalogue-manager-view .pos-catalogue-toolbar input::placeholder,
#posCatalogueManagerDialog input::placeholder{
  color:var(--muted,#9fb1c8)!important;
  -webkit-text-fill-color:var(--muted,#9fb1c8)!important;
  opacity:.95!important;
}
.pos-catalogue-manager-view .pos-catalogue-toolbar input:focus,
.pos-catalogue-manager-view .pos-catalogue-toolbar select:focus,
#posCatalogueManagerDialog input:focus,
#posCatalogueManagerDialog select:focus{
  outline:0!important;
  border-color:#428df4!important;
  box-shadow:0 0 0 3px rgba(20,100,244,.18)!important;
}
html:not([data-theme="dark"]) .pos-catalogue-manager-view .pos-catalogue-toolbar input,
html:not([data-theme="dark"]) .pos-catalogue-manager-view .pos-catalogue-toolbar select,
html:not([data-theme="dark"]) #posCatalogueManagerDialog input,
html:not([data-theme="dark"]) #posCatalogueManagerDialog select{color-scheme:light;}


/* Workshop Pro 5.7.0-rc1.35.131 — booking diagnosis + operational repair statuses */
.booking-diagnosis-complete{display:grid;gap:5px;margin-top:10px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--surface) 93%,#2d89f5 7%)}
.booking-diagnosis-complete>label{display:flex;align-items:center;gap:9px;margin:0;font-weight:800;color:var(--text)}
.booking-diagnosis-complete input[type="checkbox"]{width:18px;height:18px;margin:0;accent-color:#2f8cff}
.repair-operational-status-card{margin-top:12px}
.repair-operational-status-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.repair-operational-status-action{min-height:92px;display:flex!important;flex-direction:column;align-items:flex-start!important;justify-content:flex-start!important;gap:5px!important;text-align:left!important;padding:13px 14px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:var(--surface-soft)!important;color:var(--text)!important;box-shadow:none!important}
.repair-operational-status-action:hover:not(:disabled){border-color:#4a82bd!important;background:color-mix(in srgb,var(--surface-soft) 88%,#2d89f5 12%)!important}
.repair-operational-status-action strong{font-size:.86rem;line-height:1.25}
.repair-operational-status-action span{font-size:.72rem;line-height:1.42;color:var(--muted);font-weight:600}
.repair-operational-status-action.is-current{border-color:#2d8d62!important;background:color-mix(in srgb,var(--surface-soft) 89%,#1e9b62 11%)!important;opacity:1!important}
html[data-theme="light"] .booking-diagnosis-complete{background:#f4f9ff}
html[data-theme="light"] .repair-operational-status-action.is-current{background:#edf9f2!important;border-color:#69ae89!important}
@media(max-width:900px){.repair-operational-status-actions{grid-template-columns:1fr}}

/* Workshop Pro 5.7.0-rc1.35.140 — Final Testing workflow toggle controls */
.repair-lifecycle-grid-v140{grid-template-columns:repeat(2,minmax(0,1fr))}
.repair-lifecycle-grid-v140 .lifecycle-stage-card:nth-child(5){grid-column:1/-1}
.qc-workflow-summary-v140{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.qc-workflow-summary-v140>div{display:grid;gap:3px}.qc-workflow-summary-v140 strong{font-size:.92rem}.qc-workflow-summary-v140 span{color:var(--muted);font-size:.78rem}
.qc-toggle-list-v140{display:grid;gap:9px}.qc-toggle-row-v140{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.qc-toggle-row-v140.is-failed{border-color:#d94b5b66;background:#d94b5b0d}.qc-toggle-copy-v140{display:grid;gap:3px;min-width:0}.qc-toggle-copy-v140 strong{font-size:.88rem}.qc-toggle-copy-v140 small{color:var(--muted);font-size:.75rem}
.qc-toggle-row-v140.is-failed .qc-toggle-copy-v140 small{color:#ff8e9a}.qc-toggle-actions-v140{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.qc-switch-control-v140{display:flex!important;align-items:center!important;gap:7px!important;margin:0!important;color:var(--muted)!important;font-size:.74rem!important;font-weight:850!important;cursor:pointer;white-space:nowrap}
.qc-switch-control-v140 input{position:absolute!important;opacity:0!important;pointer-events:none!important}.qc-switch-ui-v140{position:relative;display:block;width:42px;height:24px;border-radius:999px;background:#3a4857;border:1px solid #506174;transition:.15s ease}
.qc-switch-ui-v140::after{content:"";position:absolute;width:18px;height:18px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0004;transition:.15s ease}
.qc-switch-control-v140 input:checked+.qc-switch-ui-v140{background:var(--accent);border-color:var(--accent)}.qc-switch-control-v140 input:checked+.qc-switch-ui-v140::after{transform:translateX(18px)}
.qc-switch-control-v140 input:focus-visible+.qc-switch-ui-v140{outline:2px solid var(--accent);outline-offset:2px}.qc-switch-control-v140 input:disabled+.qc-switch-ui-v140{opacity:.5;cursor:not-allowed}
.qc-toggle-help-v140{margin:12px 2px 0!important;line-height:1.45}
html[data-theme="light"] .qc-switch-ui-v140{background:#d9e0e8;border-color:#c3cdd8}
@media(max-width:800px){.repair-lifecycle-grid-v140{grid-template-columns:1fr}.repair-lifecycle-grid-v140 .lifecycle-stage-card:nth-child(5){grid-column:auto}.qc-workflow-summary-v140,.qc-toggle-row-v140{align-items:flex-start;flex-direction:column}.qc-toggle-actions-v140{width:100%;justify-content:space-between}.qc-switch-control-v140{flex:1;justify-content:flex-end}}


/* Workshop Pro 5.7.0-rc1.35.141 — Final Testing 3-way segmented result control */
.qc-segment-row-v141{align-items:center}.qc-segment-v141{display:grid;grid-template-columns:repeat(3,minmax(72px,1fr));gap:3px;padding:3px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft);min-width:250px}
.qc-segment-option-v141{min-height:36px;border:0!important;border-radius:8px!important;background:transparent!important;color:var(--muted)!important;font-size:.74rem!important;font-weight:900!important;padding:0 10px!important;box-shadow:none!important;cursor:pointer}
.qc-segment-option-v141.is-selected.is-na{background:var(--surface)!important;color:var(--text)!important;box-shadow:0 1px 4px #0002!important}.qc-segment-option-v141.is-selected.is-pass{background:#153d30!important;color:#a7e7c4!important}.qc-segment-option-v141.is-selected.is-fail{background:#5a2028!important;color:#ffd5da!important}
.qc-segment-option-v141:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.qc-segment-option-v141:disabled{opacity:.55;cursor:not-allowed}
html[data-theme="light"] .qc-segment-option-v141.is-selected.is-na{background:#fff!important}.qc-toggle-help-v140 strong{color:var(--text)}
@media(max-width:800px){.qc-segment-row-v141{width:100%}.qc-segment-v141{width:100%;min-width:0}.qc-segment-option-v141{min-width:0;padding:0 6px!important}}

/* Workshop Pro 5.7.0-rc1.35.142 — batched Final Testing save */
.qc-save-actions-v142{display:flex;align-items:center;gap:12px;margin-top:14px}.qc-save-actions-v142 .meta{margin:0}.qc-toggle-row-v140[data-qc-dirty="1"]{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 16%,transparent)}.qc-toggle-row-v140[data-qc-dirty="1"] .qc-toggle-copy-v140 small{color:var(--accent)}
@media(max-width:800px){.qc-save-actions-v142{align-items:stretch;flex-direction:column}.qc-save-actions-v142 .primary{width:100%}}

/* v5.7.0-rc1.35.156 Repair photo customer visibility */
.uploadbar-v156{align-items:center;flex-wrap:wrap}.repair-file-visible-check-v156{display:inline-flex!important;align-items:center;gap:7px;margin:0!important;padding:8px 10px;border:1px solid var(--line);border-radius:9px;font-size:12px;font-weight:750;white-space:nowrap}.repair-file-visible-check-v156 input{width:16px!important;height:16px;margin:0!important}.repair-files-list-v156{display:grid;gap:9px}.repair-file-row-v156{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.repair-file-row-v156:last-child{border-bottom:0}.repair-file-row-v156>a{display:grid;gap:3px;min-width:0}.repair-file-row-v156>a span{overflow:hidden;text-overflow:ellipsis}.repair-file-row-v156>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.repair-file-visibility-badge-v156{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:850;white-space:nowrap}.repair-file-visibility-badge-v156.internal{background:#edf2f8;color:#617087}.repair-file-visibility-badge-v156.customer{background:#e6f7ef;color:#167443}.repair-file-visibility-action-v156{padding:7px 9px;font-size:11px}@media(max-width:700px){.repair-file-row-v156{grid-template-columns:1fr}.repair-file-row-v156>div{justify-content:flex-start}}html[data-theme="dark"] .repair-file-visibility-badge-v156.internal{background:#202b3a;color:#aebbd0}html[data-theme="dark"] .repair-file-visibility-badge-v156.customer{background:#17392b;color:#69d69a}

/* v5.7.0-rc1.35.157 repair-photo storage and retention */
.repair-file-actions-v157{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.repair-file-retention-badge-v157,.repair-file-optimised-badge-v157,.repair-file-expiry-v157{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;margin-left:6px}.repair-file-retention-badge-v157{background:rgba(245,158,11,.14);color:#f59e0b}.repair-file-optimised-badge-v157{background:rgba(34,197,94,.12);color:#22c55e}.repair-file-expiry-v157{background:rgba(148,163,184,.12);color:var(--muted)}.repair-photo-retention-note-v157{border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:5px}.repair-photo-retention-note-v157 span{color:var(--muted);font-size:13px}

/* Workshop Pro 5.7.0-rc1.35.174 — POS receipt lookup/refund */
.pos-receipt-lookup-dialog{border:0;padding:0;background:transparent;max-width:min(92vw,620px);width:100%}
.pos-receipt-lookup-dialog::backdrop{background:rgba(2,8,20,.72);backdrop-filter:blur(5px)}
.pos-receipt-lookup-modal{width:100%;max-width:none;margin:0}
.pos-receipt-lookup-field{display:grid;gap:8px;margin:14px 0}.pos-receipt-lookup-field>span{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pos-receipt-lookup-field input{min-height:54px;font-size:1rem;font-weight:700}
.pos-receipt-lookup-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:14px}
@media(max-width:760px){.pos-receipt-lookup-dialog{max-width:calc(100vw - 20px)}.pos-receipt-lookup-actions>*{flex:1 1 140px}}


/* 5.7.0-rc1.35.187 — booking inventory pricing selector polish */
#repairForm #faultResults{
  padding:6px!important;
  max-height:320px;
  overflow-y:auto;
  border-radius:12px;
}
#repairForm #faultResults .fault-result-option{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  width:100%;
  min-height:46px;
  margin:0!important;
  padding:9px 10px 9px 12px!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  color:var(--text)!important;
  text-align:left;
  box-shadow:none!important;
}
#repairForm #faultResults .fault-result-option + .fault-result-option{
  margin-top:2px!important;
}
#repairForm #faultResults .fault-result-option:hover,
#repairForm #faultResults .fault-result-option:focus-visible{
  background:var(--accent-soft)!important;
  outline:none;
}
#repairForm #faultResults .fault-result-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.92rem;
  font-weight:750;
  line-height:1.25;
}
#repairForm #faultResults .fault-result-badge,
#repairForm #faultResults .fault-result-add{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:4px 9px;
  border-radius:999px;
  white-space:nowrap;
  font-size:.73rem;
  font-weight:800;
  line-height:1;
}
#repairForm #faultResults .fault-result-badge{
  color:#cde8ff!important;
  background:rgba(47,128,237,.20)!important;
  border:1px solid rgba(99,173,255,.38)!important;
}
#repairForm #faultResults .fault-result-custom{
  margin-top:5px!important;
  border-top:1px solid var(--border)!important;
  border-radius:0 0 8px 8px!important;
}
#repairForm #faultResults .fault-result-add{
  color:#b9d8ff!important;
  background:rgba(255,255,255,.06)!important;
  border:1px solid rgba(255,255,255,.10)!important;
}
html[data-theme="light"] #repairForm #faultResults .fault-result-option{
  color:#10213a!important;
}
html[data-theme="light"] #repairForm #faultResults .fault-result-option:hover,
html[data-theme="light"] #repairForm #faultResults .fault-result-option:focus-visible{
  background:#edf5ff!important;
}
html[data-theme="light"] #repairForm #faultResults .fault-result-badge{
  color:#0d55ad!important;
  background:#e8f2ff!important;
  border-color:#b8d8ff!important;
}
html[data-theme="light"] #repairForm #faultResults .fault-result-add{
  color:#25517e!important;
  background:#f2f6fb!important;
  border-color:#cfdae7!important;
}
@media(max-width:700px){
  #repairForm #faultResults .fault-result-option{gap:8px;padding:9px!important}
  #repairForm #faultResults .fault-result-name{font-size:.88rem}
  #repairForm #faultResults .fault-result-badge,
  #repairForm #faultResults .fault-result-add{font-size:.68rem;padding:4px 7px}
}

/* 5.7.0-rc1.35.188 — booking stock visibility + order-list continuity */
#repairForm #faultResults .fault-result-meta{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  min-width:0;
  flex-wrap:wrap;
}
#repairForm .fault-stock-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:4px 9px;
  border-radius:999px;
  white-space:nowrap;
  font-size:.72rem;
  font-weight:850;
  line-height:1;
  border:1px solid transparent;
}
#repairForm .fault-stock-badge.in_stock{
  color:#a7f3d0!important;
  background:rgba(16,185,129,.13)!important;
  border-color:rgba(52,211,153,.30)!important;
}
#repairForm .fault-stock-badge.low_stock{
  color:#fde68a!important;
  background:rgba(245,158,11,.14)!important;
  border-color:rgba(251,191,36,.32)!important;
}
#repairForm .fault-stock-badge.out_of_stock{
  color:#fecaca!important;
  background:rgba(239,68,68,.14)!important;
  border-color:rgba(248,113,113,.34)!important;
}
#repairForm .fault-stock-badge.unlinked{
  color:var(--muted)!important;
  background:rgba(148,163,184,.10)!important;
  border-color:rgba(148,163,184,.22)!important;
}
#repairForm .fault-stock-badge.service{
  color:#bceff0!important;
  background:rgba(45,180,190,.13)!important;
  border-color:rgba(92,210,218,.30)!important;
}
#repairForm .fault-stock-badge.mixed{
  color:#d8caff!important;
  background:rgba(139,92,246,.12)!important;
  border-color:rgba(167,139,250,.28)!important;
}
#repairForm .fault-inline-option-wrap{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  flex-wrap:wrap;
}
#repairForm .fault-inline-option-wrap .fault-inline-option{
  flex:1 1 210px;
  max-width:330px;
}
#repairForm .fault-stock-badge.selected-stock{
  min-height:24px;
  padding:4px 8px;
  font-size:.69rem;
}
html[data-theme="light"] #repairForm .fault-stock-badge.in_stock{
  color:#087a55!important;
  background:#e7f8f1!important;
  border-color:#b7ead7!important;
}
html[data-theme="light"] #repairForm .fault-stock-badge.low_stock{
  color:#9a5b00!important;
  background:#fff5d9!important;
  border-color:#f4d78f!important;
}
html[data-theme="light"] #repairForm .fault-stock-badge.out_of_stock{
  color:#b42318!important;
  background:#fff0ef!important;
  border-color:#f3c1bc!important;
}
html[data-theme="light"] #repairForm .fault-stock-badge.unlinked{
  color:#64748b!important;
  background:#f4f7fa!important;
  border-color:#d7e0e8!important;
}
html[data-theme="light"] #repairForm .fault-stock-badge.service{
  color:#0f6f74!important;
  background:#eafafa!important;
  border-color:#b9e4e6!important;
}
html[data-theme="light"] #repairForm .fault-stock-badge.mixed{
  color:#6d45b5!important;
  background:#f3efff!important;
  border-color:#d6c8fb!important;
}
@media(max-width:700px){
  #repairForm #faultResults .fault-result-option{grid-template-columns:minmax(0,1fr) auto}
  #repairForm #faultResults .fault-result-meta{gap:5px}
  #repairForm .fault-stock-badge{font-size:.66rem;padding:4px 7px}
  #repairForm .fault-inline-option-wrap{align-items:flex-start;flex-direction:column}
  #repairForm .fault-inline-option-wrap .fault-inline-option{width:100%;max-width:none;flex-basis:auto}
}

.inventory-stock-only[hidden]{display:none!important}

/* v5.7.0-rc1.35.194 Repair Bundles */
.booking-bundle-notice{margin-top:12px;padding:12px 14px;border:1px solid #3b5373;border-radius:12px;background:#142238;display:flex;justify-content:space-between;align-items:center;gap:14px;color:#f3f7fc}.booking-bundle-notice[hidden]{display:none}.booking-bundle-notice>div{display:grid;gap:3px}.booking-bundle-notice span{color:#b8c7da;font-size:.88rem}.booking-bundle-notice.applied{border-color:#2f7d5b;background:#123329}.booking-bundle-notice.applied>strong{font-size:1.05rem}.booking-bundle-notice.available{border-color:#8c6a27;background:#302715}.booking-price-summary #bookingBundleSavingRow strong{color:#84d6aa}.repair-bundle-dialog{width:min(1120px,calc(100vw - 28px));max-width:1120px}.repair-bundle-modal{width:100%;max-width:none}.repair-bundle-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px;padding:0 18px 18px}.repair-bundle-editor,.repair-bundle-existing{min-width:0}.repair-bundle-items-section{margin-top:16px;border:1px solid #314763;border-radius:12px;padding:14px;background:#122036}.repair-bundle-item-options{display:grid;gap:8px;max-height:320px;overflow:auto;margin-top:10px}.repair-bundle-item-choice{display:flex!important;align-items:flex-start!important;gap:10px;padding:10px 12px;border:1px solid #314763;border-radius:10px;background:#17263d;cursor:pointer}.repair-bundle-item-choice input{width:18px!important;height:18px!important;margin-top:2px}.repair-bundle-item-choice span{display:grid;gap:2px}.repair-bundle-item-choice small{color:#b8c7da}.repair-bundle-existing{border-left:1px solid #314763;padding-left:18px}.repair-bundle-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #2b3d56}.repair-bundle-row>div:first-child{display:grid;gap:3px;min-width:0}.repair-bundle-row span,.repair-bundle-row small{color:#b8c7da}.repair-bundle-row .actions{align-items:center;flex-wrap:wrap}.repair-bundle-modal .autocomplete-results{z-index:50}.repair-bundle-modal .span-2{grid-column:1/-1}@media(max-width:850px){.repair-bundle-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border-radius:0}.repair-bundle-layout{grid-template-columns:1fr}.repair-bundle-existing{border-left:0;border-top:1px solid #314763;padding-left:0;padding-top:16px}.repair-bundle-row{flex-direction:column}.repair-bundle-row .actions{justify-content:flex-start}}

/* v5.7.0-rc1.35.195 — explicit multi-model inventory compatibility */
.inventory-compatibility-section{border-top:1px solid var(--border,rgba(148,163,184,.22));padding-top:18px}
.inventory-compatibility-section>h3{margin-bottom:6px}
.inventory-compatibility-section>.meta{margin:0 0 14px;color:var(--muted,#94a3b8)}
.inventory-compatibility-list{display:grid;gap:10px;margin-bottom:12px}
.inventory-compatibility-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,220px) auto;gap:12px;align-items:end;padding:12px;border:1px solid var(--border,rgba(148,163,184,.22));border-radius:12px;background:rgba(148,163,184,.06)}
.inventory-compatibility-device{display:grid;gap:3px;min-width:0}
.inventory-compatibility-device strong{font-size:.95rem;overflow-wrap:anywhere}
.inventory-compatibility-device small,.inventory-compatibility-row label span small{color:var(--muted,#94a3b8)}
.inventory-compatibility-row label{display:grid;gap:6px;margin:0}
.inventory-compatibility-row .inventory-money-input{margin:0}
.inventory-compatibility-row .danger.secondary{align-self:end;white-space:nowrap}
.inventory-compatibility-empty{display:grid;gap:3px;padding:12px 14px;border:1px dashed var(--border,rgba(148,163,184,.28));border-radius:12px;color:var(--muted,#94a3b8)}
.inventory-compatibility-empty strong{color:inherit}
.inventory-compatibility-picker{position:relative}
.inventory-compatibility-picker label{margin:0}
.inventory-compatibility-results{position:absolute;z-index:40;left:0;right:0;top:100%;max-height:260px;overflow:auto;margin-top:6px;padding:6px;border:1px solid var(--border,rgba(148,163,184,.28));border-radius:12px;background:var(--panel,#111827);box-shadow:0 16px 40px rgba(0,0,0,.28)}
.inventory-compatibility-results button{display:grid;width:100%;gap:2px;text-align:left;padding:10px 12px;border:0;border-radius:9px;background:transparent;color:inherit}
.inventory-compatibility-results button:hover,.inventory-compatibility-results button:focus-visible{background:rgba(59,130,246,.12)}
.inventory-compatibility-results button span{font-size:.82rem;color:var(--muted,#94a3b8)}
.inventory-compatibility-notice{margin-top:12px}
.inventory-compatibility-summary{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:10px 12px;border-radius:10px;background:rgba(59,130,246,.07);border:1px solid rgba(59,130,246,.16)}
.inventory-compatibility-summary>div:first-child{display:grid;gap:2px;min-width:150px}
.inventory-compatibility-summary small{color:var(--muted,#94a3b8)}
.inventory-compatibility-summary.fallback{background:rgba(148,163,184,.05);border-color:var(--border,rgba(148,163,184,.16))}
.inventory-compatibility-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.inventory-compatibility-chips span{display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border-radius:999px;background:rgba(59,130,246,.12);font-size:.78rem;line-height:1.2}
@media(max-width:760px){.inventory-compatibility-row{grid-template-columns:1fr}.inventory-compatibility-row .danger.secondary{justify-self:start}.inventory-compatibility-summary{display:grid}.inventory-compatibility-chips{justify-content:flex-start}}

/* v5.7.0-rc1.35.196 — inventory colour variants */
.inventory-colour-section{border-top:1px solid var(--border,rgba(148,163,184,.22));padding-top:18px}
.inventory-colour-heading{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}.inventory-colour-heading h3{margin:0 0 5px}.inventory-colour-heading .meta{margin:0;color:var(--muted,#94a3b8)}
.inventory-colour-list{display:grid;gap:10px}.inventory-colour-empty{padding:12px 14px;border:1px dashed var(--border,rgba(148,163,184,.28));border-radius:12px;color:var(--muted,#94a3b8)}
.inventory-colour-row{display:grid;grid-template-columns:minmax(130px,1.15fr) 90px minmax(120px,1fr) minmax(120px,1fr) 88px 88px auto;gap:9px;align-items:end;padding:11px;border:1px solid var(--border,rgba(148,163,184,.22));border-radius:12px;background:rgba(148,163,184,.055)}
.inventory-colour-row label{display:grid;gap:5px;margin:0}.inventory-colour-row label>span{font-size:.72rem;color:var(--muted,#94a3b8)}.inventory-colour-row input{min-width:0}.inventory-colour-notice{margin-top:12px}
.inventory-colour-summary{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:10px 12px;border:1px solid rgba(45,212,191,.16);background:rgba(45,212,191,.055);border-radius:10px}.inventory-colour-summary>div:first-child{display:grid;gap:2px}.inventory-colour-summary small{color:var(--muted,#94a3b8)}.inventory-colour-chips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.inventory-colour-chips span{display:inline-flex;gap:4px;align-items:center;padding:3px 8px;border-radius:999px;background:rgba(45,212,191,.1);font-size:.76rem}.inventory-colour-chips span.low{background:rgba(245,158,11,.12)}.inventory-colour-chips span.out{background:rgba(239,68,68,.11)}
.booking-colour-select{display:flex!important;align-items:center!important;gap:8px!important;margin:6px 0 0!important;max-width:430px}.booking-colour-select>span{font-size:.75rem;color:var(--muted,#94a3b8);white-space:nowrap}.booking-colour-select select{min-width:210px;max-width:330px}
.inventory-history-colours{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;margin-bottom:14px}.inventory-history-colour{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--border,rgba(148,163,184,.22));border-radius:10px;background:rgba(148,163,184,.05)}.inventory-history-colour small{color:var(--muted,#94a3b8)}
@media(max-width:1050px){.inventory-colour-row{grid-template-columns:repeat(3,minmax(0,1fr))}.inventory-colour-row .danger{justify-self:start}}@media(max-width:680px){.inventory-colour-heading{display:grid}.inventory-colour-row{grid-template-columns:1fr 1fr}.inventory-colour-row label:first-of-type{grid-column:1/-1}.inventory-colour-summary{display:grid}.inventory-colour-chips{justify-content:flex-start}.booking-colour-select{align-items:flex-start!important;flex-direction:column}.booking-colour-select select{width:100%;max-width:none}}

/* v5.7.0-rc1.35.210 — Mail-In Repair Workflow */
.mail-in-badge-v6210{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid rgba(45,212,191,.35);border-radius:999px;background:rgba(45,212,191,.1);font-size:.7rem;font-weight:800;letter-spacing:.08em;vertical-align:middle}
.repair-request-job.is-mail-in-v6210{border-color:rgba(45,212,191,.28)}
.mail-in-request-details-v6210{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:12px}.mail-in-request-details-v6210>div,.mail-in-facts-v6210>div{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--border,rgba(148,163,184,.2));border-radius:10px;background:rgba(148,163,184,.045)}.mail-in-request-details-v6210 span,.mail-in-facts-v6210 span{font-size:.72rem;color:var(--muted,#94a3b8)}
.mail-in-address-v6210{display:grid;gap:4px;margin-top:9px;padding:11px 12px;border:1px solid rgba(45,212,191,.16);border-radius:10px;background:rgba(45,212,191,.045)}.mail-in-address-v6210 span{line-height:1.45}.mail-in-address-v6210 small{color:var(--muted,#94a3b8)}
.mail-in-panel-v6210{display:grid;gap:16px;border-color:rgba(45,212,191,.28)!important;background:linear-gradient(180deg,rgba(45,212,191,.055),rgba(148,163,184,.025))}
.mail-in-panel-head-v6210{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.mail-in-panel-head-v6210 h3{margin:3px 0 5px}.mail-in-panel-head-v6210 p{margin:0;color:var(--muted,#94a3b8);max-width:760px}.mail-in-state-v6210{display:inline-flex;padding:7px 11px;border:1px solid rgba(45,212,191,.32);border-radius:999px;background:rgba(45,212,191,.1);font-weight:800;white-space:nowrap}
.mail-in-timeline-v6210{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mail-in-timeline-v6210>div{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--border,rgba(148,163,184,.2));border-radius:10px;opacity:.62}.mail-in-timeline-v6210>div span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;border:1px solid currentColor;font-size:.74rem}.mail-in-timeline-v6210>div.is-current,.mail-in-timeline-v6210>div.is-done{opacity:1}.mail-in-timeline-v6210>div.is-current{border-color:rgba(59,130,246,.42);background:rgba(59,130,246,.08)}.mail-in-timeline-v6210>div.is-done{border-color:rgba(45,212,191,.25);background:rgba(45,212,191,.05)}
.mail-in-facts-v6210{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.mail-in-details-grid-v6210{display:grid;grid-template-columns:minmax(280px,1.4fr) minmax(230px,.8fr);gap:12px}.mail-in-details-grid-v6210 label,.mail-in-dispatch-v6210 label{display:grid;gap:6px;font-size:.78rem;color:var(--muted,#94a3b8)}.mail-in-details-grid-v6210 textarea,.mail-in-details-grid-v6210 input,.mail-in-dispatch-v6210 input{width:100%}.mail-in-action-row-v6210{display:flex;gap:9px;flex-wrap:wrap}.mail-in-dispatch-v6210{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(260px,1fr) auto;gap:12px;align-items:end;padding:13px;border:1px solid rgba(59,130,246,.24);border-radius:12px;background:rgba(59,130,246,.06)}.mail-in-dispatch-v6210>div{display:grid;gap:3px}.mail-in-dispatch-v6210 small{color:var(--muted,#94a3b8)}.mail-in-dispatched-v6210{align-self:center;font-weight:800}.mail-in-postage-line-v6210{border-color:rgba(45,212,191,.28)!important;background:rgba(45,212,191,.045)!important}.mail-in-postage-line-v6210 input:disabled{opacity:.88}.repair-filter-field select#repairRequestService{min-width:155px}
html[data-theme="light"] .mail-in-panel-v6210{background:linear-gradient(180deg,rgba(13,148,136,.06),rgba(255,255,255,.9))}html[data-theme="light"] .mail-in-request-details-v6210>div,html[data-theme="light"] .mail-in-facts-v6210>div{background:rgba(15,23,42,.025)}
@media(max-width:900px){.mail-in-request-details-v6210,.mail-in-facts-v6210{grid-template-columns:1fr 1fr}.mail-in-details-grid-v6210,.mail-in-dispatch-v6210{grid-template-columns:1fr}.mail-in-timeline-v6210{grid-template-columns:1fr 1fr}.mail-in-panel-head-v6210{display:grid}}
@media(max-width:560px){.mail-in-request-details-v6210,.mail-in-facts-v6210,.mail-in-timeline-v6210{grid-template-columns:1fr}}

/* rc1.35.212 — Mobile/responsive Mail-In Repair Request identification */
.mail-in-request-banner-v6212{display:grid;gap:3px;margin:0 0 12px;padding:11px 13px;border:1px solid rgba(45,212,191,.4);border-radius:11px;background:rgba(45,212,191,.10)}.mail-in-request-banner-v6212 span{font-size:.72rem;font-weight:900;letter-spacing:.12em;color:#4ce0a0}.mail-in-request-banner-v6212 strong{font-size:.86rem;line-height:1.35}.is-mail-in-v6210 .repair-job-accent{background:#2dd4bf}.is-mail-in-v6210 .repair-request-side>.repair-status-pill{margin-top:2px}@media(max-width:760px){.mail-in-request-details-v6210{grid-template-columns:1fr 1fr}.mail-in-request-banner-v6212{margin-bottom:14px}}@media(max-width:520px){.mail-in-request-details-v6210{grid-template-columns:1fr}}

/* .217 — QR-selected Mail-In request focus */
.repair-request-scan-focus-v217{outline:3px solid var(--accent);outline-offset:3px;animation:repairRequestFocusV217 1.2s ease 2}@keyframes repairRequestFocusV217{50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--accent) 18%,transparent)}}
