.workshop-location-inline { display:inline-flex; align-items:center; flex-wrap:wrap; gap:6px; margin:5px 0 1px; vertical-align:middle; }
.workshop-location-badge { display:inline-flex; align-items:center; gap:6px; padding:5px 9px; border:1px solid; border-radius:7px; font-size:12px; font-weight:800; line-height:1.3; white-space:nowrap; }
.workshop-location-badge .ti { font-size:16px; }
.workshop-location-badge.is-downstairs { background:#eaf4ff; border-color:#88b5e6; color:#174d80; }
.workshop-location-badge.is-upstairs { background:#f0eaff; border-color:#b49be4; color:#623494; }
.workshop-location-badge.is-unknown { background:#fff7df; border-color:#d9b85c; color:#795509; }
.workshop-location-quick-actions { display:inline-flex; gap:3px; }
.workshop-location-quick { display:inline-flex; align-items:center; justify-content:center; min-height:32px; width:32px; border:1px solid #bdcbd7; border-radius:6px; background:#fff; color:#25445d; cursor:pointer; font-size:17px; }
.workshop-location-quick:hover:not(:disabled) { background:#eaf1f7; border-color:#496f90; }
.workshop-location-quick[aria-pressed=true] { background:#e4edf5; color:#536575; opacity:.55; cursor:default; }
.workshop-location-panel { margin:0 0 16px; padding:16px 18px; background:#f7f9fc; border:1px solid #b9c9d9; border-left:5px solid #6b4aa0; border-radius:10px; }
.workshop-location-main { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.workshop-location-current { margin:5px 0; }
.workshop-location-panel .workshop-location-badge { font-size:17px; padding:7px 11px; }
.workshop-location-panel .workshop-location-badge .ti { font-size:21px; }
.workshop-location-panel small { color:#566978; font-size:12px; }
.workshop-location-actions { display:flex; gap:8px; flex-wrap:wrap; }
.workshop-location-choice.btn { min-height:44px; padding:10px 16px; font-size:14px; font-weight:750; border:1px solid #b5c6d7; background:#fff; color:#25445d; }
.workshop-location-choice[aria-pressed=true].is-upstairs { background:#e9defc; border-color:#8965bd; color:#542982; opacity:1; }
.workshop-location-choice[aria-pressed=true].is-downstairs { background:#dceeff; border-color:#6098ca; color:#174d80; opacity:1; }
.workshop-location-choice[aria-pressed=true]::after { content:'✓'; margin-left:4px; }
.workshop-location-feedback { color:#23613d; font-size:13px; line-height:1.5; }
.workshop-location-feedback:not(:empty) { margin-top:10px; }
.workshop-location-feedback.is-error { color:#a33424; font-weight:650; }
.workshop-location-history { margin-top:10px; color:#496177; font-size:12px; }
.workshop-location-history summary { cursor:pointer; padding:4px 0; width:max-content; max-width:100%; }
.workshop-location-history ol { margin:8px 0 0; padding:0 0 0 19px; max-height:180px; overflow:auto; }
.workshop-location-history li { padding:3px 0; }
.workshop-location-history li span { display:block; font-size:11px; color:#647683; }
.workshop-location-reset { margin-top:8px; background:none; border:0; padding:3px 0; color:#5b6876; text-decoration:underline; font-size:11px; cursor:pointer; }
.workshop-location-filter { display:flex; align-items:center; gap:7px; font-size:12px; font-weight:700; color:#41586c; }
.workshop-location-filter select { width:auto; min-width:130px; max-width:180px; }
.workshop-location-panel button:focus-visible,.workshop-location-quick:focus-visible,.workshop-location-history summary:focus-visible { outline:3px solid #146ed1; outline-offset:3px; }
.global-search-row .workshop-location-badge { padding:3px 6px; font-size:11px; }
.mini-item .workshop-location-inline { margin-top:4px; }
@media(max-width:640px) { .workshop-location-panel { padding:12px; } .workshop-location-main { align-items:stretch; gap:12px; } .workshop-location-main>div:first-child { width:100%; } .workshop-location-actions { width:100%; } .workshop-location-choice.btn { flex:1; justify-content:center; } .workshop-location-quick { width:36px; min-height:36px; } .workshop-location-filter { width:100%; } .workshop-location-filter select { flex:1; max-width:none; } }
.workshop-location-badge.is-custom{background:#e8f7f0;border-color:#7cbaa1;color:#175e42;white-space:normal;overflow-wrap:anywhere}.workshop-location-select{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-top:14px}.workshop-location-select label{display:grid;gap:6px;min-width:200px;font-size:13px;font-weight:700}.workshop-location-select select{min-height:44px;padding:9px;border:1px solid #aebfcd;border-radius:7px;background:#fff;max-width:100%;font:inherit}.workshop-location-select .btn{min-height:44px}.workshop-location-note{display:block;margin-top:10px}.workshop-location-select select:focus-visible{outline:3px solid #146ed1;outline-offset:3px}@media(max-width:640px){.workshop-location-select label{width:100%}.workshop-location-select .btn{flex:1;justify-content:center}.workshop-location-badge{white-space:normal;overflow-wrap:anywhere}}

/* Mobile QR and conspicuous, confirmed physical locations. */
.workshop-location-inline{display:flex;max-width:100%;width:100%;align-items:center;margin:8px 0;gap:8px}
.workshop-location-badge{max-width:100%;white-space:normal;overflow-wrap:anywhere;align-items:flex-start;text-align:left}
.workshop-location-badge>.ti{flex:none;line-height:1.3}
.workshop-location-prefix{font-weight:600}
.workshop-location-badge.is-unknown{display:flex;width:100%;background:#fff0f0;border:1px solid #d02c3a;border-left:5px solid #c72232;color:#9d1322;padding:9px 11px;font-size:13px;line-height:1.4}
.workshop-location-panel.is-unknown{border-color:#d02c3a;border-left-color:#c72232;background:#fff8f8}
.workshop-location-inline .workshop-location-badge{flex:1;min-width:0}
.workshop-location-quick-actions{flex:none}
.workshop-location-panel .workshop-location-main>div:first-child{min-width:0;flex:1}
.workshop-location-panel .workshop-location-current{max-width:100%}
.workshop-location-panel .workshop-location-badge.is-unknown{font-size:16px}
.workshop-location-select label{min-width:0;max-width:100%;flex:1 1 260px}
.workshop-location-select select{width:100%;min-width:0}
.workshop-scan-entry{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;text-decoration:none}
.workshop-scan-entry:focus-visible,.workshop-mobile-scan:focus-visible{outline:3px solid #146ed1;outline-offset:3px}
@media(max-width:1180px){
 .admin-mobile-dock:has(.workshop-mobile-scan){grid-template-columns:repeat(6,minmax(0,1fr))!important}
 .admin-mobile-dock .workshop-mobile-scan{display:grid;justify-items:center;align-content:center;gap:2px;min-width:0;min-height:48px;padding:5px 2px;border:0;border-radius:8px;background:#e5f5ee!important;color:#125a3d!important;text-decoration:none;font-size:10px;font-weight:800;line-height:1.1;touch-action:manipulation}
 .admin-mobile-dock .workshop-mobile-scan .ti{font-size:21px}
 .admin-mobile-dock .workshop-mobile-scan span{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
}
@media(max-width:760px){
 body:has(.admin-top-shell) .admin-header{height:auto!important;max-height:none!important}
 body:has(.admin-top-shell) .admin-userbar{height:auto!important;grid-template-columns:minmax(0,1fr) auto auto!important;padding-bottom:8px!important}
 body:has(.admin-top-shell) .admin-userbar>.ux-notify-button{grid-column:2!important;grid-row:1!important}
 body:has(.admin-top-shell) .admin-userbar>.mission-utility-menu{grid-column:3!important;grid-row:1!important}
 body:has(.admin-top-shell) .admin-userbar>.workshop-scan-entry{position:static!important;grid-column:1/-1!important;grid-row:2!important;justify-self:stretch;width:100%;min-height:44px!important;box-sizing:border-box}
}
@media(max-width:640px){
 .workshop-location-inline{align-items:stretch}
 .workshop-location-panel .workshop-location-select .workshop-scan-entry{flex-basis:100%;font-size:14px;white-space:normal;text-align:center}
 .workshop-location-quick{min-height:44px;width:40px}
 .workshop-location-select select{font-size:16px}
 .workshop-location-panel .workshop-location-badge{font-size:16px}
}
/* A location strip is one full-width field inside the mobile record grid. */
@media(max-width:760px){
 body:has(.admin-top-shell) table.mission-responsive-table>tbody>tr>td>.workshop-location-inline{grid-column:1/-1;min-width:0;width:100%;max-width:100%}
}
