:root{--bg:#f6f7f9;--surface:#fff;--text:#1c2230;--muted:#5d6677;--border:#d9dde5;--accent:#2f5bd3;--accent-text:#fff;--danger:#c0392b;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#14171d;--surface:#1d222b;--text:#e7eaf0;--muted:#9aa3b5;--border:#333a47;--accent:#6d8ff0;--accent-text:#0e1320;--danger:#ef6b5b}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}header{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}header .brand{color:var(--text);font-weight:700;text-decoration:none}header nav{align-items:center;gap:1rem;display:flex}header nav a{color:var(--muted);text-decoration:none}header nav a.active{color:var(--accent);font-weight:600}main{max-width:1100px;margin:0 auto;padding:1rem}main.narrow{max-width:560px}h1{font-size:1.5rem}h2{margin-top:2rem;font-size:1.15rem}a{color:var(--accent)}input,select,textarea,button,.button{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:.55rem .75rem}input[type=color]{width:4rem;height:2.5rem;padding:.15rem}input[type=radio]{width:auto}button,.button{background:var(--accent);color:var(--accent-text);border-color:var(--accent);cursor:pointer;font-weight:600;text-decoration:none;display:inline-block}button:disabled{opacity:.6;cursor:default}button.secondary{color:var(--text);border-color:var(--border);background:0 0}button.danger{background:var(--danger);border-color:var(--danger)}button.link{color:var(--muted);background:0 0;border:none;padding:0;font-weight:400}.stack{flex-direction:column;gap:.9rem;display:flex}.stack label{flex-direction:column;gap:.3rem;display:flex}.stack label.inline{flex-direction:row;align-items:center;gap:.5rem}.row{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.row .grow{flex:1;min-width:12rem}fieldset{border:1px solid var(--border);border-radius:8px}.wide{width:100%}small{color:var(--muted)}.error{color:var(--danger);margin:0}.pre{white-space:pre-wrap}.toolbar{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.toolbar input{flex:1;min-width:10rem}.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.tile{text-decoration:none}.card-face{border-radius:14px;flex-direction:column;justify-content:space-between;min-height:120px;margin-bottom:1rem;padding:1rem;display:flex;box-shadow:0 2px 8px #00000026}.card-face-top{align-items:center;gap:.6rem;display:flex}.card-face-top strong{flex:1;font-size:1.1rem}.card-face-logo{background:#ffffff40;border-radius:50%;place-items:center;width:2.2rem;height:2.2rem;font-size:.85rem;font-weight:700;display:grid}.card-face-logo-img{object-fit:contain;object-position:left center;max-width:45%;max-height:2.4rem}.card-face-strip{aspect-ratio:1125/369;object-fit:cover;width:calc(100% + 2rem);margin:.75rem -1rem;display:block}.card-face-sub{opacity:.85;font-size:.9rem}.brand-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.brand-row{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.brand-row .grow{flex:1;min-width:0}.swatch{border:1px solid var(--border);border-radius:6px;flex-shrink:0;place-items:center;width:3.5rem;height:2.2rem;font-size:.8rem;font-weight:700;display:grid;overflow:hidden}.swatch img{object-fit:contain;max-width:90%;max-height:80%}.brand-editor{background:var(--surface);border:1px solid var(--accent);border-radius:10px;margin-bottom:1rem;padding:1rem}.brand-editor h3{margin:0}.brand-editor-cols{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;display:grid}code{background:var(--border);border-radius:4px;padding:0 .3em;font-size:.9em}.image-fields{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.image-field{flex-direction:column;gap:.4rem;display:flex}.image-field img{object-fit:contain;background:repeating-conic-gradient(var(--border) 0 25%, transparent 0 50%) 0 0 / 12px 12px;border-radius:6px;align-self:flex-start;max-width:100%;max-height:90px}.image-field .file-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.image-field input[type=file]{max-width:100%}.barcode{text-align:center;background:#fff;border-radius:10px;padding:.5rem}.barcode-loading{color:#5d6677;place-items:center;min-height:120px;display:grid}.barcode svg{max-width:100%;height:auto;max-height:220px}.details{grid-template-columns:max-content 1fr;gap:.3rem 1rem;display:grid}.details dt{color:var(--muted)}.details dd{margin:0}.actions{gap:.5rem;margin-top:1rem;display:flex}.history{color:var(--muted);padding-left:1.2rem;font-size:.9rem}.members{padding-left:1.2rem}.members li{margin-bottom:.25rem}button.link.danger-link{color:var(--danger);margin-left:.75rem;font-size:.9rem}.wallet-details{margin-top:1rem}.wallet-details summary{cursor:pointer;color:var(--accent);margin-bottom:.75rem}.wallet-preview{max-width:340px;margin:0 auto 1.5rem}.wallet-preview figcaption{text-align:center;margin-top:.4rem}.wallet-pass{border-radius:12px;flex-direction:column;min-height:420px;padding:.7rem .8rem .9rem;display:flex;box-shadow:0 6px 18px #00000040}.wallet-header{align-items:center;gap:.5rem;min-height:2.2rem;display:flex}.wallet-logo{object-fit:contain;object-position:left center;max-width:50%;max-height:2.1rem}.wallet-logo-text{font-size:1.05rem;font-weight:600}.wallet-strip{aspect-ratio:1125/369;object-fit:cover;width:calc(100% + 1.6rem);margin:.6rem -.8rem 0;display:block}.wallet-strip-code{background:#fff;place-items:center;display:grid;overflow:hidden}.wallet-strip-code .barcode{border-radius:0;width:100%;padding:.2rem}.wallet-strip-code .barcode svg{max-height:100px}.wallet-fields{justify-content:space-between;gap:1rem;margin-top:.8rem;display:flex}.wallet-fields>div:last-child{text-align:right}.wallet-label{text-transform:uppercase;letter-spacing:.04em;opacity:.75;font-size:.68rem}.wallet-value{word-break:break-all;font-size:1.05rem}.wallet-code{justify-content:center;margin-top:auto;padding-top:1rem;display:flex}.wallet-code .barcode{border-radius:6px;width:55%;padding:.3rem}.wallet-code .barcode svg{width:100%;max-height:130px}
