.wallet-editor{max-width:1240px;margin:auto;color:#19263a}
.wallet-render-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:24px}
.wallet-back{font-size:13px;color:#5b697e}
.wallet-heading{display:flex;align-items:center;justify-content:space-between;margin:26px 0}
.wallet-heading h1{font-size:32px;letter-spacing:-1px;font-weight:650;margin:4px 0}
.wallet-heading p:last-child{color:#6b7789;font-size:14px}
.wallet-eyebrow{font-size:10px;letter-spacing:2px;color:#748299;font-weight:600}
.wallet-badge{font-size:12px;border:1px solid #d9e0e7;border-radius:20px;padding:7px 13px;background:#fff}
.wallet-toolbar{display:flex;align-items:center;justify-content:space-between;padding:14px 0 22px;gap:14px}
.wallet-tabs{display:flex;background:#e9edf3;padding:4px;border-radius:10px}
.wallet-tabs button{padding:10px 22px;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer}
.wallet-tabs [aria-selected=true]{background:white;box-shadow:0 2px 5px #17243715}
.wallet-save{display:flex;align-items:center;gap:16px;font-size:12px;color:#758195}
.wallet-button{background:#263e64;color:white;padding:12px 22px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}
.wallet-button:disabled{opacity:.6}
.wallet-button-secondary{background:#eef2f7;color:#263e64}
.wallet-workspace{display:grid;grid-template-columns:minmax(280px, 400px) minmax(330px,1fr);border:1px solid #dde3eb;border-radius:16px;overflow:hidden;background:white}
.wallet-controls{border-right:1px solid #e4e8ef}
.wallet-control-section{padding:25px 28px;border-bottom:1px solid #e4e8ef}
.wallet-control-section:last-child{border:0}
.wallet-section-heading{display:flex;gap:10px;align-items:center}
.wallet-section-heading>span{font-size:10px;color:#8290a2;font-family:monospace}
.wallet-section-heading h2{font-weight:650;font-size:15px}
.wallet-control-section>p{color:#7a8596;font-size:12px;line-height:1.6;margin:7px 0 18px}
.wallet-color-label{display:flex;align-items:center;justify-content:space-between;font-size:13px}
.wallet-color-label>div{display:flex;align-items:center;gap:10px;padding:4px 10px 4px 4px;border:1px solid #dce3eb;border-radius:8px}
.wallet-color-label input{height:32px;width:34px;cursor:pointer;border:0;padding:0;background:transparent}
.wallet-color-label output{font-size:12px;font-family:monospace}
.wallet-hint{font-size:11px!important;line-height:1.65;color:#7a8596;margin:8px 0!important}
.wallet-switch{margin:14px 0;padding:0;border:0}
.wallet-switch legend{font-size:12px;font-weight:600;margin-bottom:8px}
.wallet-switch-options{display:flex;flex-wrap:wrap;gap:6px}
.wallet-switch-options label{cursor:pointer}
.wallet-switch-options input{position:absolute;opacity:0}
.wallet-switch-options span{display:block;border:1px solid #d8e0e9;border-radius:999px;padding:7px 10px;font-size:11px;color:#52647b;background:#fff}
.wallet-switch-options input:checked+span{border-color:#365983;background:#eaf0f8;color:#263e64;font-weight:600}
.wallet-upload{border:1px dashed #cbd5e1;border-radius:10px;padding:15px;margin-top:14px;background:#fafbfd}
.wallet-upload>label:first-child{display:flex;flex-direction:column;gap:3px;margin-bottom:12px;font-size:12px}
.wallet-upload label span{color:#7a8596;font-size:11px}
.wallet-upload input[type=file]{font-size:11px;max-width:100%;color:#67758b}
.wallet-upload input::file-selector-button{border:1px solid #d8e0e9;border-radius:6px;padding:7px 9px;background:white;color:#263e64;margin-right:8px;cursor:pointer}
.wallet-remove{font-size:11px;display:flex;gap:7px;align-items:center;margin-top:10px}
.wallet-field-option{display:flex;justify-content:space-between;align-items:center;padding:11px 0;font-size:12px;border-bottom:1px solid #f0f2f6}
.wallet-field-option input{accent-color:#365983;width:16px;height:16px}
.wallet-locked{font-size:10px;color:#8a96a7}
.wallet-preview-area{background:radial-gradient(ellipse at 50% 30%,#f5f7fb,#e9eef5);padding:24px 35px}
.wallet-preview-heading{display:flex;justify-content:space-between;font-size:9px;color:#7c899e;letter-spacing:1.5px;margin-bottom:26px}
.wallet-device{width:min(100%,302px);height:620px;margin:auto;background:#f6f7fa;border:6px solid #fff;border-radius:38px;box-shadow:0 20px 50px #263e6420,0 0 0 1px #d9e0e9;padding:0 10px 12px;overflow:hidden;display:flex;flex-direction:column}
.wallet-device-top{display:flex;justify-content:space-between;padding:12px 13px;font-size:10px;font-weight:700}
.wallet-device-nav{display:flex;justify-content:space-between;padding:8px 6px 18px;font-size:12px;font-weight:600}
.wallet-pass{overflow:auto;border-radius:13px;box-shadow:0 3px 6px #13213912;scrollbar-width:none;flex:1}
.wallet-pass::-webkit-scrollbar{display:none}
.wallet-pass [hidden]{display:none!important}
.wallet-pass-fields:empty{display:none}
.wallet-switch-options input:focus-visible+span{outline:3px solid #6d99d5;outline-offset:3px}
.wallet-pass-apple-background{position:relative;isolation:isolate;background-color:transparent!important}
.wallet-pass-apple-background::before{content:"";position:absolute;z-index:-1;inset:-18px;background-image:var(--wallet-bg-image);background-size:cover;background-position:center;filter:blur(14px);transform:scale(1.06)}
.wallet-pass-apple-background>*{position:relative;z-index:1}
.wallet-pass-apple-background .wallet-pass-header{align-items:flex-start;padding-top:17px}
.wallet-pass-apple-background .wallet-pass-header .wallet-logo{flex:0 0 auto;align-self:flex-start;max-width:112px;max-height:36px}
.wallet-pass-apple-background small{color:#000;opacity:1}
.wallet-pass-apple-background strong{color:#fff}
.wallet-pass-header{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:17px 15px}
.wallet-logo{object-fit:contain;max-width:100px;max-height:34px}
.wallet-pass-header>div{text-align:right;max-width:155px;overflow-wrap:anywhere}
.wallet-pass small{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.7px;opacity:.8;margin-bottom:3px}
.wallet-pass-header strong{font-size:11px;font-weight:500;display:block}
.wallet-strip{width:100%;aspect-ratio:1125/294;object-fit:cover}
.wallet-thumbnail{width:58px;height:58px;object-fit:contain;border-radius:8px;margin:10px 15px 0 auto}
.wallet-pass-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 12px;padding:21px 16px}
.wallet-pass-fields strong{font-size:12px;line-height:1.4;font-weight:500;display:block;overflow-wrap:anywhere}
.wallet-qr{background:#fff;color:#657084;border-radius:8px;width:156px;margin:14px auto 22px;padding:10px;text-align:center}
.wallet-qr svg{width:100%;height:auto;display:block}
.wallet-qr span{font-size:6px;letter-spacing:.5px;display:block;margin-top:4px}
.wallet-hero{width:100%;aspect-ratio:1125/294;object-fit:cover}
.wallet-pass-google{border-radius:22px}
.wallet-pass-google .wallet-pass-header{justify-content:flex-start}
.wallet-pass-google .wallet-pass-header>div{text-align:left;max-width:none}
.wallet-pass-google .wallet-logo{width:40px;height:40px;max-height:40px;border-radius:50%;background:#fff}
.wallet-pass-google .wallet-uploaded-google-logo{padding:6px;box-sizing:border-box}
.wallet-device-bottom{width:90px;height:4px;border-radius:10px;background:#152033;margin:23px auto 0}
.wallet-preview-caption{max-width:335px;margin:23px auto;font-size:11px;line-height:1.7;text-align:center;color:#7a879a}
.wallet-guidance{border:1px solid #d5dfe9;background:#ffffff75;border-radius:10px;padding:18px;max-width:390px;margin:25px auto 0;font-size:11px;color:#6d7d93;line-height:1.7}
.wallet-guidance h3{font-size:12px;color:#334c6b;font-weight:600;margin-bottom:8px}
.wallet-guidance p{margin-bottom:8px}
.wallet-guidance a{color:#365b8c;text-decoration:underline}
.wallet-footer{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#7a879a;padding:20px 0;line-height:1.7}
.wallet-footer button{text-decoration:underline;white-space:nowrap;cursor:pointer}
.wallet-errors{padding:15px;background:#fff0ee;color:#a32c26;border-radius:8px;font-size:13px;margin:12px 0}
.wallet-editor [hidden]{display:none!important}
.wallet-editor button:focus-visible,.wallet-editor input:focus-visible,.wallet-editor a:focus-visible{outline:3px solid #6d99d5;outline-offset:3px}
@media(max-width:950px){.wallet-workspace{grid-template-columns:1fr}
.wallet-controls{border-right:0}
.wallet-preview-area{padding:24px 18px}
.wallet-toolbar{align-items:stretch;flex-direction:column}
.wallet-save{justify-content:space-between}
.wallet-footer{flex-direction:column}
.wallet-heading h1{font-size:27px}
}
@media(prefers-reduced-motion:no-preference){.wallet-pass{transition:background-color .15s,color .15s}
}
