.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.app-status{margin:.75rem 0;padding:.7rem .9rem;border-radius:8px;border:1px solid;font-size:.95rem}.app-status--info{background:#eef6ff;border-color:#b6d4f5;color:#0b3d6e}.app-status--ok{background:#ebf8f0;border-color:#9fd8b5;color:#0f5132}.app-status--error{background:#fdeeee;border-color:#f0b4b4;color:#7a1616}.q-app{display:grid;gap:1rem}.q-drop{display:grid;place-items:center;gap:.35rem;text-align:center;padding:2.25rem 1rem;border:2px dashed var(--green, #1d9650);border-radius:14px;background:var(--green-50, #f4faf6);cursor:pointer;transition:background .15s}.q-drop:hover,.q-drop.is-over,#q-file:focus-visible+.q-drop{background:#e2f3e8;outline:3px solid var(--green, #1d9650);outline-offset:2px}.q-drop__title{font-weight:700;font-size:1.1rem;color:var(--ink, #17212b)}.q-drop__hint{color:var(--ink-2, #4f5b66);font-size:.9rem}.q-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.q-card__btn{display:grid;text-align:left;gap:.1rem;min-width:11rem;max-width:18rem;padding:.55rem .8rem;border:1px solid #cfd8df;border-radius:10px;background:#fff;cursor:pointer;font:inherit;color:inherit}.q-card.is-active .q-card__btn{border-color:var(--green, #1d9650);box-shadow:0 0 0 2px var(--green, #1d9650) inset}.q-card__name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.q-card__meta{font-size:.85rem;color:var(--ink-2, #4f5b66)}.q-editor{border:1px solid #dde3e8;border-radius:14px;padding:1rem;background:#fff}.q-editor__grid{display:grid;gap:1.25rem}@media(min-width:860px){.q-editor__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}}.q-editor__title{font-size:1.15rem;margin:0 0 .75rem;overflow-wrap:anywhere}.q-viewer{aspect-ratio:4 / 3;width:100%;border-radius:10px;background:linear-gradient(#f7f9fa,#e9eef2);display:grid;place-items:center;overflow:hidden}.q-viewer canvas{width:100%!important;height:100%!important;display:block;touch-action:none}.q-viewer__fallback{color:var(--ink-2, #4f5b66);padding:1rem;text-align:center}.q-fields{display:grid;gap:.85rem}.q-row{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr))}.q-field{display:grid;gap:.3rem}.q-field__label{font-weight:600;font-size:.92rem}.q-field__help{color:var(--ink-2, #4f5b66);font-size:.82rem}.q-field input,.q-field select,.q-field textarea,.adm-filters input,.adm-filters select,.cart-qty{font:inherit;padding:.55rem .65rem;border:1px solid #b9c4cc;border-radius:8px;background:#fff;color:inherit;width:100%;min-height:44px;box-sizing:border-box}.cart-qty{width:5rem}.q-field input:focus-visible,.q-field select:focus-visible,.q-field textarea:focus-visible{outline:3px solid var(--green, #1d9650);outline-offset:1px}.q-check{display:flex;gap:.5rem;align-items:center}.q-seg{display:flex;flex-wrap:wrap;gap:.4rem}.q-seg__opt{font:inherit;padding:.55rem .85rem;min-height:44px;border:1px solid #b9c4cc;border-radius:999px;background:#fff;color:inherit;cursor:pointer}.q-seg__opt[aria-checked=true],.q-seg__opt[aria-selected=true]{background:var(--green-700, #15703c);border-color:var(--green-700, #15703c);color:#fff}.q-facts{display:grid;grid-template-columns:auto 1fr;gap:.3rem .9rem;margin:.8rem 0 0;font-size:.95rem}.q-facts dt{color:var(--ink-2, #4f5b66)}.q-facts dd{margin:0}.q-price{margin-top:1rem;padding-top:1rem;border-top:1px solid #e3e8ec}.q-price__unit{font-size:1.1rem;margin:0}.q-price__unit strong{font-size:2rem;color:var(--ink, #17212b)}.q-price__line{margin:.25rem 0 0}.q-price__note{color:var(--ink-2, #4f5b66);font-size:.88rem}.q-price__wait{color:var(--ink-2, #4f5b66)}.q-add{width:100%;margin-top:.5rem}.app-form{display:grid;gap:.8rem;max-width:34rem}.btn--link{background:none;border:0;padding:0;min-height:0;color:var(--green-700, #15703c);text-decoration:underline;font-weight:500}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.cart-table,.adm-table{width:100%;border-collapse:collapse;font-size:.95rem}.cart-table th,.cart-table td,.adm-table th,.adm-table td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid #e3e8ec;vertical-align:top}.adm-table tr.adm-group td{background:#f2f6f8;border-top:2px solid #c9d4dc;padding-top:.7rem}.adm-table td.adm-thumb{width:72px;padding:.3rem}.adm-thumb img{display:block;width:64px;height:64px;object-fit:contain;background:#f4f7f9;border-radius:6px}.num{text-align:right!important;white-space:nowrap}.cart-opts{color:var(--ink-2, #4f5b66);font-size:.88rem}.cart-problem{color:#7a1616;font-size:.88rem;margin-top:.2rem}.is-blocked td{background:#fff8f8}.cart-totals{display:grid;grid-template-columns:1fr auto;gap:.35rem 1.5rem;max-width:22rem;margin:1.25rem 0 1rem auto}.cart-totals dd{margin:0;text-align:right}.cart-total{font-weight:700;font-size:1.1rem}.cart-gst{color:var(--ink-2, #444a63);font-size:.9rem}.cart-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.acct-orders{list-style:none;padding:0;display:grid;gap:.75rem}.acct-order{border:1px solid #dde3e8;border-radius:12px;padding:.8rem 1rem}.acct-order__head{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center}.pill{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.8rem;font-weight:600;background:#e9eef2;color:#26323c}.pill--paid{background:#fff3cd;color:#664d03}.pill--printing{background:#cfe2ff;color:#084298}.pill--shipped{background:#d1e7dd;color:#0f5132}.pill--cancelled{background:#f8d7da;color:#842029}.adm-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.adm-filters>*{max-width:18rem}.pre{white-space:pre-wrap}.order-items{padding-left:1.2rem}.lead{font-size:1.15rem}.q-slots{display:grid;gap:.5rem}.q-slot{display:grid;grid-template-columns:26px auto 1fr;gap:.6rem;align-items:center}.q-slot__label{font-size:.9rem;color:var(--ink-2, #444a63);white-space:nowrap}.q-slot__swatch{display:inline-block;width:22px;height:22px;border-radius:6px;border:1px solid rgba(0,0,0,.25);vertical-align:middle}.q-mc{list-style:none;padding:0;margin:.5rem 0;display:grid;gap:.25rem;font-size:.92rem}.q-mc .q-slot__swatch{width:14px;height:14px;border-radius:3px}.q-progress{margin:.25rem 0 .5rem}.q-progress__label{margin:0 0 .4rem;font-size:.95rem}.q-progress__track{height:10px;border-radius:999px;background:var(--line, #e3e7ec);overflow:hidden}.q-progress__fill{height:100%;width:0;border-radius:inherit;background:var(--brand, #1d9650);transition:width .5s linear}.q-progress.is-waiting .q-progress__fill{width:35%;animation:q-progress-wait 1.6s ease-in-out infinite}@keyframes q-progress-wait{0%{transform:translate(-100%)}to{transform:translate(300%)}}@media(prefers-reduced-motion:reduce){.q-progress__fill{transition:none}.q-progress.is-waiting .q-progress__fill{animation:none}}.qt-lines{display:grid;gap:1rem;margin:.5rem 0 1rem}.qt-line{border:1px solid #e3e8ec;border-radius:10px;padding:.9rem 1rem;background:#fafbfc}.qt-line__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.qt-link{flex:1;min-width:0;font-family:ui-monospace,monospace;font-size:.85rem}.pay-btn{font-size:1.1rem;padding:.85rem 1.6rem}.q-bulk{color:#1d7a45;font-weight:600;font-size:.9rem}.q-bulk-note{margin-top:.25rem}.cart-code{margin:1rem 0;max-width:28rem}.cart-code__row{display:flex;gap:.5rem;align-items:center}.cart-code__row input{flex:1;min-width:0;text-transform:uppercase}.acct-code{font-size:1.4rem;letter-spacing:.08em}.adm-search{width:100%;max-width:24rem;margin:.5rem 0 1rem}.adm-vouchers{margin:0;padding-left:1rem}.adm-vouchers .is-used,.adm-table tr.is-off td{color:#7a8691}.adm-codeform{max-width:30rem;margin-bottom:2rem}.adm-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.adm-email{margin:1.5rem 0;padding:1rem;border:1px solid #d5dde3;border-radius:10px}.adm-email summary{cursor:pointer}.adm-email textarea{width:100%;font:inherit}.acct-welcome{background:#eef8f1;border:1px solid #b9e0c6;border-radius:12px;padding:1rem 1.25rem;margin-bottom:1.5rem}.cart-codes{margin:.5rem 0;padding-left:1.1rem}.cm-picker{margin:1rem 0}.cm-people{max-height:22rem;overflow-y:auto;border:1px solid #e3e8ec;border-radius:8px;padding:.5rem .75rem}.cm-person{display:block;padding:.2rem 0}.cm-had{color:#b35c00}.adm-review{margin-top:2rem;padding-top:1rem;border-top:1px solid #e3e8ec}.q-emailquote{margin-top:1rem}.q-emailquote summary{cursor:pointer;color:#187f44}.q-emailquote__form{margin-top:.5rem;max-width:26rem}
