:root{--ops-ink:#153e42;--ops-teal:#087f80;--ops-mint:#dff3ef;--ops-border:#d8e6e4;--ops-muted:#55736f}.eyebrow{font-size:.7rem;font-weight:800;letter-spacing:.13em;color:var(--ops-teal)}.ops-hero{background:linear-gradient(120deg,#102e35,#126766);color:white;border-radius:20px;padding:34px;display:flex;justify-content:space-between;gap:24px;margin-bottom:22px}.ops-hero h2{font-size:2.2rem;color:white;margin:12px 0}.ops-hero .eyebrow{color:#95dace}.ops-hero p,.ops-hero small{color:#d6eae7}.ops-pulse{display:flex;flex-direction:column;justify-content:center;gap:10px;text-align:right}.ops-pulse strong{font-size:3.3rem}.ops-pulse strong small{font-size:1.4rem}.ops-pulse a{color:#b9efe6}.ops-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.ops-kpis article,.role-cards article{background:#fff;border:1px solid var(--ops-border);border-radius:15px;padding:23px}.ops-kpis article>span{display:block;font-size:.83rem;color:var(--ops-muted)}.ops-kpis article>strong{display:block;font-size:2.1rem;margin:12px 0;color:var(--ops-ink)}.ops-kpis strong small{font-size:1rem}.ops-kpis article>small{color:var(--ops-muted)}.ops-columns{display:grid;grid-template-columns:2fr 1fr;gap:20px}.ops-trend{display:flex;align-items:flex-end;height:190px;gap:5px;overflow-x:auto;margin:20px 0}.ops-trend>div{flex:1;min-width:16px;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;height:190px}.ops-trend i{display:block;background:linear-gradient(#25b8a7,#087f80);width:100%;min-height:2px;border-radius:4px 4px 0 0}.ops-trend span{font-size:.65rem;color:var(--ops-muted);margin-bottom:4px}.ops-trend small{height:24px;font-size:.65rem;white-space:nowrap;margin-top:6px}.ops-days{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding-top:12px}.ops-days span{display:flex;justify-content:space-between;border-bottom:1px solid var(--ops-border)}.ops-health{background:var(--ops-mint);padding:14px;border-radius:10px;font-weight:bold}.ops-health.warn{background:#fff0dc;color:#925206}.ops-connection{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--ops-border)}.ops-status{padding:6px 10px;border-radius:20px;font-size:.8rem;white-space:nowrap}.ops-status.online{background:#d9f2eb;color:#126953}.ops-status.offline{background:#fff0dc;color:#925206}.block{display:block;color:var(--ops-muted);margin-top:5px}.role-cards,.promotion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px}.user-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;align-items:end}.user-record{padding:15px;border-bottom:1px solid var(--ops-border)}.user-record summary{cursor:pointer;font-weight:bold;margin-bottom:12px}.assignment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.assignment-grid form,.promotion-grid form{padding:18px;background:#f7faf9;border:1px solid var(--ops-border);border-radius:12px}.promotion-grid img{width:100%;height:auto;max-height:380px;object-fit:contain;border-radius:8px}.promotion-description{white-space:pre-wrap;overflow-wrap:anywhere}.promotion-gallery{font-family:system-ui,sans-serif;background:#eef5f3;color:var(--ops-ink);margin:0;padding:32px}.promotion-gallery header{max-width:1250px;margin:0 auto 26px}.promotion-gallery main{max-width:1250px;margin:auto}.promotion-gallery article{background:white;padding:22px;border-radius:16px}.admin-role{color:#cae7e2;font-size:.8rem}body.role-store_viewer header,body.role-assistant_admin header{background:#153e42}.user-form label,.promotion-grid label{overflow-wrap:anywhere}@media(max-width:1000px){.ops-kpis{grid-template-columns:repeat(2,1fr)}.ops-columns{grid-template-columns:1fr}.role-cards,.promotion-grid,.assignment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.ops-hero{padding:23px;flex-direction:column}.ops-pulse{text-align:left}.ops-hero h2{font-size:1.7rem}.ops-kpis{gap:10px}.ops-kpis article{padding:15px}.ops-kpis article>strong{font-size:1.65rem}.role-cards,.promotion-grid,.assignment-grid,.user-form{grid-template-columns:1fr}.ops-days{grid-template-columns:repeat(2,1fr)}.promotion-gallery{padding:18px}}

.user-form input[type=checkbox],.promotion-grid input[type=checkbox]{display:inline-block;width:auto;margin-right:7px}.user-form button,.assignment-grid button,.promotion-grid button{background:#087f80}.ops-hero+* a,.ops-columns a{color:#087f80}.ops-columns>*{min-width:0}.promotion-gallery .promotion-grid article{min-width:0}.ops-trend{padding:0 3px}.user-record summary{overflow-wrap:anywhere}

/* V1.17 account access controls */
.header-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.logout-form{display:inline-flex;margin:0}
.logout-button{background:#fff!important;color:#111!important;border:1px solid #d1d5db!important;padding:8px 13px!important;border-radius:10px!important;font-weight:700!important}
.logout-button:hover{background:#f5f5f5!important}
.login-page{min-height:100vh;background:#f6f7f8;display:grid;place-items:center}
.login-shell{width:min(94vw,460px);padding:24px}
.login-card{background:#fff;border:1px solid #dedfe2;border-radius:22px;padding:30px;box-shadow:0 18px 50px rgba(0,0,0,.08)}
.login-brand{margin-bottom:24px}.login-brand h1{margin:0;font-size:28px}.login-brand p{margin:5px 0 0;color:#667085}
.login-form{display:grid;gap:16px}.login-form label{display:grid;gap:7px;font-weight:700}.login-form input{width:100%;box-sizing:border-box;padding:13px 14px;border:1px solid #cfd4dc;border-radius:12px;font:inherit}.login-form button{padding:13px 18px}
.error-note{border-color:#f0b5b5!important;background:#fff2f2!important;color:#8a1c1c!important}
.account-builder,.user-record{overflow:visible}
.account-form{display:grid;gap:20px}.account-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end}.account-grid label{display:grid;gap:6px;font-weight:700}.account-grid input,.account-grid select,.store-scope-box select{width:100%;box-sizing:border-box}.toggle-row{display:flex!important;align-items:center;gap:8px;padding-bottom:10px}.toggle-row input{width:auto!important}
.store-scope-box{border:1px solid #e1e4e8;border-radius:15px;padding:16px;background:#fbfbfc;display:grid;gap:12px}.store-scope-box h4{margin:0}.all-stores-row{display:flex;align-items:center;gap:8px}.all-stores-row input{width:auto}.store-multi{min-height:108px;padding:7px;border-radius:10px}.hint{display:block;font-size:12px;color:#7a818e;font-weight:400;margin-top:3px}.muted-control{opacity:.55}
.permission-editor{border-top:1px solid #e5e7eb;padding-top:18px}.permission-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.permission-title h4{margin:0 0 4px}.secondary-button{background:#fff!important;color:#111!important;border:1px solid #cfd4dc!important}.permission-group{border:1px solid #e1e4e8;border-radius:15px;padding:15px;margin:14px 0}.permission-group legend{font-weight:800;padding:0 7px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.permission-item{display:flex!important;align-items:flex-start;gap:10px;border:1px solid #eceef1;border-radius:12px;padding:11px;background:#fff;font-weight:400!important}.permission-item input{width:auto!important;margin-top:3px}.permission-item span{display:grid;gap:3px}.permission-item small{color:#697180;line-height:1.35}
.user-list{display:grid;gap:12px}.user-record{border:1px solid #dedfe3;border-radius:14px;background:#fff}.user-record>summary{cursor:pointer;padding:15px 17px;display:flex;justify-content:space-between;gap:12px;align-items:center}.user-scope-summary{color:#697180;font-size:13px}.edit-account-section{padding:0 17px 18px;border-top:1px solid #eceef1}.edit-account-section>h4{margin:16px 0 12px}.account-actions{display:flex;gap:10px;align-items:center}.remove-user-form{margin-top:12px;padding-top:12px;border-top:1px dashed #e4e5e7}.danger-button{background:#fff!important;color:#a61b1b!important;border:1px solid #e6a8a8!important}.danger-button:hover{background:#fff2f2!important}
@media(max-width:900px){.account-grid{grid-template-columns:1fr 1fr}.permission-grid{grid-template-columns:1fr}.permission-title{flex-direction:column}}
@media(max-width:600px){.account-grid{grid-template-columns:1fr}.header-right{justify-content:flex-start}.user-record>summary{align-items:flex-start;flex-direction:column}}

/* V1.19 backend colour controls + compact Users & Locations layout */
body{background:var(--admin-bg,#f4f5f7);color:var(--admin-text,#171717)}
.page-shell{background:transparent}
.panel,.cards article,.device-card,.tablet-card,.ops-kpis article,.user-record,.login-card{background:var(--admin-card,#fff);color:var(--admin-text,#171717)}
.panel h1,.panel h2,.panel h3,.panel h4,.panel label,.cards article,.device-card,.tablet-card,.user-record{color:var(--admin-text,#171717)}
.login-page{background:var(--admin-bg,#f4f5f7);color:var(--admin-text,#171717)}
.login-card{background:var(--admin-card,#fff);color:var(--admin-text,#171717)}

/* Keep the two live-voice actions visually separate. */
.voice-settings-form{margin-bottom:20px}
.voice-test-form{margin-top:6px;margin-bottom:18px}
.voice-settings-form>button,.voice-test-form>button{display:inline-block}

.admin-theme-panel{border-width:2px}
.admin-theme-form{align-items:end}
.admin-theme-form .colour-select-row{max-width:100%}

.users-page-title{margin-bottom:12px}
.compact-role-guide{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.compact-role-guide>span{display:inline-flex;gap:6px;align-items:center;border:1px solid #dfe3e8;border-radius:999px;padding:7px 10px;background:var(--admin-card,#fff);font-size:11px;color:var(--admin-text,#171717)}
.users-management-panel{padding:0;overflow:hidden;margin-top:8px}
.compact-disclosure>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px}
.compact-disclosure>summary::-webkit-details-marker{display:none}
.compact-disclosure>summary>span:first-child{display:grid;gap:2px}
.compact-disclosure>summary small{display:block;font-weight:400;color:#6b7280;font-size:11px}
.compact-disclosure[open]>summary{border-bottom:1px solid #e6e8eb}
.summary-action,.count-badge{font-size:11px;font-weight:800;color:#475467;border:1px solid #d8dde4;background:#f7f8fa;border-radius:999px;padding:5px 9px;white-space:nowrap}
.compact-disclosure-body{padding:15px 16px 17px}
.compact-account-form{gap:14px}
.compact-account-grid{gap:10px;grid-template-columns:1.1fr 1.25fr .85fr .55fr}
.compact-account-grid label{margin:0;font-size:11px;gap:3px}
.compact-account-grid input,.compact-account-grid select{margin-top:3px;padding:8px 9px;font-size:13px}
.compact-toggle{padding:0 0 8px!important;align-self:end}
.compact-scope-box{padding:11px 12px;border-radius:11px;gap:8px;grid-template-columns:minmax(180px,.7fr) minmax(260px,1.3fr);align-items:center}
.compact-box-heading h4{margin:0 0 3px;font-size:13px}
.compact-box-heading .hint{font-size:10px;line-height:1.35}
.compact-store-multi{min-height:78px!important;height:78px;padding:5px!important;font-size:12px}
.compact-permission-editor{padding-top:12px}
.compact-permission-title{margin-bottom:7px;align-items:center}
.compact-permission-title h4{font-size:13px;margin:0 0 2px}
.compact-permission-title .note{margin:0;font-size:10px}
.compact-permission-title button{padding:7px 9px!important;font-size:11px}
.permission-groups-compact{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.permission-disclosure{padding:0!important;margin:0!important;border-radius:10px!important;overflow:hidden;background:var(--admin-card,#fff)}
.permission-disclosure>summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;list-style:none}
.permission-disclosure>summary::-webkit-details-marker{display:none}
.permission-disclosure>summary>span:first-child{display:grid;gap:2px}
.permission-disclosure>summary strong{font-size:11px}
.permission-disclosure>summary small{font-size:9px;font-weight:400;color:#6b7280;line-height:1.25}
.permission-disclosure>summary>span:last-child{font-size:9px;color:#667085;white-space:nowrap}
.permission-disclosure[open]>summary{border-bottom:1px solid #e6e8eb}
.compact-permission-grid{grid-template-columns:1fr!important;gap:5px!important;padding:8px}
.compact-permission-item{padding:7px 8px!important;border-radius:8px!important;margin:0!important}
.compact-permission-item strong{font-size:10px}
.compact-permission-item small{font-size:9px!important;line-height:1.25!important}
.compact-form-actions{display:flex;justify-content:flex-end;gap:8px}
.compact-form-actions button{padding:8px 11px;font-size:12px}
.compact-section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px}
.compact-section-heading h3{font-size:16px;margin:0}
.compact-section-heading .note{margin:3px 0 0;font-size:10px}
.existing-users-panel{padding:14px}
.compact-user-list{gap:7px}
.compact-user-record{border-radius:10px!important}
.compact-user-record>summary{padding:10px 12px!important;margin:0!important}
.user-summary-main{display:grid;gap:1px}
.user-summary-main strong{font-size:12px}
.user-summary-main small{font-size:9px;color:#6b7280}
.user-summary-meta{display:flex;gap:6px;align-items:center;font-size:9px;color:#667085;flex-wrap:wrap;justify-content:flex-end}
.user-summary-meta>span{border:1px solid #e0e4e9;border-radius:999px;padding:4px 7px}
.compact-edit-section{padding:10px 12px 12px!important}
.compact-remove-user{margin-top:8px!important;padding-top:8px!important;display:flex;justify-content:flex-end}
.compact-remove-user button{padding:7px 9px!important;font-size:11px}
.locations-tablets-panel{padding:14px}
.locations-tablets-layout{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(460px,1.3fr);gap:14px;align-items:start}
.location-editor-box,.tablet-assignment-box{border:1px solid #e0e4e9;border-radius:11px;padding:11px;background:var(--admin-card,#fff)}
.location-editor-box h4,.tablet-assignment-box h4{margin:0 0 8px;font-size:13px}
.compact-location-form{display:grid;gap:7px}
.compact-location-form label{margin:0;font-size:10px}
.compact-location-form input{padding:8px 9px;font-size:12px}
.compact-location-form button{justify-self:start;padding:8px 10px;font-size:11px}
.tablet-assignment-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.tablet-assignment-row{display:grid;grid-template-columns:minmax(78px,.55fr) minmax(130px,1.45fr) auto;gap:6px;align-items:center;border:1px solid #e6e9ed;border-radius:8px;padding:6px;background:var(--admin-card,#fff)}
.tablet-slot-label{display:grid;gap:0;min-width:0}
.tablet-slot-label strong{font-size:10px}
.tablet-slot-label small{font-size:8px;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tablet-assignment-row select{margin:0;padding:6px 7px;font-size:10px;min-width:0}
.tablet-assignment-row button{padding:6px 8px;font-size:9px}
.audit-panel-compact{padding:0;overflow:hidden}
.audit-panel-compact table{min-width:650px}
.audit-panel-compact th,.audit-panel-compact td{padding:8px 7px;font-size:10px}

@media(max-width:1050px){
  .compact-account-grid{grid-template-columns:1fr 1fr}
  .compact-scope-box{grid-template-columns:1fr}
  .locations-tablets-layout{grid-template-columns:1fr}
}
@media(max-width:760px){
  .compact-account-grid,.permission-groups-compact,.tablet-assignment-list{grid-template-columns:1fr}
  .compact-section-heading,.compact-disclosure>summary{align-items:flex-start}
  .user-summary-meta{justify-content:flex-start}
  .tablet-assignment-row{grid-template-columns:minmax(72px,.5fr) minmax(120px,1.5fr) auto}
}
