.launch-card { max-width: 680px; margin: 2rem auto; padding: 1.5rem; font-family: Arial, sans-serif; }
.launch-card h1 { font-size: 1.5rem; }
.store-launch-page .store-launch-selection { margin-top: var(--space-md); }
.store-launch-page .store-launch-intro { margin: var(--space-sm) 0 var(--space-md); }
.store-launch-page #store-launch-form { display: grid; grid-template-columns: var(--size-detail-label-width) minmax(0, 1fr); gap: var(--space-md); align-items: start; }
.store-launch-page #store-launch-form > label { padding-top: 9px; color: var(--color-brand-primary); font-size: var(--font-size-label); font-weight: 700; }
.store-launch-page #open-store-portal { grid-column: 2; justify-self: start; }
.store-launch-page .store-picker { min-width: 0; }
.store-launch-page .store-picker-status { margin: var(--space-xs) 0; color: var(--color-text-secondary); font-size: var(--font-size-note); }
.store-launch-page .store-picker-results { margin: 0; padding: var(--space-xs); min-width: 0; }
.store-launch-page .store-picker-legend { color: var(--color-brand-primary); font-size: var(--font-size-label); }
.store-launch-page .store-picker-option { display: flex; align-items: center; gap: var(--space-xs); padding: var(--space-xs); margin: 2px 0; border-radius: var(--radius-control); cursor: pointer; }
.store-launch-page .store-picker-option:hover { background: var(--color-surface-muted); }
.store-launch-page .store-picker-option:has(input:checked) { background: var(--color-status-info-bg); color: var(--color-brand-primary); }
.store-launch-page .store-picker-option:focus-within { outline: 2px solid var(--color-focus); }
.store-launch-page .store-picker-option input { flex-shrink: 0; accent-color: var(--color-brand-primary); }
.store-launch-page .store-picker-selection { margin: var(--space-sm) 0 0; font-weight: 700; color: var(--color-brand-primary); }
.store-launch-page [hidden] { display: none !important; }
@media (max-width: 480px) {
    .store-launch-page #store-launch-form { grid-template-columns: 1fr; }
    .store-launch-page #open-store-portal { grid-column: 1; }
}
.store-portal-page [hidden] { display: none !important; }
.store-portal-page:not(.login-page) { background: #fff; }
.store-portal-page #store-staff-screen { min-height: 0; }
.store-portal-page.store-workspace-page { display: flex; flex-direction: column; height: 100dvh; min-height: 0; overflow: hidden; }
.store-portal-page.store-workspace-page #top-bar, .store-portal-page.store-workspace-page #tabs { flex-shrink: 0; }
.store-portal-page.store-workspace-page #store-staff-screen { flex: 1 1 auto; height: auto; min-height: 0; }
.store-workspace-page #store-system-status #handoff-status { margin: 0; font-size: inherit; line-height: inherit; }
/* Widen the standalone picker data column by 25%, preserving the label column. */
.store-portal-page #store-login-screen:has(#store-launch-form:not([hidden])) .page-content {
    max-width: calc(var(--size-page-content-max-compact) + (var(--size-page-content-max-compact) - var(--size-form-label-width) - 20px) * 0.25);
}
#store-navigation h1 { grid-column: 2; grid-row: 1; }
#staff-menu-navigation { grid-column: 1; grid-row: 1; }
.store-navigation-actions { grid-column: 3; grid-row: 1; }
.store-navigation-actions .navigation-button { width: 100%; }
#staff-sign-out { grid-column: 1; grid-row: 1; }
#store-change-context { grid-column: 3; grid-row: 1; }
.store-portal-page .store-picker-status { margin: var(--space-xs) 0; color: var(--color-text-secondary); font-size: var(--font-size-note); }
.store-portal-page .store-picker-results { margin: 0; padding: var(--space-xs); min-width: 0; }
.store-portal-page .store-picker-legend { color: var(--color-brand-primary); font-size: var(--font-size-label); }
.store-portal-page .store-picker-option { display: flex; align-items: center; gap: var(--space-xs); padding: var(--space-xs); margin: 2px 0; border-radius: var(--radius-control); cursor: pointer; }
.store-portal-page .store-picker-option:hover { background: var(--color-surface-muted); }
.store-portal-page #store-search-results .store-picker-option { min-width: 0; align-items: flex-start; white-space: normal; }
.store-portal-page #store-search-results .store-picker-option span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.store-portal-page #store-search-results .store-picker-option[aria-disabled=true] { cursor: default; color: #64748b; background: #f1f5f9; }
.store-portal-page .store-picker-option:has(input:checked) { background: var(--color-status-info-bg); color: var(--color-brand-primary); }
.store-portal-page .store-picker-selection { margin: var(--space-sm) 0 0; font-weight: 700; color: var(--color-brand-primary); overflow-wrap: anywhere; }
.store-portal-page #store-login-selection { overflow-wrap: anywhere; }
.store-portal-page .store-picker-option input { flex-shrink: 0; accent-color: var(--color-brand-primary); }
.store-manager-pin { min-width: 0; }
.store-manager-pin .pin-keys { margin-top: 8px; }
.store-manager-pin .pin-keys button { min-height: 48px; height: 54px; font-size: 24px; }
#store-manager-list .store-picker-option { min-height: 48px; }
#store-manager-label { color: var(--color-brand-primary); font-weight: 700; }
.store-staff-workspace { width: min(100%, 1100px); margin: 0 auto; padding: 0 16px 24px; }
.store-staff-workspace .staff-login { grid-template-columns: minmax(0, 290px) minmax(0, 395px) minmax(0, 1fr); gap: 20px; }
.staff-list-navigation { display: flex; justify-content: space-around; height: 100px; }
.staff-list-navigation button { border: 0; background: transparent; color: #dce1ea; font-size: 80px; padding: 0; line-height: 1; }
#store-staff-list { display: flex; flex-direction: column; gap: 26px; max-height: 350px; overflow-y: auto; padding: 8px 4px; }
#store-staff-list button { flex-shrink: 0; width: 100%; min-height: 44px; padding: 8px; font-size: 18px; }
#staff-pin { width: 100%; height: 100px; border: 1px solid #b9b9b9; border-radius: 0; background: #000; color: #fff; text-align: center; font-size: 48px; letter-spacing: 12px; }
.store-staff-workspace .pin-keys button { height: 98px; background: #686868; color: #fff; border: 1px solid #222; }
.store-staff-workspace .pin-keys button:disabled { color: #c9c9c9; }
.store-staff-workspace .pin-keys button[data-pin-key='clear'] { color: #ff0; background: #999; }
.store-staff-workspace .pin-keys button:not(:disabled):active { background: #173e65; }
#staff-first-time { max-width: 100%; min-height: 48px; margin: 0 0 16px; padding: 10px 14px; border: 1px solid #8b8b8b; border-radius: 6px; background: #e9e9e9; color: #222; font-size: 16px; font-weight: 700; }
#staff-first-time:hover { background: #d5d5d5; }
#staff-first-time:active { background: #c5c5c5; }
#selected-staff-name { line-height: 1.5; }
#handoff-status { font-size: 18px; }
.store-portal-page #store-login-message #handoff-status:empty { display: none; }
.store-portal-page .store-entry-problem .page-content {
    max-width: var(--size-page-content-max-reading);
}
.store-portal-page .store-entry-problem .page-title {
    text-align: center;
}
.store-portal-page .store-entry-recovery {
    justify-content: center;
}
.store-portal-page #store-login-message #handoff-status {
    max-width: calc(100% - 32px);
    margin: 12px auto 0;
    text-align: center;
    line-height: 1.5;
}
#store-staff-menu { padding-top: 26px; }
.staff-password-form { max-width: 1000px; margin: 24px auto; }
.store-staff-workspace:has(.my-staff-form) { width: min(100%, 1280px); }
.my-staff-form { margin: 18px auto; }
.my-staff-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr) 265px; gap: 20px; align-items: start; }
.my-staff-list-tools { display: flex; gap: 8px; margin-bottom: 14px; }
.my-staff-list-tools button { min-height: 48px; border: 1px solid #aaa; border-radius: 6px; background: #e9e9e9; padding: 6px 10px; }
.my-staff-list { display: flex; flex-direction: column; gap: 14px; }
.my-staff-list button { width: 100%; min-height: 58px; padding: 8px; font-size: 21px; }
.my-staff-list button.selected { background: #d51c2b; }
.my-staff-list button:disabled { background: #e9edf2; color: #64748b; box-shadow: none; cursor: default; }
.my-staff-fields { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 10px 12px; align-items: center; }
.my-staff-fields label { font-size: 18px; font-weight: 700; }
.my-staff-fields input { width: 100%; min-width: 0; min-height: 48px; padding: 6px 10px; border: 1px solid #999; border-radius: 5px; font-size: 23px; box-shadow: 0 2px 3px #0002; }
.my-staff-fields input[type=password] { letter-spacing: 5px; }
.my-staff-identity { display: flex; gap: 8px; }
.my-staff-identity input { flex: 1; width: 0; background: #f3f3f3; }
.staff-active { min-height: 48px; border: 1px solid #999; border-radius: 5px; background: #e9e9e9; white-space: nowrap; }
.staff-active[aria-pressed=true] { color: #12692b; }
.my-staff-roles fieldset { border: 0; padding: 0; margin: 0; }
.my-staff-roles legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.my-staff-roles label { display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 8px 12px; margin-bottom: 12px; border: 2px solid #555; border-radius: 9px; box-shadow: 0 3px 3px #0003; font-size: 21px; font-weight: 700; cursor: pointer; }
.my-staff-roles input { width: 30px; height: 30px; accent-color: #16833c; }
.my-staff-actions { display: flex; gap: 14px; }
.my-staff-actions .primary-button { flex: 1; margin-top: 0; }
.my-staff-cts-state { color: #555; font-size: 16px; }
.my-staff-form .my-staff-message { min-height: 24px; margin: 10px 0 0; font-size: 18px; line-height: 1.3; }
.my-staff-message.warning-message { color: #92400e; }
.my-staff-form .my-staff-message:empty { display: none; }
.store-touch-keyboard { margin-top: 14px; padding: 10px; border-top: 2px solid #aaa; background: #f8f8f8; }
.store-touch-keyboard p { margin: 0 0 8px; text-align: center; font-weight: 700; }
.touch-key-row, .touch-key-actions { display: flex; justify-content: center; gap: 6px; margin-top: 6px; }
.touch-key-row button { min-width: 52px; min-height: 48px; padding: 5px 10px; font-size: 23px; border: 1px solid #aaa; border-radius: 5px; background: linear-gradient(#ddd, #eee); color: #222; }
.touch-key-actions button { min-height: 48px; min-width: 90px; padding: 6px 12px; border: 1px solid #999; border-radius: 5px; background: #eee; font-size: 19px; }
.touch-key-row [data-touch-key=space] { width: 340px; }
.touch-key-rows.numeric .touch-key-row button { min-width: 82px; }
@media (max-width: 1000px) {
    .my-staff-layout { grid-template-columns: 185px minmax(0, 1fr) 205px; gap: 12px; }
    .my-staff-fields { grid-template-columns: 120px minmax(0, 1fr); }
    .my-staff-fields label { font-size: 16px; }
    .my-staff-roles label { font-size: 17px; }
}
@media (max-width: 750px) { .my-staff-layout { grid-template-columns: 1fr; } .touch-key-row { gap: 2px; } .touch-key-row button { min-width: 24px; padding: 4px; font-size: 18px; } }
.staff-password-guidance { margin: 0 0 22px; font-size: 18px; line-height: 1.5; }
.staff-password-layout { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 36px; align-items: start; }
.staff-password-fields { display: grid; grid-template-columns: 235px minmax(0, 1fr); gap: 22px 16px; align-items: center; padding-top: 44px; }
.staff-password-fields label { font-size: 20px; font-weight: 700; }
.staff-password-fields input { width: 100%; min-width: 0; height: 66px; padding: 8px 12px; border: 2px solid #8b8b8b; border-radius: 5px; background: #000; color: #fff; font-size: 36px; text-align: center; letter-spacing: 7px; }
.staff-password-fields input.selected { outline: 3px solid #e4a800; outline-offset: 2px; }
.staff-password-fields .primary-button { grid-column: 2; margin: 0; }
.staff-password-target { height: 28px; margin: 0 0 16px; text-align: center; font-size: 20px; font-weight: 700; }
.store-staff-workspace .staff-password-keypad .pin-keys button { height: 82px; font-size: 30px; }
.staff-password-status { min-height: 28px; margin: 24px 0 0; font-size: 20px; line-height: 1.5; }
.staff-password-status.processing::before { content: ''; display: inline-block; width: 22px; height: 22px; margin-right: 12px; vertical-align: middle; border: 3px solid #ccc; border-top-color: var(--store-blue); border-radius: 50%; animation: staff-password-spin 1s linear infinite; }
@keyframes staff-password-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .staff-password-status.processing::before { animation: none; } }
@media (max-width: 850px) {
    .staff-password-layout { grid-template-columns: minmax(0, 1fr) 280px; gap: 20px; }
    .staff-password-fields { grid-template-columns: 1fr; gap: 8px; padding-top: 0; }
    .staff-password-fields .primary-button { grid-column: 1; margin-top: 12px; }
}
@media (max-width: 550px) { .staff-password-layout { grid-template-columns: 1fr; } }
@media (max-width: 700px) {
    .store-staff-workspace .staff-login { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 12px; }
    #staff-pin { height: 74px; font-size: 34px; letter-spacing: 5px; }
    .store-staff-workspace .pin-keys button { height: 72px; font-size: 27px; }
    .staff-list-navigation { height: 74px; }
    .staff-list-navigation button { font-size: 54px; }
}
