.shift-grid,.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;margin:16px 0}.shift-tile,.health-tile{padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--card-bg);color:var(--text);overflow-wrap:anywhere}.shift-tile>b{display:block;font-size:28px}.shift-tile p,.health-tile p{margin:10px 0}.shift-tile h2,.health-tile h2{font-size:18px}.shift-scroll{overflow:auto}.shift-table{width:100%;border-collapse:collapse}.shift-table th,.shift-table td{padding:10px;border-bottom:1px solid var(--border);text-align:left}.operations-page{max-width:1200px;margin:auto}.operations-page .health-tile a{display:inline-block;margin-top:8px;color:var(--accent)}.scanner-test-target{position:relative;max-width:640px;min-height:240px;overflow:hidden;margin:16px 0}.scanner-test-target video{width:100%;max-height:420px;object-fit:contain}.scanner-test-target canvas{position:absolute;inset:0;width:100%;height:100%}.scanner-test-actions{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0}.scanner-test-input{width:100%;max-width:600px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text)}
#scannerTest p{margin:12px 0}#scannerTest h2{margin:18px 0 10px;font-size:18px}#scannerTest ul{padding-left:22px}#scannerTest a,.shift-tile a{color:var(--accent)}.scanner-test-target[hidden]{display:none}.shift-table th{font-size:13px}

/* My Shift follows the station's card headers, muted guidance and themed actions. */
.my-shift-page .cb-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.my-shift-page .cb-card-body>p{font-size:13px;line-height:1.6;margin:12px 0;color:var(--text-muted)}
.my-shift-page .cb-card-body>p:first-child{margin-top:0;color:var(--text)}
.my-shift-page .shift-grid{gap:16px;align-items:stretch}
.my-shift-page .shift-tile{padding:0;border-radius:var(--radius);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;min-width:0}
.my-shift-page .shift-tile h2,.my-shift-page .shift-section-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);background:rgba(var(--accent-rgb),.06);border-bottom:1px solid var(--border);padding:12px 16px;margin:0;line-height:1.5}
.my-shift-page .shift-tile p{font-size:13px;line-height:1.6;margin:0;padding:12px 16px;border-bottom:1px solid var(--border)}
.my-shift-page .shift-stats .shift-tile{padding:16px;background:rgba(var(--accent-rgb),.06)}
.my-shift-page .shift-stats .shift-tile>b{font-size:28px;line-height:1.2;color:var(--accent);font-variant-numeric:tabular-nums}
.my-shift-page .shift-stats .shift-tile>span{font-size:12px;line-height:1.5;color:var(--text-muted);margin-top:8px}
.my-shift-page .shift-action{display:inline-flex;justify-content:center;align-items:center;min-height:40px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--accent);font-size:12px;font-weight:700;text-decoration:none;line-height:1.5}
.my-shift-page .shift-tile>.shift-action{margin:auto 12px 12px;padding-top:10px;padding-bottom:10px}
.my-shift-page .shift-tile p+.shift-action{margin-top:12px}
.my-shift-page .shift-action:hover{border-color:var(--accent);background:rgba(var(--accent-rgb),.08)}
.my-shift-page .shift-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.my-shift-page .shift-section-title{border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;margin-top:20px}
.my-shift-page .shift-scroll{border:1px solid var(--border);border-top:0;border-radius:0 0 var(--radius) var(--radius)}
.my-shift-page .shift-table{font-size:13px;line-height:1.5}
.my-shift-page .shift-table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--bg);white-space:nowrap}
.my-shift-page .shift-table td{vertical-align:top}
.my-shift-page .shift-table tbody tr:hover{background:rgba(var(--accent-rgb),.05)}
@media(max-width:600px){.my-shift-page .shift-grid{grid-template-columns:1fr}.my-shift-page .shift-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.my-shift-page .shift-tile>.shift-action{min-height:44px}.my-shift-page .shift-table th,.my-shift-page .shift-table td{padding:10px 12px}}

/* Scanner Test follows the station look (same pattern as My Shift / Tasks): tinted card header, muted guidance,
   two tiles with uppercase accent headings, themed actions. IDs used by assets/scanner-test.js are unchanged. */
.scanner-test-page .cb-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.scanner-test-page .cb-card-body>p{font-size:13px;line-height:1.6;margin:12px 0;color:var(--text-muted)}
.scanner-test-page .cb-card-body>p:first-child{margin-top:0;color:var(--text)}
.scanner-test-page .st-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;align-items:start;margin:16px 0}
.scanner-test-page .st-tile{display:flex;flex-direction:column;min-width:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);box-shadow:var(--shadow-sm);overflow:hidden}
.scanner-test-page .st-tile h2{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);background:rgba(var(--accent-rgb),.06);border-bottom:1px solid var(--border);padding:12px 16px;margin:0;line-height:1.5}
.scanner-test-page .st-tile>p{font-size:13px;line-height:1.6;margin:0;padding:12px 16px;color:var(--text-muted)}
.scanner-test-page .scanner-test-actions{margin:0;padding:0 16px 4px;gap:10px}
.scanner-test-page .scanner-test-actions button{flex:1;min-height:44px;margin:0}
.scanner-test-page .st-status{font-size:13px;font-weight:600;color:var(--text)!important;background:var(--bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.scanner-test-page .st-pad .st-status{border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin:12px 0}
.scanner-test-page .scanner-test-target{margin:12px 16px;max-width:none;border-radius:8px;background:#000}
.scanner-test-page .st-subhead{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0;padding:12px 16px 4px}
.scanner-test-page .st-results{list-style:none;margin:0;padding:0 16px 14px;font-size:13px;line-height:1.5}
.scanner-test-page .st-results li{padding:8px 0;border-bottom:1px solid var(--border)}
.scanner-test-page .st-results li:last-child{border-bottom:0}
.scanner-test-page .st-pad{padding:4px 16px 16px}
.scanner-test-page .scanner-test-input{max-width:none;min-height:48px;font-size:16px}
.scanner-test-page .scanner-test-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.scanner-test-page .st-pad .btn-clear{min-height:44px;margin:0}
.scanner-test-page .st-action{display:inline-flex;align-items:center;min-height:40px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--accent);font-size:12px;font-weight:700;text-decoration:none}
.scanner-test-page .st-action:hover{border-color:var(--accent);background:rgba(var(--accent-rgb),.08)}
@media(max-width:600px){.scanner-test-page .scanner-test-actions{flex-direction:column}.scanner-test-page .scanner-test-actions button{width:100%}}
/* Override the older #scannerTest h2/p rules above (an id beats the classes) inside the new tiles. */
#scannerTest .st-tile h2{font-size:13px;margin:0}
#scannerTest .st-tile>p{margin:0}
#scannerTest .st-pad .st-status{margin:12px 0}
#scannerTest ul.st-results{padding:0 16px 14px}
