/* XPRO-019 PWA install and promo UI. No old-theme dependency. */
.x19-shell{width:min(100% - 24px,700px);margin:24px auto 108px;color:#ebeff2;font:inherit}
.x19-hero{padding:24px;border-radius:24px;background:linear-gradient(135deg,#242a32,#14181e);border:1px solid #39414b;box-shadow:0 14px 35px #0003}
.x19-eyebrow{font-size:11px;font-weight:800;letter-spacing:.11em;color:#ffad68;text-transform:uppercase}
.x19-hero h1{font-size:clamp(22px,5vw,31px);line-height:1.16;margin:10px 0}.x19-muted{color:#b6c0cc;line-height:1.55}
.x19-card{background:#1b2028;border:1px solid #39414b;border-radius:19px;padding:18px;margin-top:14px;min-width:0}
.x19-card h2{font-size:17px;margin:0 0 9px}.x19-field{display:grid;gap:7px;margin:13px 0;color:#e6ebf0}
.x19-field input{width:100%;box-sizing:border-box;border:1px solid #4b5460;background:#10151b;border-radius:12px;color:#fff;padding:13px;font:inherit;min-height:46px}
.x19-field input:focus-visible,.x19-primary:focus-visible,.x19-link:focus-visible{outline:3px solid #ffd0a4;outline-offset:2px}
.x19-primary,.x19-link{display:inline-flex;align-items:center;justify-content:center;min-height:43px;border:0;border-radius:12px;font:inherit;font-weight:800;text-decoration:none;padding:10px 17px;cursor:pointer}
.x19-primary{background:#ff8c32;color:#101114}.x19-primary:disabled{opacity:.55;cursor:not-allowed}.x19-link{border:1px solid #59616a;background:#252c35;color:#ecf1f5}
.x19-actions{display:flex;flex-wrap:wrap;gap:10px}.x19-notice{margin-top:12px;background:#192e29;border:1px solid #36604f;border-radius:12px;padding:12px;color:#b2ebd0}.x19-error{background:#39272a;border-color:#79474c;color:#ffe1e4}
.x19-steps{padding-inline-start:23px;line-height:1.7;color:#c2ccd8}
.x19-stat{font-size:26px;font-weight:900;color:#ffad68;font-variant-numeric:tabular-nums}.x19-list{margin:0;padding:0;list-style:none}.x19-list li{border-top:1px solid #3b424a;padding:12px 0;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.x19-list li:first-child{border-top:none}
.x19-control-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.x19-profile-link{min-width:0}
@media(max-width:480px){.x19-hero{padding:18px}.x19-control-row{grid-template-columns:1fr}.x19-shell{width:calc(100% - 22px)}.x19-actions>*{flex:1}}
@supports(padding:max(0px)){.x19-shell{padding-bottom:env(safe-area-inset-bottom)}}
@media(prefers-reduced-motion:reduce){.x19-shell *{scroll-behavior:auto!important;transition:none!important}}

/* PATCH-020 explicit service worker updates, minimal and mobile-friendly. */
.x20-update-notice[hidden]{display:none!important}
.x20-update-notice{position:fixed;z-index:9500;inset-inline:12px;bottom:max(82px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:480px;margin-inline:auto;background:#20262d;border:1px solid #ff8c32;border-radius:14px;box-shadow:0 8px 30px #0006;color:#fff;padding:12px 14px;font-size:13px}
.x20-update-notice button{min-height:42px;border:0;border-radius:10px;background:#ff8c32;color:#1a1a1a;padding:8px 12px;font-weight:800;cursor:pointer}
.x20-update-notice button:focus-visible{outline:3px solid #ffe1b7;outline-offset:2px}
.x20-update-notice button:disabled{opacity:.6}
@media(max-width:480px){.x20-update-notice{font-size:12px;bottom:max(76px,env(safe-area-inset-bottom))}}
.x20-voucher-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.x20-voucher-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.x20-voucher-stats>div{background:#262c35;border:1px solid #48505c;border-radius:12px;padding:12px;display:grid;gap:6px}
.x20-voucher-stats small{color:#b6c1cc}.x20-voucher-stats strong{font-size:22px;color:#ffae65}
.x20-voucher-filter{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:16px 0}
.x20-voucher-filter label{display:grid;gap:5px;min-width:140px;flex:1}
.x20-voucher-filter input,.x20-voucher-filter select{background:#171d24;border:1px solid #59616a;border-radius:10px;padding:10px;color:#f1f5fa;min-height:43px;max-width:100%}
.x20-pages{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:flex-end;padding-top:12px}
.x20-pages a{color:#ffaf6c;text-decoration:underline}.x20-pages span{color:#b7c0ca}
.x20-table-scroll{overflow-x:auto;max-width:100%}
@media(max-width:550px){.x20-voucher-stats{grid-template-columns:1fr 1fr}.x20-voucher-filter{display:grid;grid-template-columns:1fr}}

/* PATCH-021: audit filters, compact mobile history and PWA status. */
.x21-audit-box{min-width:0}
.x21-audit-filter{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:12px;margin:0 0 18px}
.x21-audit-filter label{display:grid;gap:6px;font-weight:600;color:#dbe1e9;font-size:13px;min-width:0}
.x21-audit-filter input{min-width:0;width:100%;box-sizing:border-box;border:1px solid #57616c;background:#161c24;color:#fff;border-radius:11px;min-height:43px;padding:9px;font:inherit;color-scheme:dark}
.x21-filter-actions{grid-column:1/-1;display:flex;gap:9px;flex-wrap:wrap}
.x21-audit-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.x21-audit-tools p{margin:0;color:#aeb8c6;font-size:12px}
.x21-user-pagination{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 0 2px;font-size:13px}
.x21-user-pagination a,.x21-code-audit{color:#ffbb83;text-decoration:underline;text-underline-offset:3px}
.x21-user-pagination span{color:#b3bec9}
.x21-code-audit{font-size:12px}
.x21-audit-filter input:focus-visible,.x21-user-pagination a:focus-visible{outline:3px solid #ffd3aa;outline-offset:2px}
@media(max-width:840px){.x21-audit-filter{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:440px){.x21-audit-filter{grid-template-columns:1fr}.x21-filter-actions>*{flex:1}.x21-audit-tools .x19-link{width:100%}}
