.qr-workspace{--qr-muted:var(--muted,#667085);color:var(--ink,#101828)}
.qr-heading,.qr-heading-title,.qr-toolbar,.qr-card-header,.qr-card-footer,.qr-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px}
.qr-heading{margin:8px 0 24px;flex-wrap:wrap}.qr-heading-title{justify-content:flex-start}
.qr-heading-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:#175cd3;color:#fff;font-size:28px;flex-shrink:0}
.qr-heading h1{font-size:26px;line-height:1.3;font-weight:750;margin:0 0 5px}.qr-heading p,.qr-help{color:var(--qr-muted);margin:0;line-height:1.6;font-size:14px}
.qr-toolbar{padding:20px;background:var(--surface,#fff);border:1px solid var(--line,#e5eaf0);border-radius:16px;flex-wrap:wrap}
.qr-search{flex:1;min-width:240px;max-width:760px}.qr-search input{min-width:0}.qr-search .form-label{font-size:14px;font-weight:600}.qr-result-summary{display:flex;flex-direction:column;gap:6px;text-align:right}.qr-result-summary strong{font-size:24px}
.qr-valid{color:var(--qr-muted);font-size:13px}.qr-help{margin:14px 0 20px}
.qr-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.qr-transport-card{background:var(--surface,#fff);border:1px solid var(--line,#e5eaf0);border-radius:18px;overflow:hidden;box-shadow:0 3px 14px #10182808;display:flex;flex-direction:column;min-width:0}
.qr-card-header{padding:18px 20px;border-bottom:1px solid var(--line,#e5eaf0);flex-wrap:wrap}
.qr-card-header small{color:var(--qr-muted);font-size:13px}.qr-card-header h2{font-size:21px;font-weight:700;margin:4px 0 0;overflow-wrap:anywhere}
.qr-status{font-size:12px;font-weight:600;padding:6px 10px;border-radius:30px;background:var(--surface-2,#f8fafc);color:var(--ink,#101828);border:1px solid var(--line,#e5eaf0)}
.qr-status-active{background:#dcfae6;color:#085d3a;border-color:#a6f4c5}
.qr-card-body{display:grid;grid-template-columns:130px minmax(0,1fr);gap:20px;padding:20px;flex:1}
.qr-preview-button{border:1px solid #d0d5dd;border-radius:12px;padding:8px;background:#fff;color:#344054;width:130px}.qr-preview-button img{display:block;width:112px;height:112px;object-fit:contain}.qr-preview-button span{display:block;font-size:12px;margin-top:8px}
.qr-preview-button:focus-visible{outline:3px solid #175cd3;outline-offset:3px}
.qr-trip-details{margin:0;min-width:0}.qr-trip-details>div{margin-bottom:10px}.qr-trip-details>div:last-child{margin-bottom:0}
.qr-trip-details dt{font-size:12px;font-weight:500;color:var(--qr-muted);margin-bottom:2px}.qr-trip-details dd{font-size:15px;font-weight:600;line-height:1.5;margin:0;overflow-wrap:anywhere}.qr-trip-details .qr-expiring{color:#b54708}
html[data-theme="dark"] .qr-trip-details .qr-expiring{color:#fdb022}
.qr-card-footer{padding:14px 20px;border-top:1px solid var(--line,#e5eaf0);justify-content:flex-start;flex-wrap:wrap}
.qr-workspace .btn{min-height:42px;font-size:14px}.qr-missing{width:130px;min-height:150px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;border:1px dashed var(--line);border-radius:12px;color:var(--qr-muted);font-size:13px}.qr-missing i{font-size:38px}
.qr-pagination{margin-top:24px;flex-wrap:wrap;font-size:14px;color:var(--qr-muted)}
.qr-empty{grid-column:1/-1;padding:60px 20px;text-align:center;background:var(--surface);border:1px dashed var(--line);border-radius:18px}.qr-empty>i{font-size:48px;color:var(--qr-muted)}.qr-empty h2{font-size:21px;margin-top:16px}.qr-empty p{color:var(--qr-muted)}
.qr-large-image{max-width:340px;margin:auto;padding:20px;background:#fff;border-radius:16px}.qr-large-image img{width:100%;aspect-ratio:1;object-fit:contain}
@media(max-width:1100px){.qr-card-grid{grid-template-columns:1fr}}
@media(max-width:575px){.qr-heading h1{font-size:21px}.qr-heading-icon{width:44px;height:44px;font-size:24px}.qr-toolbar{padding:16px}.qr-search{min-width:0;width:100%;flex-basis:100%}.qr-result-summary{flex-direction:row;align-items:center;width:100%;justify-content:space-between}.qr-card-body{grid-template-columns:100px minmax(0,1fr);gap:14px;padding:16px}.qr-preview-button,.qr-missing{width:100px}.qr-preview-button img{width:82px;height:82px}.qr-card-header,.qr-card-footer{padding:16px}.qr-heading-title{align-items:flex-start}}
