:root,:root[data-theme=light]{color-scheme:light;--bg: #f3f8fe;--card: #ffffff;--text: #0b2a5b;--hint: #4b6587;--accent: #1e5aa8;--accent-text: #ffffff;--ink: #0b2a5b;--ink-text: #ffffff;--tile: #e3eef9;--tile-soft: #eaf4fd;--border: #d6e6f7;--divider: #e3eef9;--dot: #9db8d8;--link: #1e5aa8;--danger: #d9363e;--hero: #0b2a5b}:root[data-theme=dark]{color-scheme:dark;--bg: #0a1830;--card: #12264a;--text: #edf4fd;--hint: #93abc9;--accent: #2f6fd0;--accent-text: #ffffff;--ink: #e3eef9;--ink-text: #0b2a5b;--tile: #1a3258;--tile-soft: #1a3258;--border: #24406e;--divider: #1e3760;--dot: #4f6c94;--link: #8ec5f2;--danger: #ff6b70;--hero: #17386c}:root{--yellow: #f5c542;--on-yellow: #0b2a5b;--sky: #8ec5f2;--font: "Manrope Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Unbounded Variable", "Manrope Variable", system-ui, sans-serif;--page-x: 20px;--safe-bottom: max(env(safe-area-inset-bottom, 0px), var(--tg-safe-area-inset-bottom, 0px))}@media (max-width: 359px){:root{--page-x: 14px}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--bg);color:var(--text);font:15px/1.4 var(--font);overscroll-behavior-y:none}a{color:inherit;text-decoration:none}small{color:var(--hint);font-size:12px}h1,p{margin:0}img{display:block}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}button:disabled{opacity:.45;cursor:default}input,select,textarea{width:100%;min-height:46px;padding:11px 14px;font-size:16px;background:var(--bg);border:1px solid var(--border);border-radius:14px;outline:none;appearance:none;-webkit-appearance:none}input::placeholder,textarea::placeholder{color:var(--hint)}input:focus,select:focus,textarea:focus{border-color:var(--accent)}select{padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234b6587' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}select:disabled{opacity:.55}textarea{resize:vertical;display:block}input[type=search]::-webkit-search-cancel-button{display:none}input[type=file]{display:none}.stub,.fatal{min-height:100vh;display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center;padding:24px;text-align:center;font-size:17px}.page{padding:16px var(--page-x) calc(20px + var(--safe-bottom));max-width:640px;margin:0 auto}.page.with-nav{padding-bottom:calc(84px + var(--safe-bottom))}.center-spinner{min-height:40vh;display:flex;align-items:center;justify-content:center}.spinner{width:26px;height:26px;border-radius:50%;border:2.5px solid var(--border);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:10;display:flex;gap:2px;padding:8px 8px calc(6px + var(--safe-bottom));background:var(--card);border-top:1px solid var(--divider)}.nav-item{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--hint)}.nav-icon{position:relative;display:flex;align-items:center;justify-content:center;width:48px;height:30px;border-radius:12px}.nav-item.active{color:var(--text)}.nav-item.active .nav-icon{background:var(--tile)}.nav-title{font-size:11px;font-weight:600;line-height:1.2;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-badge,.count-badge{position:absolute;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--yellow);color:var(--on-yellow);font-size:11px;font-weight:700;line-height:18px;text-align:center}.nav-badge{top:-3px;right:2px;box-shadow:0 0 0 2px var(--card)}.custom-icon{display:inline-block;background:currentColor}.shop-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{flex:none;width:40px;height:40px;border-radius:12px;background:#1e5aa8;display:flex;align-items:center;justify-content:center}.brand-text{display:flex;flex-direction:column;min-width:0}.brand-name{font:700 17px/1.1 var(--font-display);letter-spacing:-.2px}.brand-sub{font-size:12px;color:var(--hint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-cart{position:relative;flex:none;width:44px;height:44px;border-radius:14px;background:var(--ink);color:var(--ink-text);display:flex;align-items:center;justify-content:center}.count-badge{top:-5px;right:-5px;min-width:20px;height:20px;border-radius:10px;line-height:20px;box-shadow:0 0 0 2px var(--bg)}.banner{position:relative;display:flex;justify-content:space-between;gap:12px;margin-bottom:16px;padding:20px;border-radius:22px;overflow:hidden;background:var(--hero);color:#fff}.banner-body{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}.banner-tag{font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--yellow)}.banner-title{font:500 20px/1.2 var(--font-display);overflow-wrap:anywhere}.banner-button{display:flex;align-items:center;min-height:36px;margin-top:4px;padding:0 16px;border-radius:12px;background:#fff;color:#0b2a5b;font-weight:700;font-size:13px}.banner-image{flex:none;align-self:center;width:92px;height:124px;margin-right:6px;object-fit:cover;border-radius:10px;transform:rotate(8deg);box-shadow:0 14px 30px #00000040}.search{position:relative;margin-bottom:14px}.search svg{position:absolute;left:14px;top:14px;color:var(--hint)}.search input{padding-left:42px;background:var(--card)}.chips{display:flex;gap:8px;overflow-x:auto;margin:0 calc(var(--page-x) * -1) 14px;padding:0 var(--page-x);scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:none;height:38px;padding:0 16px;border-radius:19px;background:var(--card);border:1px solid var(--border);white-space:nowrap;font-size:14px;font-weight:600}.chip.active{background:var(--ink);border-color:var(--ink);color:var(--ink-text)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-card{display:flex;flex-direction:column;gap:10px;padding:10px;background:var(--card);border:1px solid var(--divider);border-radius:20px}.product-thumb{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:149 / 116;border-radius:14px;overflow:hidden;background:var(--tile)}.product-thumb img{width:100%;height:100%;object-fit:cover}.product-badge{position:absolute;top:8px;left:8px;max-width:calc(100% - 16px);height:22px;padding:0 9px;border-radius:11px;background:var(--yellow);color:var(--on-yellow);font-size:11px;font-weight:700;line-height:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-info{display:flex;flex-direction:column;gap:2px;padding:0 4px}.product-name{font-weight:700;font-size:14px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-foot{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:auto;padding-left:4px}.product-price{font-weight:700;font-size:15px;overflow-wrap:anywhere}.add-button{flex:none;width:36px;height:36px;border-radius:12px;background:var(--tile);color:var(--text);display:flex;align-items:center;justify-content:center}.empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:44px 16px;color:var(--hint)}.section{margin-top:16px}.section:first-child{margin-top:0}.section-head{display:flex;justify-content:space-between;align-items:center;margin:0 2px 8px;min-height:18px}.section-title{font-size:13px;font-weight:600}.title{font:500 22px/1.15 var(--font-display);margin:2px 0 14px;overflow-wrap:anywhere}.description{margin-bottom:4px;color:var(--hint);font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.status-line{margin:-6px 2px 12px}.total-row{margin-top:12px}.card{background:var(--card);border:1px solid var(--divider);border-radius:18px}.card.row-between,.card.form,.review{padding:14px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}.row-gap{display:inline-flex;align-items:center;gap:8px}.stack{display:flex;flex-direction:column;gap:10px}.form{display:flex;flex-direction:column;gap:12px}.muted-line{color:var(--hint)}.muted{opacity:.6}.danger{color:var(--danger)}.list{overflow:hidden}.list>*+*{border-top:1px solid var(--divider)}.list-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:50px;padding:10px 14px;width:100%;text-align:left;overflow-wrap:anywhere}.list-row small{display:block}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:13px;font-weight:600}.radio-row{display:flex;align-items:center;gap:10px;width:100%;min-height:50px;padding:10px 14px;text-align:left}.radio-mark{flex:none;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1.5px solid var(--dot)}.radio-row.checked .radio-mark{background:var(--ink);border-color:var(--ink);color:var(--ink-text)}.radio-body{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;overflow-wrap:anywhere;font-weight:600}.radio-body small{font-weight:500}.stepper{display:inline-flex;align-items:center;gap:4px}.stepper button{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--tile);color:var(--text)}.stepper button.plus{background:var(--ink);color:var(--ink-text)}.stepper span{min-width:36px;text-align:center;font-weight:700;font-size:16px;font-variant-numeric:tabular-nums}.stepper.vertical{flex:none;flex-direction:column;gap:2px;padding:2px;background:var(--bg);border-radius:12px}.stepper.vertical button,.stepper.vertical button.plus{width:36px;height:30px;background:transparent;color:var(--text)}.stepper.vertical button.remove{color:var(--danger)}.stepper.vertical span{min-width:0;font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:8px 16px;border-radius:14px;background:var(--accent);color:var(--accent-text);font-weight:700;font-size:15px;text-align:center}.btn.wide{width:100%;margin-top:12px}.btn.small{min-height:36px;padding:4px 14px;border-radius:12px;font-size:13px}.btn.ghost{background:var(--tile);color:var(--text)}.btn.ghost.danger{background:var(--card);border:1px solid var(--divider);color:var(--danger)}.btn.on-hero{background:#fff;color:#0b2a5b}.icon-btn{flex:none;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--hint)}.text-accent{color:var(--link);font-weight:600}.text-link{display:block;padding:10px 2px;color:var(--link);font-weight:600}.segmented{display:flex;gap:4px;padding:4px;background:var(--card);border:1px solid var(--divider);border-radius:16px}.segmented button{flex:1;min-height:38px;padding:4px 6px;border-radius:12px;font-weight:600}.segmented button.active{background:var(--ink);color:var(--ink-text)}.badge{flex:none;padding:3px 9px;border-radius:10px;font-size:12px;font-weight:600;background:var(--tile);white-space:nowrap}.badge.ok{background:#2e9e4f29;color:#23863f}.badge.warn{background:#f5c54247;color:#8a6500}.badge.bad{background:#d9363e24;color:#c62c34}:root[data-theme=dark] .badge.ok{color:#6fd08d}:root[data-theme=dark] .badge.warn{color:#f5c542}:root[data-theme=dark] .badge.bad{color:#ff8f93}.notice{padding:12px 14px;margin-bottom:12px;border-radius:14px;background:#f5c54247;font-weight:600}.hero{position:relative;height:min(100vw,380px);margin:-16px calc(var(--page-x) * -1) 22px;border-radius:0 0 32px 32px;overflow:hidden;background:var(--tile);display:flex;align-items:center;justify-content:center}.gallery{width:100%;height:100%;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.gallery::-webkit-scrollbar{display:none}.gallery img{flex:none;width:100%;height:100%;object-fit:cover;scroll-snap-align:center}.gallery-dots{position:absolute;left:0;right:0;bottom:18px;display:flex;justify-content:center;gap:6px}.dot{width:6px;height:6px;border-radius:3px;background:var(--dot)}.dot.active{width:18px;background:var(--ink)}.product-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:6px 12px;margin-bottom:14px}.product-head-text{display:flex;flex-direction:column;align-items:flex-start;gap:6px;max-width:100%}.product-tag{max-width:100%;padding:4px 10px;border-radius:12px;background:var(--yellow);color:var(--on-yellow);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;overflow-wrap:anywhere}.product-title{font:500 24px/1.15 var(--font-display);overflow-wrap:break-word;max-width:100%}.product-head-price{flex:none;font-weight:700;font-size:20px;white-space:nowrap}.variants{display:flex;flex-wrap:wrap;gap:8px}.variant{flex:1 1 calc(33.33% - 8px);min-width:96px;min-height:44px;padding:6px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:12px;background:var(--card);border:1px solid var(--border);font-size:14px;font-weight:600;text-align:center;overflow-wrap:anywhere}.variant small{font-weight:500;color:inherit;opacity:.75}.variant.active{background:var(--ink);border-color:var(--ink);color:var(--ink-text)}.quantity-row{padding:10px 10px 10px 16px!important;font-size:14px;font-weight:600}.review{display:flex;flex-direction:column;gap:4px}.review p{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.stars{display:inline-flex;gap:1px;color:var(--yellow)}.cart-line{display:flex;gap:12px;align-items:center;padding:10px}.cart-thumb{flex:none;width:72px;height:72px;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--tile)}.cart-thumb img{width:100%;height:100%;object-fit:cover}.cart-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cart-name{font-weight:700;font-size:15px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cart-price{margin-top:4px;font-weight:700;font-size:14px}.summary{margin-top:16px;padding:16px;display:flex;flex-direction:column;gap:10px;font-size:14px}.summary-line{display:flex;justify-content:space-between;gap:10px}.summary-line span:first-child{color:var(--hint)}.summary-line span:last-child{font-weight:600}.summary-rule{height:1px;background:var(--divider)}.summary-total{display:flex;justify-content:space-between;gap:10px;font-size:17px;font-weight:700}.balance-card{display:flex;flex-direction:column;padding:20px;border-radius:22px;background:var(--hero);color:#fff}.balance-card small{color:var(--yellow);font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase}.balance-value{margin-top:6px;font:500 30px/1.15 var(--font-display);overflow-wrap:anywhere}.copy-row{display:flex;align-items:center;gap:8px}.copy-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.copy-text code{font:600 15px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.qr{display:flex;justify-content:center}.qr svg{border-radius:12px}.toast{position:fixed;left:50%;bottom:calc(92px + var(--safe-bottom));transform:translate(-50%);z-index:50;max-width:calc(100% - 32px);padding:10px 16px;border-radius:14px;background:#0b2a5b;color:#fff;font-size:14px;font-weight:600;text-align:center;box-shadow:0 8px 24px #0b2a5b4d}.toggle{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;font-weight:600;cursor:pointer}.toggle input{position:absolute;opacity:0;width:0;height:0;min-height:0;padding:0;border:0}.toggle-track{flex:none;position:relative;width:44px;height:26px;border-radius:13px;background:var(--border);transition:background .15s}.toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px #0b2a5b4d}.toggle input:checked+.toggle-track{background:var(--accent)}.toggle input:checked+.toggle-track:after{transform:translate(18px)}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.photo{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--tile)}.photo img{width:100%;height:100%;object-fit:cover}.photo-actions{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;background:#0b2a5b99;color:#fff}.photo-actions button{width:30px;height:28px;display:flex;align-items:center;justify-content:center}.photo-add{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:12px;border:1.5px dashed var(--dot);color:var(--hint);cursor:pointer}.subcard{padding:12px;border-radius:14px;background:var(--bg);display:flex;flex-direction:column;gap:8px}.subcard input,.subcard textarea,.subcard select{background:var(--card)}.city-list{padding-left:16px}.icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:4px}.icon-choice{height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;color:var(--hint)}.icon-choice.active{background:var(--ink);color:var(--ink-text)}.toolbar{display:flex;gap:8px;margin-bottom:12px}.toolbar .search{flex:1;margin:0}.admin-thumb{flex:none;width:44px;height:44px;border-radius:10px;object-fit:cover;background:var(--tile)}.row-main{flex:1;min-width:0}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions .btn{flex:1}
