:root{--bg: #fafaf7;--surface: #ffffff;--text: #1f2421;--muted: #6b7470;--border: #e6e4dd;--primary: #2a9d8f;--primary-dark: #21807a;--primary-soft: #e8f5f3;--accent: #e63946;--warn-bg: #fff4d6;--warn-border: #f0c04d;--gold: #f1a208;--dark: #1f2421;--shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--radius: 10px;--radius-sm: 6px;--max-width: 1200px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--primary-dark);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}.app{min-height:100%;display:flex;flex-direction:column}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 1rem}main.container{flex:1;padding-top:2rem;padding-bottom:3rem}.navbar{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.navbar-inner{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1rem}.logo{display:flex;align-items:center;gap:.5rem;color:var(--text);font-weight:700;font-size:1.15rem}.logo:hover{text-decoration:none}.logo-mark{font-size:1.4rem}.nav-links{display:flex;gap:1rem;flex:1}.nav-links a{color:var(--muted);font-weight:500;padding:.4rem 0;border-bottom:2px solid transparent}.nav-links a.active{color:var(--text);border-bottom-color:var(--primary)}.nav-actions{display:flex;align-items:center;gap:.75rem}.user-chip{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--muted);padding:.25rem .5rem;border-radius:999px}.user-chip:hover{background:var(--bg);text-decoration:none}.user-chip small{font-size:.75rem}.btn{display:inline-block;padding:.5rem 1rem;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;border:1px solid transparent;cursor:pointer;background:transparent;color:var(--text);font-family:inherit}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);text-decoration:none}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border)}.btn-ghost:hover{background:var(--bg);text-decoration:none}.btn-danger{background:transparent;color:var(--accent);border-color:var(--border)}.btn-danger:hover{background:#fdecea}.btn[disabled],.btn:disabled{opacity:.5;cursor:not-allowed}.avatar{border-radius:50%;object-fit:cover;background:var(--bg);flex-shrink:0}.avatar-fallback{display:inline-flex;align-items:center;justify-content:center;background:var(--primary-soft);color:var(--primary-dark);font-weight:700;line-height:1}.hero{background:linear-gradient(135deg,#e8f5f3,#fef6e4);padding:2.5rem 1.5rem;border-radius:var(--radius);margin-bottom:1.5rem}.hero h1{margin:0 0 .5rem;font-size:2rem}.hero p{margin:0;color:var(--muted)}.filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem}.filters-grid input[type=search],.filters-grid input[type=text],.filters-grid select{padding:.6rem .9rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font:inherit}.filters-grid input[type=search]{flex:1;min-width:200px}.view-toggle{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.view-toggle button{background:var(--surface);border:none;cursor:pointer;padding:.5rem .9rem;font:inherit}.view-toggle button.active{background:var(--primary);color:#fff}.cat-strip{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:999px;font-size:.85rem;cursor:pointer;color:var(--text);font-family:inherit}.chip:hover{background:var(--bg);text-decoration:none}.chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.chip-link{margin-left:auto;color:var(--primary-dark);border-style:dashed}.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;color:var(--text);transition:transform .12s ease,box-shadow .12s ease;position:relative}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow);text-decoration:none}.card-thumb{background:var(--bg);position:relative;aspect-ratio:1.4 / 1;display:flex;align-items:center;justify-content:center;overflow:hidden}.card-thumb img{width:100%;height:100%;object-fit:cover}.card-emoji{font-size:3.5rem}.badge-sold{position:absolute;top:.5rem;left:.5rem;background:#1f2421d9;color:#fff;font-size:.7rem;font-weight:700;padding:.2rem .5rem;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em}.card-sold .card-thumb img{filter:grayscale(.5) brightness(.95)}.card-body{padding:.75rem 1rem 1rem}.card-title{margin:0 0 .25rem;font-size:1rem}.card-meta{margin:0;color:var(--muted);font-size:.8rem}.card-price{margin:.5rem 0 0;font-weight:700;font-size:1.1rem}.card-price span{color:var(--muted);font-weight:400;font-size:.85rem}.card-stock{margin:.25rem 0 0;font-size:.8rem;color:var(--muted)}.form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;max-width:540px}.form h2,.form h3{margin-top:0}.form-row{margin-bottom:1rem;display:flex;flex-direction:column}.form-row label{font-size:.85rem;font-weight:600;color:var(--muted);margin-bottom:.3rem;display:flex;flex-direction:column}.form-row input,.form-row textarea,.form-row select{padding:.55rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;background:var(--surface);margin-top:.25rem;font-family:inherit}.form-row textarea{min-height:90px;resize:vertical}.form-row-split{display:grid;grid-template-columns:1fr 1fr;gap:1rem;flex-direction:row}.form-actions{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.form-error{background:#fdecea;color:#b3261e;border:1px solid #f5c2bd;padding:.6rem .8rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.9rem}.form-success{background:#e6f4ea;color:#1e6e34;border:1px solid #a8d5b5;padding:.6rem .8rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.9rem}.btn-link{background:none;border:none;padding:0;color:var(--primary);text-decoration:underline;cursor:pointer;font-size:inherit;font-family:inherit}.btn-link:hover{opacity:.8}.form-help{font-size:.8rem;color:var(--muted);margin-top:.25rem}.role-choice{display:flex;gap:.5rem;margin-top:.25rem}.role-choice button{flex:1;padding:.6rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;font:inherit}.role-choice button.active{border-color:var(--primary);background:var(--primary-soft)}.photo-upload{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.25rem}.photo-preview{width:96px;height:96px;background:var(--bg);border:1px dashed var(--border);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.photo-preview.round{border-radius:50%}.photo-preview.square{border-radius:var(--radius-sm)}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-placeholder{font-size:1.6rem;color:var(--muted)}.photo-actions{display:flex;gap:.5rem;flex-wrap:wrap}.wizard-steps{display:flex;gap:.5rem;padding:0;margin:0 0 1.5rem;list-style:none;border-bottom:1px solid var(--border);padding-bottom:.5rem}.wizard-steps li{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--muted);padding:.25rem .5rem;border-radius:var(--radius-sm)}.wizard-steps li.active{color:var(--text);background:var(--primary-soft);font-weight:600}.wizard-steps li.done{color:var(--primary-dark)}.wizard-steps .step-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--border);color:var(--text);font-size:.75rem;font-weight:700}.wizard-steps li.active .step-num{background:var(--primary);color:#fff}.wizard-steps li.done .step-num{background:var(--primary-dark);color:#fff}.cat-grid{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-top:.25rem}.cat-option{display:flex;align-items:center;gap:.5rem;padding:.75rem;cursor:pointer;font:inherit;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.cat-option:hover{background:var(--bg)}.cat-option.active{border-color:var(--primary);background:var(--primary-soft)}.cat-emoji{font-size:1.4rem}.sub-grid{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.25rem}.sub-chip{display:inline-block;padding:.35rem .7rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);cursor:pointer;font-size:.85rem;font-family:inherit;color:var(--text)}.sub-chip:hover{background:var(--bg);text-decoration:none}.sub-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.detail{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.detail-thumb{text-align:center;background:var(--bg);border-radius:var(--radius);padding:1.5rem;min-height:240px;display:flex;align-items:center;justify-content:center;overflow:hidden}.detail-thumb img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius)}.detail-body h1{margin-top:0}.detail-price{font-size:1.4rem;font-weight:700;margin:.5rem 0}.detail-meta{color:var(--muted);font-size:.9rem;margin-bottom:1rem}.badge-sold-inline{background:#1f2421d9;color:#fff;font-size:.7rem;padding:.2rem .5rem;border-radius:var(--radius-sm);vertical-align:middle;text-transform:uppercase;letter-spacing:.05em}@media (max-width: 720px){.detail{grid-template-columns:1fr}}.seller-card{margin:1.25rem 0;padding:1rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:.75rem}.seller-card-link{display:flex;gap:.75rem;align-items:center;color:var(--text)}.seller-card-link:hover{text-decoration:none}.seller-card-link strong{display:block}.seller-card-link small{display:block;color:var(--muted);font-size:.8rem}.thumbs-display{display:inline-flex;line-height:1}.thumbs-sm{font-size:.95rem}.thumbs-md{font-size:1.1rem}.thumbs-lg{font-size:1.8rem}.thumbs-display.is-down{filter:hue-rotate(0deg)}.thumbs-input{display:inline-flex;gap:.5rem;margin-top:.25rem}.thumb-btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem .9rem;cursor:pointer;font-size:1.5rem;line-height:1;opacity:.5;transition:opacity .12s ease,background .12s ease,border-color .12s ease}.thumb-btn:hover{opacity:.85;background:var(--bg)}.thumb-btn.on{opacity:1}.thumb-btn.up.on{border-color:var(--primary);background:var(--primary-soft)}.thumb-btn.down.on{border-color:var(--accent);background:#fdecea}.thumbs-lg .thumb-btn{font-size:2rem;padding:.6rem 1.1rem}.thumbs-summary{display:inline-flex;align-items:center;gap:.3rem;font-weight:600;font-size:.95rem}.thumbs-summary small{color:var(--muted);font-weight:400}.thumbs-summary.good{color:var(--primary-dark)}.thumbs-summary.bad{color:var(--accent)}.thumbs-summary.muted{color:var(--muted);font-weight:400}.badge-row{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid}.badge-trust{background:var(--primary-soft);color:var(--primary-dark);border-color:#b9dcd6}.badge-zip{background:#eef3ff;color:#2c4cb0;border-color:#c8d4f0}.badge-seasonal{background:#fff4d6;color:#7a5a08;border-color:var(--warn-border)}.empty-state{text-align:center;padding:3rem 1rem;color:var(--muted)}.empty-state h2{color:var(--text);margin-bottom:.25rem}.page-loader{padding:2rem;text-align:center;color:var(--muted)}.footer{border-top:1px solid var(--border);padding:1rem;text-align:center;font-size:.85rem;color:var(--muted)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:.5rem;flex-wrap:wrap}.section-header h1,.section-header h2{margin:0}.seller-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.seller-row{display:grid;grid-template-columns:60px 1fr 120px 140px 200px;gap:1rem;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.seller-row:last-child{border-bottom:none}.seller-row .item-emoji{font-size:1.5rem;text-align:center}.seller-row strong{display:block}.seller-row small{color:var(--muted)}@media (max-width: 700px){.seller-row{grid-template-columns:50px 1fr 1fr}.seller-row .col-hide{display:none}}.cat-page{display:grid;grid-template-columns:280px 1fr;gap:1.5rem}.cat-page-side{display:flex;flex-direction:column;gap:1rem}.cat-page-title{margin:0 0 .25rem;font-size:1.25rem}.cat-page-other ul{list-style:none;padding:0;margin:.25rem 0 0}.cat-page-other li{padding:.25rem 0;font-size:.9rem}.filter-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem}.filter-card .form-row{margin-bottom:.75rem}.filter-card .form-row:last-child{margin-bottom:0}@media (max-width: 800px){.cat-page{grid-template-columns:1fr}}.cat-nav{display:flex;flex-direction:column;gap:.4rem}.cat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.cat-tile.active{border-color:var(--primary)}.cat-tile-head{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;color:var(--text);font-weight:600}.cat-tile-head:hover{background:var(--bg);text-decoration:none}.cat-tile.active .cat-tile-head{background:var(--primary-soft);color:var(--primary-dark)}.cat-subs{list-style:none;padding:.5rem .75rem .75rem;margin:0;display:flex;flex-wrap:wrap;gap:.3rem;border-top:1px solid var(--border)}.map-view{height:540px;border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;background:var(--bg)}.you-are-here{width:18px;height:18px;background:var(--primary);border:3px solid white;border-radius:50%;box-shadow:0 0 0 2px var(--primary),0 1px 4px #00000040;opacity:.65}.you-are-here.is-active{opacity:1}.zip-here{width:18px;height:18px;background:#fff;border:3px solid var(--primary);border-radius:50%;box-shadow:0 0 0 2px #fff,0 1px 4px #00000040;opacity:.65}.zip-here.is-active{opacity:1;box-shadow:0 0 0 2px var(--primary),0 1px 4px #00000040}.map-view-empty{display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem}.map-view-empty p{margin:.25rem 0}.loc-bar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .75rem;margin-bottom:1rem}.loc-bar-pills{display:inline-flex;flex-wrap:wrap;gap:.4rem;align-items:center}.loc-bar-pill{display:inline-flex;align-items:center;gap:.4rem;background:var(--primary-soft);color:var(--primary-dark);padding:.35rem .75rem;border-radius:999px;font-size:.9rem;font-weight:600}.loc-bar-pill-btn{border:1px solid transparent;cursor:pointer;font:inherit;font-weight:600;opacity:.65}.loc-bar-pill-btn:hover{opacity:.9}.loc-bar-pill-btn.is-active{opacity:1;border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}.loc-bar-pill-btn[disabled]{cursor:not-allowed;opacity:.4}.loc-pill-x{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:.15rem;border-radius:50%;font-size:.85rem;line-height:1;color:var(--primary-dark);background:#fff6;cursor:pointer}.loc-pill-x:hover{background:#ffffffd9}.loc-icon{font-size:1rem}.loc-coords{color:var(--muted);font-weight:400;font-size:.75rem;margin-left:.25rem}.loc-bar-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;flex:1;min-width:0}.loc-zip-form{display:inline-flex;gap:.4rem;align-items:center}.loc-zip-form input{padding:.45rem .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;width:90px}.loc-radius{display:inline-flex;align-items:center;gap:.5rem;margin-left:auto;font-size:.85rem;color:var(--muted)}.loc-radius input[type=range]{width:130px}.loc-radius select{padding:.35rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;background:var(--surface)}.loc-hint{flex-basis:100%;margin:.25rem 0 0;color:var(--muted);font-size:.8rem}.loc-err{color:var(--accent)}@media (max-width: 600px){.loc-radius{margin-left:0}}.profile{padding:0}.profile-head{display:grid;grid-template-columns:auto 1fr auto;gap:1.25rem;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.profile-head h1{margin:0 0 .25rem}.profile-head-meta{min-width:0}@media (max-width: 700px){.profile-head{grid-template-columns:1fr;text-align:left}}.review-list{list-style:none;padding:0;margin:.5rem 0 0}.review-item{border-bottom:1px solid var(--border);padding:.75rem 0}.review-item:last-child{border-bottom:none}.review-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.9rem;margin-bottom:.25rem}.review-head small{color:var(--muted)}.review-item p{margin:.25rem 0 0}.modal-backdrop{position:fixed;inset:0;background:#1f242180;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal{background:var(--surface);border-radius:var(--radius);width:100%;max-width:480px;box-shadow:0 8px 24px #0000002e;display:flex;flex-direction:column;max-height:90vh}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.modal-head h3{margin:0}.modal-body{padding:1rem;overflow-y:auto}.messages{display:grid;grid-template-columns:320px 1fr;gap:1rem;height:calc(100vh - 200px);min-height:480px}.messages-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-y:auto;padding:.75rem 0}.messages-list ul{list-style:none;padding:0;margin:0}.thread-item{display:grid;grid-template-columns:40px 1fr auto;gap:.6rem;align-items:center;padding:.6rem 1rem;color:var(--text)}.thread-item:hover{background:var(--bg);text-decoration:none}.thread-item.active{background:var(--primary-soft)}.thread-meta{min-width:0}.thread-meta strong{display:block;font-size:.95rem}.thread-meta small{display:block;color:var(--muted);font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-time{color:var(--muted);font-size:.75rem}.messages-thread{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden}.thread{display:flex;flex-direction:column;height:100%}.thread-head{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.thread-head strong{display:block}.thread-head small{display:block;color:var(--muted);font-size:.8rem}.thread-body{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.bubble{max-width:70%;padding:.6rem .85rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);align-self:flex-start}.bubble.mine{align-self:flex-end;background:var(--primary-soft);border-color:#b9dcd6}.bubble p{margin:0}.bubble small{display:block;color:var(--muted);font-size:.7rem;margin-top:.25rem}.thread-input{display:flex;gap:.5rem;padding:.75rem;border-top:1px solid var(--border)}.thread-input input{flex:1;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit}@media (max-width: 800px){.messages{grid-template-columns:1fr;height:auto}.messages-list{max-height:280px}.messages-thread{min-height:380px}}.pickup-code-block{margin:1rem 0;padding:1rem 1.25rem;background:var(--primary-soft);border:1px dashed var(--primary);border-radius:var(--radius);text-align:center}.pickup-code-label{font-size:.8rem;font-weight:600;color:var(--primary-dark);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem}.pickup-code-chars{display:inline-flex;gap:.4rem;justify-content:center}.pickup-code-char{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:3rem;background:var(--surface);border:1px solid var(--primary);border-radius:var(--radius-sm);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:1.6rem;font-weight:700;color:var(--primary-dark)}.payment-block{margin:1rem 0;padding:1rem 1.25rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.payment-block legend{padding:0 .4rem;font-weight:700;color:var(--text)}.order-list{display:flex;flex-direction:column;gap:.75rem}.order-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;gap:.5rem}.order-card-compact{flex-direction:row;align-items:center;justify-content:space-between}.order-card-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}.order-card-head strong{display:block}.order-card-head small{display:block;color:var(--muted);font-size:.85rem}.order-card-actions{display:flex;gap:.5rem;flex-wrap:wrap}.order-card-compact strong{display:block}.order-card-compact small{display:block;color:var(--muted);font-size:.85rem}.order-status{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border:1px solid transparent;white-space:nowrap}.order-status-awaiting{background:var(--warn-bg);color:#7a5a08;border-color:var(--warn-border)}.order-status-completed{background:var(--primary-soft);color:var(--primary-dark);border-color:#b9dcd6}.order-status-no_show{background:#fdecea;color:#b3261e;border-color:#f5c2bd}.order-status-cancelled{background:var(--bg);color:var(--muted);border-color:var(--border)}.redeem-list{display:flex;flex-direction:column;gap:.75rem}.redeem-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:start}.redeem-row-meta{display:flex;flex-direction:column;min-width:0}.redeem-row-meta small{color:var(--muted);font-size:.85rem}.redeem-row-notes{font-style:italic}.redeem-row-form{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.redeem-row-form input{padding:.55rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:1.05rem;letter-spacing:.15em;text-transform:uppercase;width:130px}@media (max-width: 700px){.redeem-row{grid-template-columns:1fr}}.dashboard-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.range-toggle{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.range-toggle button{background:var(--surface);border:none;padding:.45rem .9rem;font:inherit;cursor:pointer;color:var(--muted)}.range-toggle button.active{background:var(--primary);color:#fff}.kpi-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:1.5rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.2rem}.stat-card-primary{border-color:var(--primary);background:var(--primary-soft)}.stat-card-warn{border-color:var(--warn-border);background:var(--warn-bg)}.stat-label{font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:1.6rem;font-weight:700;line-height:1.2}.stat-card-primary .stat-value{color:var(--primary-dark)}.stat-hint{font-size:.8rem;color:var(--muted)}.dash-section{margin-bottom:1.5rem}.dash-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 800px){.dash-grid-2{grid-template-columns:1fr}}.dash-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem}.dash-panel h3{margin:0 0 .75rem;font-size:1rem}.status-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.status-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-radius:var(--radius-sm);background:var(--bg)}.status-row strong{font-variant-numeric:tabular-nums}.status-row.tone-warn{background:var(--warn-bg);color:#7a5a08}.status-row.tone-ok{background:var(--primary-soft);color:var(--primary-dark)}.status-row.tone-bad{background:#fdecea;color:#b3261e}.status-row.tone-muted{background:var(--bg);color:var(--muted)}.top-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.top-items li{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-radius:var(--radius-sm);background:var(--bg)}.top-items li span{color:var(--muted);font-size:.85rem}.chart-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem}.chart-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.5rem}.chart-title{font-weight:600;font-size:.95rem}.chart-total{font-weight:700;color:var(--primary-dark);font-variant-numeric:tabular-nums}.revenue-chart{width:100%;height:auto;display:block}.revenue-chart .bar{fill:var(--primary);transition:fill .12s ease}.revenue-chart .bar-hover{fill:var(--primary-dark)}.revenue-chart .chart-tick{font-size:10px;fill:var(--muted)}.revenue-chart .chart-tip-bg{fill:var(--text);opacity:.92}.revenue-chart .chart-tip-line1{fill:#fff;font-size:10px}.revenue-chart .chart-tip-line2{fill:#fff;font-size:12px;font-weight:700}.orders-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.orders-table-toolbar{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;border-bottom:1px solid var(--border);flex-wrap:wrap}.orders-table-toolbar input[type=search]{flex:1;min-width:160px;padding:.5rem .7rem;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit}.orders-table-toolbar select{padding:.5rem .7rem;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;background:var(--surface)}.orders-table-count{margin-left:auto;color:var(--muted);font-size:.85rem;white-space:nowrap}.orders-table-scroll{overflow-x:auto}.orders-table{width:100%;border-collapse:collapse;font-size:.9rem}.orders-table th,.orders-table td{padding:.6rem .75rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.orders-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);cursor:pointer;user-select:none;white-space:nowrap}.orders-table tbody tr:hover{background:var(--bg)}.orders-table tbody tr:last-child td{border-bottom:none}.code-inline{font-family:ui-monospace,SF Mono,Menlo,monospace;background:var(--bg);padding:.15rem .4rem;border-radius:4px;font-size:.85rem}.awaiting-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--radius);flex-wrap:wrap}.awaiting-summary strong{font-size:1.15rem}.awaiting-summary small{display:block;color:var(--muted);font-size:.85rem;margin-top:.15rem}@media (max-width: 640px){html,body{overflow-x:hidden}.container{padding:0 .75rem}main.container{padding-top:1rem;padding-bottom:2rem}.navbar-inner{flex-wrap:wrap;gap:0;padding:0;align-items:stretch}.logo{flex:1;padding:.6rem .75rem;font-size:1rem}.nav-actions{padding:.4rem .75rem;gap:.4rem;flex-shrink:0}.nav-actions .btn{padding:.4rem .65rem;font-size:.82rem}.user-chip small{display:none}.user-chip{padding:.2rem .4rem;gap:.4rem;font-size:.85rem}.nav-links{flex-basis:100%;flex:unset;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-top:1px solid var(--border);display:flex;padding:0 .5rem;gap:0}.nav-links::-webkit-scrollbar{display:none}.nav-links a{white-space:nowrap;padding:.6rem .75rem;min-height:40px;display:inline-flex;align-items:center;border-bottom:none;border-bottom:2px solid transparent;font-size:.9rem}.nav-links a.active{border-bottom-color:var(--primary)}.hero{padding:1.25rem 1rem;border-radius:var(--radius-sm);margin-bottom:1rem}.hero h1{font-size:1.45rem;line-height:1.25}.hero p{font-size:.9rem}.filters.filters-grid{flex-direction:column;align-items:stretch;gap:.5rem}.filters-grid input[type=search]{min-width:unset;width:100%;font-size:1rem}.view-toggle{align-self:flex-start}.view-toggle button{padding:.5rem 1rem;min-height:40px}.cat-strip{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:.25rem;margin-bottom:1rem;-webkit-mask-image:linear-gradient(to right,black 90%,transparent 100%);mask-image:linear-gradient(to right,black 90%,transparent 100%)}.cat-strip::-webkit-scrollbar{display:none}.chip{white-space:nowrap;min-height:36px}.loc-bar{gap:.5rem;padding:.5rem .75rem}.loc-bar-actions{flex-direction:column;align-items:flex-start;width:100%;gap:.4rem}.loc-radius{margin-left:0;width:100%;flex-wrap:wrap;gap:.4rem}.loc-radius input[type=range]{flex:1;width:unset;min-width:0}.loc-zip-form{flex-wrap:wrap;gap:.4rem}.loc-zip-form input{width:90px;font-size:1rem}.loc-coords{display:none}.loc-bar-pill,.loc-bar-pill-btn{min-height:36px}.grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:.75rem}.card-emoji{font-size:2.8rem}.map-view{height:300px}.form{padding:1rem;max-width:100%!important}.form-row-split{grid-template-columns:1fr;gap:0}.form-row input,.form-row textarea,.form-row select,.filters-grid input,.loc-zip-form input,.thread-input input,.redeem-row-form input,.orders-table-toolbar input{font-size:1rem}.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.form-actions{flex-direction:column;gap:.5rem}.form-actions .btn{width:100%}.pickup-code-chars{gap:.3rem}.pickup-code-char{width:2.1rem;height:2.7rem;font-size:1.35rem}.detail{padding:1rem;gap:1rem}.detail-thumb{min-height:180px;padding:1rem}.detail-body h1{font-size:1.4rem}.seller-row{grid-template-columns:44px 1fr 1fr;gap:.5rem;padding:.6rem .75rem}.order-card-head{flex-direction:column;gap:.5rem}.order-card-actions{flex-wrap:wrap}.order-card-compact{flex-direction:column;align-items:flex-start;gap:.5rem}.awaiting-summary{flex-direction:column;align-items:flex-start}.dashboard-head{margin-bottom:1rem}.kpi-grid{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.stat-value{font-size:1.3rem}.stat-card{padding:.75rem .9rem}.range-toggle button{padding:.45rem .75rem;font-size:.85rem}.redeem-row{grid-template-columns:1fr;gap:.75rem}.redeem-row-form{flex-wrap:wrap}.redeem-row-form input{width:100%}.profile-head{padding:1rem;gap:1rem}.modal-backdrop{padding:0;align-items:flex-end}.modal{border-radius:var(--radius) var(--radius) 0 0;max-height:88vh;max-width:100%}.section-header{flex-direction:column;align-items:flex-start;gap:.5rem}.section-header h1{font-size:1.4rem}.section-header h2{font-size:1.2rem}.cat-page{gap:1rem}.messages-list{max-height:240px}.thread-body{padding:.75rem}.bubble{max-width:85%}.chart-wrap{padding:.75rem}.orders-table-toolbar{padding:.5rem}.orders-table-count{display:none}}@media (max-width: 400px){.kpi-grid,.grid{grid-template-columns:1fr}.pickup-code-char{width:1.85rem;height:2.4rem;font-size:1.15rem}.hero h1{font-size:1.25rem}.detail-body h1{font-size:1.2rem}.stat-value{font-size:1.15rem}}.pro-badge{display:inline-flex;align-items:center;gap:3px;background:linear-gradient(135deg,#f6a623,#f05a28);color:#fff;font-weight:700;letter-spacing:.02em;border-radius:999px;white-space:nowrap;vertical-align:middle}.pro-badge-sm{font-size:10px;padding:2px 7px}.pro-badge-md{font-size:12px;padding:3px 10px}.pro-badge-lg{font-size:14px;padding:5px 14px}.card-pro-badge{position:absolute;top:8px;right:8px}.nav-upgrade-link{color:#f6a623!important;font-weight:700}.nav-pro-badge{color:#f6a623;font-size:11px;font-weight:700}.upgrade-gate{padding:40px 16px}.upgrade-gate-inner{background:#fff;border:2px dashed #f6a623;border-radius:18px;padding:40px 32px;text-align:center;max-width:420px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:12px}.upgrade-gate-icon{font-size:48px;margin:0;line-height:1}.upgrade-gate-inner h3{margin:0;font-size:1.2rem;color:var(--dark)}.upgrade-gate-inner p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.55}.upgrade-gate-link{font-size:13px;color:var(--primary);text-decoration:none;margin-top:4px}.upgrade-gate-link:hover{text-decoration:underline}.pricing-page{max-width:860px;margin:0 auto;padding:48px 16px 80px}.pricing-page h1{text-align:center;font-size:2rem;margin-bottom:8px}.pricing-page .pricing-sub{text-align:center;color:var(--muted);margin-bottom:40px}.pricing-dev-banner{background:#fffbe6;border:1px solid #f6a623;border-radius:10px;padding:12px 18px;margin-bottom:32px;font-size:13px;color:#7a5800;text-align:center}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:48px}@media (max-width: 580px){.pricing-grid{grid-template-columns:1fr}}.pricing-card{background:#fff;border:2px solid var(--border);border-radius:18px;padding:32px 28px;display:flex;flex-direction:column;gap:20px}.pricing-card-pro{border-color:#f6a623;box-shadow:0 4px 24px #f6a6232e;position:relative}.pricing-card-pro-ribbon{position:absolute;top:-1px;right:24px;background:linear-gradient(135deg,#f6a623,#f05a28);color:#fff;font-size:11px;font-weight:700;padding:4px 14px;border-radius:0 0 10px 10px;letter-spacing:.05em}.pricing-card-tier{font-size:1rem;font-weight:700;color:var(--dark)}.pricing-card-price{font-size:2.2rem;font-weight:800;color:var(--dark);line-height:1}.pricing-card-price small{font-size:1rem;font-weight:500;color:var(--muted)}.pricing-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;flex:1}.pricing-features li{font-size:.92rem;color:var(--dark);display:flex;align-items:flex-start;gap:8px}.pricing-features li:before{content:"✓";color:var(--primary);font-weight:700;flex-shrink:0;margin-top:1px}.pricing-features li.feat-muted{color:var(--muted)}.pricing-features li.feat-muted:before{color:var(--border)}.pricing-card-btn{margin-top:auto}.billing-success-page{max-width:480px;margin:80px auto;text-align:center;padding:0 16px}.billing-success-page .success-icon{font-size:60px;margin-bottom:16px}.legal-page{max-width:720px;margin:0 auto;padding:1.5rem 0 4rem;line-height:1.7}.legal-page h1{margin-bottom:.25rem}.legal-page h2{margin-top:2rem;margin-bottom:.5rem;font-size:1.1rem}.legal-page section{border-top:1px solid var(--border);padding-top:1.25rem;margin-top:1.25rem}.legal-page ul,.legal-page ol{padding-left:1.4rem;margin:.5rem 0 .75rem}.legal-page li{margin-bottom:.4rem}.legal-page a{color:var(--primary);text-decoration:underline}.legal-warning-box{background:#fff8e1;border:1px solid #f9c74f;border-radius:8px;padding:1rem 1.2rem;margin-top:.5rem}.legal-warning-box p{margin:0 0 .5rem}.legal-warning-box ul{margin:0}.food-safety-banner{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:.75rem 1rem;margin:1rem 0;font-size:.88rem;line-height:1.5}.food-safety-banner p{margin:.25rem 0 0;color:var(--dark)}.food-safety-banner a{color:var(--primary-dark);text-decoration:underline}.checkbox-label{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer;font-size:.88rem;line-height:1.6;color:var(--dark);text-align:left}.checkbox-label input[type=checkbox]{flex-shrink:0;width:18px;height:18px;margin-top:3px;accent-color:var(--primary);cursor:pointer}.checkbox-label span{flex:1}.checkbox-label a{color:var(--primary);text-decoration:underline}.account-danger-zone{border-top:1px solid var(--border);padding-top:1.5rem}.account-danger-zone h2{margin-bottom:.4rem}.footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.footer-legal{display:flex;gap:1rem;flex-wrap:wrap}.footer-legal a{color:var(--muted);font-size:.82rem;text-decoration:none;transition:color .15s}.footer-legal a:hover{color:var(--primary)}
