:root{--bg: #f7f7f8;--fg: #1c1c1f;--muted: #6b7280;--accent: #0ab39c;--accent-fg: #fff;--border: #e5e7eb;--ok: #16a34a;--err: #dc2626;--warn: #d97706;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:#fff;border-bottom:1px solid var(--border)}.brand{font-weight:700;font-size:1.2rem;text-decoration:none;color:inherit}.cart-link{text-decoration:none;color:inherit}.badge{display:inline-block;min-width:1.5rem;padding:0 .4rem;background:var(--accent);color:var(--accent-fg);border-radius:999px;text-align:center;font-size:.85rem}.container{max-width:960px;margin:0 auto;padding:2rem}.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:1rem;display:flex;flex-direction:column}.card h3{margin:0 0 .5rem;font-size:1.05rem}.card .desc{color:var(--muted);flex:1;font-size:.9rem}.card .price{font-weight:700;margin:.5rem 0}button{background:var(--accent);color:var(--accent-fg);border:0;padding:.55rem 1rem;border-radius:8px;cursor:pointer;font-size:.95rem}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:#fff;color:var(--fg);border:1px solid var(--border)}button.link{background:none;color:var(--err);padding:0}.cart-table{width:100%;border-collapse:collapse;margin:1rem 0;background:#fff}.cart-table th,.cart-table td{padding:.6rem .8rem;border-bottom:1px solid var(--border);text-align:left}.cart-table input[type=number]{width:4rem;padding:.25rem .4rem}.field{display:block;margin:1rem 0}.field input{display:block;width:100%;max-width:320px;padding:.55rem;margin-top:.25rem;border:1px solid var(--border);border-radius:6px}.payment-block{margin:1.5rem 0;padding:1.25rem;background:#fff;border:1px solid var(--border);border-radius:10px}.payment-block .small{font-size:.8rem}.payment-block code{background:var(--bg);padding:.05rem .35rem;border-radius:4px;font-size:.85rem}.stripe-badge{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.stripe-mark{display:inline-block;padding:.35rem .85rem;border-radius:6px;background:#635bff;color:#fff;font-weight:700;letter-spacing:.02em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:.9rem}.actions{display:flex;gap:.75rem}.error{color:var(--err)}.result{padding:2rem;background:#fff;border-radius:10px;border:1px solid var(--border)}.result.ok h1{color:var(--ok)}.result.err h1{color:var(--err)}.result.warn h1{color:var(--warn)}.result code{background:var(--bg);padding:0 .35rem;border-radius:4px}.topbar-right{display:flex;gap:1.25rem;align-items:center}.user-menu{display:inline-flex;gap:.4rem;align-items:center;font-size:.9rem}.user-menu a{color:inherit;text-decoration:none}.user-menu a:hover{text-decoration:underline}.user-menu .dot{color:var(--muted)}.user-menu .link{background:none;color:var(--muted);padding:0;border:0;cursor:pointer;font-size:.9rem}.user-menu .link:hover{color:var(--err);text-decoration:underline}.auth-form{max-width:400px;margin:2rem auto;background:#fff;padding:2rem;border:1px solid var(--border);border-radius:10px}.auth-form h1{margin-top:0}.auth-form button{width:100%;margin-top:.5rem}.auth-form p{color:var(--muted);font-size:.9rem}.google-btn{display:flex;align-items:center;justify-content:center;gap:.65rem;width:100%;padding:.65rem 1rem;border:1px solid var(--border);border-radius:8px;background:#fff;color:#3c4043;font-weight:500;font-size:.95rem;text-decoration:none;cursor:pointer;transition:background .15s}.google-btn:hover{background:#f8f9fa}.google-btn svg{display:block}.auth-divider{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0;color:var(--muted);font-size:.85rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-top:1px solid var(--border)}.profile h2{margin-top:2rem;padding-bottom:.25rem;border-bottom:1px solid var(--border)}.profile-form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.profile-form .actions{align-items:center;gap:1rem}.profile .muted{color:var(--muted)}.ok-msg{color:var(--ok);font-size:.9rem}.orders{width:100%;border-collapse:collapse;background:#fff}.orders th,.orders td{padding:.55rem .75rem;border-bottom:1px solid var(--border);text-align:left;font-size:.9rem}.orders th{color:var(--muted);font-weight:600;background:var(--bg)}.muted{color:var(--muted)}.field small.muted{display:block;margin-top:.35rem;font-size:.8rem}.admin-link{background:var(--accent);color:var(--accent-fg)!important;padding:.15rem .55rem;border-radius:999px;font-size:.8rem;text-decoration:none;font-weight:600}.stepper{list-style:none;display:flex;gap:.5rem;padding:0;margin:1rem 0 1.5rem;flex-wrap:wrap}.stepper li{flex:1;min-width:140px;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--muted);font-size:.9rem}.stepper li .num{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--bg);color:var(--muted);font-weight:600;font-size:.8rem}.stepper li.current{color:var(--fg);border-color:var(--accent)}.stepper li.current .num{background:var(--accent);color:var(--accent-fg)}.stepper li.done{color:var(--ok);border-color:var(--ok)}.stepper li.done .num{background:var(--ok);color:#fff}.checkout-grid{display:grid;grid-template-columns:1fr 320px;gap:1.5rem}@media (max-width: 800px){.checkout-grid{grid-template-columns:1fr}}.card-pad{background:#fff;border:1px solid var(--border);border-radius:10px;padding:1.5rem}.card-pad h2{margin-top:0}.row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 600px){.row{grid-template-columns:1fr}}.checkbox-row{display:flex;align-items:center;gap:.5rem;margin:.75rem 0}.methods{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.method{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;padding:1rem;border:1px solid var(--border);border-radius:10px;cursor:pointer;align-items:center}.method.selected{border-color:var(--accent);background:#0ab39c0d}.method-body{display:flex;flex-direction:column;gap:.15rem}.method-body .muted{font-size:.85rem}.method-price{font-weight:700}.checkout-summary{background:#fff;border:1px solid var(--border);border-radius:10px;padding:1.5rem;align-self:start;position:sticky;top:1rem}.checkout-summary h3{margin-top:0}.summary-items{list-style:none;padding:0;margin:0 0 .75rem;font-size:.9rem}.summary-items li{display:flex;justify-content:space-between;padding:.25rem 0}.summary-row{display:flex;justify-content:space-between;padding:.35rem 0;border-top:1px solid var(--border);font-size:.9rem}.summary-row.total{font-weight:700;font-size:1.05rem}.review-block{margin-bottom:1rem}.review-block h3{margin:.25rem 0 .5rem;font-size:1rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.review-block dl{margin:0}.review-row{display:grid;grid-template-columns:140px 1fr;padding:.25rem 0}.review-row dt{color:var(--muted)}.admin h1{margin-bottom:1rem}.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.filters input,.filters select{padding:.45rem .6rem;border:1px solid var(--border);border-radius:6px;background:#fff}.filters input{flex:1;min-width:200px}.admin-orders{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden}.admin-orders th,.admin-orders td{padding:.55rem .75rem;border-bottom:1px solid var(--border);text-align:left;font-size:.9rem;vertical-align:top}.admin-orders th{color:var(--muted);font-weight:600;background:var(--bg)}.admin-orders .small{font-size:.8rem}.admin-orders select{padding:.25rem .4rem;border:1px solid var(--border);border-radius:4px;background:#fff}.admin-orders .detail-row td{background:var(--bg)}.pill{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;color:#fff;background:var(--muted)}.pmt-paid{background:var(--ok)}.pmt-failed{background:var(--err)}.pmt-cancelled{background:var(--warn)}.pmt-pending{background:var(--muted)}.order-detail{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;padding:.75rem 0}.order-detail h4{margin:.25rem 0;font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.order-detail ul{padding-left:1.2rem;margin:.25rem 0}.order-detail code{background:#fff;padding:0 .35rem;border-radius:4px}.settings-panel{background:#fff;border:1px solid var(--border);border-radius:10px;padding:1rem 1.25rem;margin-bottom:1.5rem}.settings-panel summary{cursor:pointer;outline:none;list-style:none}.settings-panel summary::-webkit-details-marker{display:none}.settings-panel summary h2{color:var(--accent)}.settings-body{padding-top:1rem}.toggles{border:0;padding:0;margin:.5rem 0 1rem;display:grid;gap:.35rem}.pill.pmt-paid+button.link{margin-left:.5rem}.tracking{max-width:760px}.tracking h1{margin:.5rem 0}.tracking h2{margin-top:2rem;padding-bottom:.25rem;border-bottom:1px solid var(--border)}.tracking h3{font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:.5rem 0}.status-cards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:1rem 0}.status-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:1rem;display:flex;flex-direction:column;gap:.35rem}.progress{list-style:none;padding:0;margin:1.5rem 0;display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;position:relative}.progress li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem;color:var(--muted);font-size:.85rem;position:relative}.progress li .dot{display:block;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--bg);border:2px solid var(--border);z-index:1}.progress li.done .dot,.progress li.current .dot{background:var(--accent);border-color:var(--accent)}.progress li.current{color:var(--accent);font-weight:600}.progress li.done{color:var(--ok)}.progress li:not(:last-child):after{content:"";position:absolute;left:50%;right:-50%;top:.8rem;height:2px;background:var(--border);z-index:0}.progress li.done:not(:last-child):after{background:var(--accent)}.addr-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem}@media (max-width: 600px){.addr-grid{grid-template-columns:1fr}.progress{grid-template-columns:repeat(2,1fr)}.progress li:not(:last-child):after{display:none}}
