.shop-app{--shop-bg: #fff6ea;--shop-paper: #fffdf8;--shop-ink: #2b2118;--shop-muted: #8f7f70;--shop-line: rgba(43, 33, 24, .09);--shop-accent: #ff5a3c;--shop-accent-deep: #e2431f;--shop-accent-soft: #ffe6dc;--shop-mint: #1e9e6a;--shop-sun: #ffc94a;position:relative;height:100%;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(120% 60% at 100% 0%,rgba(255,201,74,.22),transparent 60%),radial-gradient(90% 50% at 0% 0%,rgba(255,90,60,.12),transparent 60%),var(--shop-bg);color:var(--shop-ink);font-family:PingFang SC,HarmonyOS Sans SC,Noto Sans SC,system-ui,sans-serif;font-size:calc(14px * var(--os-font-scale, 1));line-height:1.45;-webkit-tap-highlight-color:transparent}.shop-app button{font:inherit;color:inherit;cursor:pointer}.shop-app button:disabled{opacity:.45;cursor:default}.shop-app input,.shop-app textarea{font:inherit;color:inherit}.shop-muted{color:var(--shop-muted);font-size:calc(12px * var(--os-font-scale, 1))}.shop-price{color:var(--shop-accent-deep);font-weight:800;font-variant-numeric:tabular-nums}.shop-top{flex:none;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:6px;padding:calc(var(--chrome-top, 0px) + 8px) 12px 8px}.shop-top h1{margin:0;display:flex;align-items:center;gap:6px;font-size:calc(19px * var(--os-font-scale, 1));font-weight:900;letter-spacing:.02em}.shop-top h1 svg{color:var(--shop-accent)}.shop-balance{border:0;padding:6px 12px;border-radius:999px;background:var(--shop-ink);color:#fff8ec!important;font-weight:800;font-size:calc(13px * var(--os-font-scale, 1));font-variant-numeric:tabular-nums}.shop-icon-btn{width:40px;height:40px;border:0;border-radius:14px;background:transparent;display:grid;place-items:center}.shop-icon-btn[data-active=true]{color:var(--shop-accent)}.shop-main{position:relative;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 14px 20px}.shop-search{display:flex;align-items:center;gap:8px;padding:0 4px 0 14px;height:44px;border-radius:16px;background:var(--shop-paper);border:1px solid var(--shop-line);color:var(--shop-muted)}.shop-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--shop-ink);font-size:calc(14px * var(--os-font-scale, 1))}.shop-cats{display:flex;gap:8px;margin:12px -14px 0;padding:0 14px 2px;overflow-x:auto;scrollbar-width:none}.shop-cats::-webkit-scrollbar{display:none}.shop-pills{display:flex;flex-wrap:wrap;gap:8px}.shop-pill{flex:none;min-height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--shop-line);background:var(--shop-paper);font-size:calc(13px * var(--os-font-scale, 1));font-weight:600;white-space:nowrap}.shop-pill[data-active=true]{background:var(--shop-ink);border-color:var(--shop-ink);color:#fff8ec!important}.shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.shop-tile{position:relative;display:flex;flex-direction:column;gap:3px;padding:8px 8px 12px;border:1px solid var(--shop-line);border-radius:20px;background:var(--shop-paper);text-align:left;box-shadow:0 8px 20px #2b21180f}.shop-tile strong{margin-top:6px;padding:0 4px;font-size:calc(14px * var(--os-font-scale, 1));line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.shop-tile .shop-muted,.shop-tile .shop-price{padding:0 4px}.shop-tile .shop-muted{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-tile .shop-price{font-size:calc(17px * var(--os-font-scale, 1))}.shop-tile__fav{position:absolute;top:14px;right:14px;width:24px;height:24px;border-radius:50%;background:#fffdf8eb;color:var(--shop-accent);display:grid;place-items:center}.shop-cover{display:grid;place-items:center;overflow:hidden;background:linear-gradient(140deg,#ffe9d6,#ffd3c4 70%,#ffc9a8);border-radius:14px}.shop-cover img{width:100%;height:100%;object-fit:cover}.shop-tile__cover{aspect-ratio:1;font-size:calc(54px * var(--os-font-scale, 1))}.shop-fab{position:sticky;bottom:12px;margin:12px 0 0 auto;width:54px;height:54px;border:0;border-radius:20px;background:var(--shop-accent);color:#fff!important;display:grid;place-items:center;box-shadow:0 10px 22px #ff5a3c66}.shop-empty{margin:28px auto 0;max-width:300px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.shop-empty__art{width:104px;height:104px;border-radius:34px;background:var(--shop-paper);border:1px solid var(--shop-line);display:grid;place-items:center;font-size:calc(52px * var(--os-font-scale, 1));transform:rotate(-4deg)}.shop-empty h2{margin:6px 0 0;font-size:calc(18px * var(--os-font-scale, 1))}.shop-empty p{margin:0 0 6px;color:var(--shop-muted)}.shop-blank{margin:40px 0;text-align:center;color:var(--shop-muted)}.shop-btn{flex:1;min-height:46px;padding:0 18px;border:0;border-radius:16px;background:var(--shop-accent);color:#fff!important;font-weight:800;font-size:calc(15px * var(--os-font-scale, 1));display:inline-flex;align-items:center;justify-content:center;gap:6px}.shop-btn--soft{background:var(--shop-accent-soft);color:var(--shop-accent-deep)!important}.shop-btn--danger{background:#c8371a}.shop-btn--block{width:100%;flex:none}.shop-btn--sm{flex:none;min-height:34px;padding:0 14px;border-radius:999px;font-size:calc(13px * var(--os-font-scale, 1))}.shop-text-btn{border:0;background:none;padding:6px 4px;display:inline-flex;align-items:center;gap:4px;color:var(--shop-accent-deep)!important;font-weight:700;font-size:calc(13px * var(--os-font-scale, 1))}.shop-text-btn--danger{color:#a8341d!important}.shop-row{display:flex;gap:10px;align-items:flex-end}.shop-cart,.shop-orders,.shop-roles,.shop-lines,.shop-drafts,.shop-ledger{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.shop-cart{margin-top:8px;padding-bottom:12px}.shop-cart li{display:flex;align-items:center;gap:10px;padding:10px;border-radius:18px;background:var(--shop-paper);border:1px solid var(--shop-line)}.shop-cart__cover{flex:none;width:64px;height:64px;font-size:calc(32px * var(--os-font-scale, 1))}.shop-cart__info{flex:1;min-width:0;display:flex;flex-direction:column}.shop-item-detail{display:flex;align-items:center;gap:12px;flex:1;min-width:0;width:100%;border:0;padding:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.shop-item-detail:focus-visible{outline:2px solid var(--shop-accent);outline-offset:3px;border-radius:12px}.shop-cart__info strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-stepper{flex:none;display:inline-flex;align-items:center;border-radius:999px;background:var(--shop-accent-soft)}.shop-stepper button{width:34px;height:34px;border:0;background:none;font-size:calc(18px * var(--os-font-scale, 1));font-weight:700;color:var(--shop-accent-deep)!important}.shop-stepper span{min-width:22px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums}.shop-checkout-bar{position:sticky;bottom:0;display:flex;align-items:center;gap:12px;padding:10px 10px 10px 16px;border-radius:20px;background:var(--shop-ink);color:#fff8ec}.shop-checkout-bar>div{flex:1;display:flex;flex-direction:column}.shop-checkout-bar .shop-muted{color:#fff8eca6}.shop-checkout-bar .shop-price{color:var(--shop-sun);font-size:calc(19px * var(--os-font-scale, 1))}.shop-checkout-bar .shop-btn{flex:none}.shop-orders{margin-top:12px}.shop-order{padding:12px;border-radius:20px;background:var(--shop-paper);border:1px solid var(--shop-line);display:flex;flex-direction:column;gap:8px}.shop-order[data-focus=true]{border-color:var(--shop-accent);box-shadow:0 0 0 3px var(--shop-accent-soft)}.shop-order header,.shop-order footer{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:calc(12px * var(--os-font-scale, 1));color:var(--shop-muted)}.shop-order header em{font-style:normal;font-weight:800;padding:2px 10px;border-radius:999px;background:#2b21180f;color:var(--shop-ink)}.shop-order header em[data-status=paid]{background:#1e9e6a24;color:var(--shop-mint)}.shop-order header em[data-status=pending_payment]{background:var(--shop-accent-soft);color:var(--shop-accent-deep)}.shop-order__item,.shop-lines li{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:10px}.shop-order__item>div,.shop-lines li>div{min-width:0;display:flex;flex-direction:column}.shop-order__cover,.shop-lines__cover{width:48px;height:48px;font-size:calc(24px * var(--os-font-scale, 1));border-radius:12px}.shop-order__who,.shop-order__note{margin:0;font-size:calc(12px * var(--os-font-scale, 1));color:var(--shop-muted)}.shop-order__note{padding:6px 10px;border-radius:10px;background:#ffc94a33;color:var(--shop-ink)}.shop-order footer{align-items:flex-end;flex-wrap:wrap}.shop-order footer .shop-price{font-size:calc(16px * var(--os-font-scale, 1))}.shop-order__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.shop-wallet{margin-top:6px;padding:18px;border-radius:24px;background:linear-gradient(135deg,#ff6a48,#ff8f4a 60%,#ffb347);color:#fff;display:flex;flex-direction:column;gap:6px;box-shadow:0 14px 28px #ff5a3c47}.shop-wallet__label{display:inline-flex;align-items:center;gap:6px;font-size:calc(13px * var(--os-font-scale, 1));opacity:.92}.shop-wallet>b{font-size:calc(34px * var(--os-font-scale, 1));font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:.01em}.shop-wallet__actions{display:flex;flex-wrap:wrap;gap:8px}.shop-wallet .shop-pill{border-color:#ffffff80;background:#fff3;color:#fff!important}.shop-wallet p{margin:4px 0 0;font-size:calc(11px * var(--os-font-scale, 1));opacity:.85}.shop-section-title{margin:20px 2px 10px;font-size:calc(15px * var(--os-font-scale, 1));font-weight:800}.shop-role{padding:12px;border-radius:18px;background:var(--shop-paper);border:1px solid var(--shop-line);display:flex;flex-direction:column;gap:10px}.shop-role__head{display:flex;align-items:center;gap:10px}.shop-role__head>img,.shop-role__head>span,.shop-person img,.shop-person>span{flex:none;width:42px;height:42px;border-radius:50%;object-fit:cover;background:var(--shop-accent-soft);display:grid;place-items:center;font-weight:800;color:var(--shop-accent-deep)}.shop-role__head>div{flex:1;min-width:0;display:flex;flex-direction:column}.shop-role__body{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:calc(13px * var(--os-font-scale, 1))}.shop-role__body label{display:inline-flex;align-items:center;gap:4px;margin-right:auto}.shop-role__body input{width:72px;height:34px;padding:0 8px;border-radius:10px;border:1px solid var(--shop-line);background:#fff;font-variant-numeric:tabular-nums}.shop-switch{display:inline-flex;align-items:center;gap:6px;font-size:calc(12px * var(--os-font-scale, 1));color:var(--shop-muted)}.shop-switch input{position:absolute;opacity:0;pointer-events:none}.shop-switch span{position:relative;width:42px;height:26px;border-radius:999px;background:#2b21182e;transition:background .18s ease}.shop-switch span:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .18s ease}.shop-switch input:checked+span{background:var(--shop-mint)}.shop-switch input:checked+span:after{transform:translate(16px)}.shop-switch input:focus-visible+span{outline:2px solid var(--shop-ink);outline-offset:2px}.shop-switch em{font-style:normal}.shop-note{margin:10px 0 0;padding:10px 12px;border-radius:12px;background:#2b21180d;font-size:calc(12px * var(--os-font-scale, 1));color:var(--shop-muted)}.shop-note--warn{background:var(--shop-accent-soft);color:var(--shop-accent-deep)}.shop-note--warn .shop-row{margin-top:8px}.shop-tabs{flex:none;display:grid;grid-template-columns:repeat(4,1fr);padding:6px 10px calc(6px + var(--safe-bottom, 0px));background:var(--shop-paper);border-top:1px solid var(--shop-line)}.shop-tabs button{border:0;background:none;padding:4px 0;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--shop-muted)!important}.shop-tabs button[data-active=true]{color:var(--shop-accent-deep)!important}.shop-tabs em{font-style:normal;font-size:calc(11px * var(--os-font-scale, 1));font-weight:700}.shop-tabs__icon{position:relative;width:44px;height:28px;border-radius:999px;display:grid;place-items:center}.shop-tabs button[data-active=true] .shop-tabs__icon{background:var(--shop-accent-soft)}.shop-tabs__icon i{position:absolute;top:-4px;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--shop-accent);color:#fff;font-size:calc(10px * var(--os-font-scale, 1));font-style:normal;font-weight:800;line-height:calc(18px * var(--os-font-scale, 1));text-align:center}.shop-sheet-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;justify-content:flex-end}.shop-sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#2b21186b;animation:shop-fade .18s ease both}.shop-sheet{position:relative;max-height:88%;display:flex;flex-direction:column;border-radius:26px 26px 0 0;background:var(--shop-bg);animation:shop-rise .24s cubic-bezier(.2,.8,.2,1) both}.shop-sheet__head{flex:none;display:flex;align-items:center;justify-content:space-between;padding:12px 10px 4px 18px}.shop-sheet__head h3{margin:0;font-size:calc(17px * var(--os-font-scale, 1));font-weight:900}.shop-sheet__body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:6px 16px 14px;display:flex;flex-direction:column;gap:12px}.shop-sheet__foot{flex:none;padding:10px 16px calc(12px + var(--safe-bottom, 0px));border-top:1px solid var(--shop-line);background:var(--shop-paper)}.shop-detail__cover{flex:none;width:100%;aspect-ratio:4 / 3;border-radius:20px;font-size:calc(88px * var(--os-font-scale, 1))}.shop-detail__head{display:flex;justify-content:space-between;gap:8px}.shop-detail__head h2{margin:6px 0 0;font-size:calc(20px * var(--os-font-scale, 1));line-height:1.25}.shop-detail__head p{margin:2px 0 0}.shop-chip{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--shop-sun);font-size:calc(11px * var(--os-font-scale, 1));font-weight:800}.shop-detail__price{font-size:calc(28px * var(--os-font-scale, 1));font-weight:900;color:var(--shop-accent-deep);font-variant-numeric:tabular-nums}.shop-detail__desc{margin:0;white-space:pre-wrap}.shop-detail__tools{display:flex;flex-wrap:wrap;gap:14px}.shop-field{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.shop-field>span{font-size:calc(12px * var(--os-font-scale, 1));font-weight:700;color:var(--shop-muted)}.shop-field--inline{flex:none;flex-direction:row;align-items:center;justify-content:space-between}.shop-field--narrow{flex:0 0 62px}.shop-field input,.shop-field textarea{width:100%;min-height:44px;padding:10px 12px;border-radius:14px;border:1px solid var(--shop-line);background:var(--shop-paper);outline:0;resize:none}.shop-field input:focus,.shop-field textarea:focus,.shop-role__body input:focus{border-color:var(--shop-accent);outline:0}.shop-detail__share-targets{flex:none}.shop-share-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0;color:var(--shop-muted);font-size:calc(12px * var(--os-font-scale, 1))}.shop-share-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 8px}.shop-share-grid .shop-person{position:relative;width:100%;min-width:0;padding:8px 2px}.shop-share-grid .shop-person:focus-visible{outline:2px solid var(--shop-accent);outline-offset:2px}.shop-share-check{position:absolute;top:4px;right:6px;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:var(--shop-accent);color:#fff;font-size:calc(12px * var(--os-font-scale, 1));font-style:normal}.shop-people{display:flex;gap:12px;overflow-x:auto;padding:2px;scrollbar-width:none}.shop-person{flex:none;width:64px;border:0;background:none;padding:6px 0;border-radius:16px;display:flex;flex-direction:column;align-items:center;gap:4px}.shop-person[data-active=true]{background:var(--shop-accent-soft)}.shop-person[data-active=true] img,.shop-person[data-active=true]>span{box-shadow:0 0 0 2px var(--shop-accent)}.shop-person em{font-style:normal;font-size:calc(11px * var(--os-font-scale, 1));max-width:60px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-lines li b{font-variant-numeric:tabular-nums}.shop-summary{display:flex;justify-content:space-between;align-items:baseline;padding-top:10px;border-top:1px dashed var(--shop-line);font-weight:700}.shop-summary b{font-size:calc(22px * var(--os-font-scale, 1));color:var(--shop-accent-deep);font-variant-numeric:tabular-nums}.shop-editor__media{display:flex;gap:12px;align-items:center}.shop-editor__cover{flex:none;width:104px;height:104px;border-radius:20px;font-size:calc(48px * var(--os-font-scale, 1))}.shop-editor__media-actions{display:flex;flex-direction:column;align-items:flex-start}.shop-create{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shop-create button{padding:16px 12px;border:1px solid var(--shop-line);border-radius:20px;background:var(--shop-paper);display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left}.shop-create svg{color:var(--shop-accent)}.shop-create span{font-size:calc(12px * var(--os-font-scale, 1));color:var(--shop-muted)}.shop-drafts li{display:grid;grid-template-columns:44px 1fr auto;gap:10px;padding:10px;border-radius:16px;background:var(--shop-paper);border:1px solid var(--shop-line)}.shop-drafts__emoji{width:44px;height:44px;border-radius:12px;background:var(--shop-accent-soft);display:grid;place-items:center;font-size:calc(24px * var(--os-font-scale, 1))}.shop-drafts li>div{min-width:0;display:flex;flex-direction:column}.shop-drafts p{margin:4px 0 0;font-size:calc(12px * var(--os-font-scale, 1));color:var(--shop-muted)}.shop-drafts__side{align-items:flex-end}.shop-drafts__side b{color:var(--shop-accent-deep);font-variant-numeric:tabular-nums}.shop-ledger li{display:flex;justify-content:space-between;gap:10px;padding:10px 2px;border-bottom:1px solid var(--shop-line)}.shop-ledger li>div{min-width:0;display:flex;flex-direction:column}.shop-ledger__amount{align-items:flex-end;flex:none}.shop-ledger__amount[data-sign=in] b{color:var(--shop-mint)}@keyframes shop-fade{0%{opacity:0}}@keyframes shop-rise{0%{transform:translateY(24px);opacity:0}}.shop-cats--inline{margin:8px 0 0;padding:0;flex-wrap:wrap;overflow:visible}.shop-cats--inline .shop-pill{min-height:30px;padding:0 11px;font-size:calc(12px * var(--os-font-scale, 1))}.shop-variants{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.shop-variant{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:52px;padding:8px 12px;border-radius:14px;border:1.5px solid var(--shop-line);background:var(--shop-paper);text-align:left}.shop-variant strong{font-size:calc(13px * var(--os-font-scale, 1));line-height:1.3}.shop-variant span{font-size:calc(12px * var(--os-font-scale, 1));color:var(--shop-muted);font-variant-numeric:tabular-nums}.shop-variant[data-active=true]{border-color:var(--shop-accent);background:color-mix(in srgb,var(--shop-accent) 9%,var(--shop-paper))}.shop-variant[data-active=true] span{color:var(--shop-accent);font-weight:700}.shop-variant-row{display:grid;grid-template-columns:minmax(0,1fr) 84px 36px;gap:8px;align-items:center;margin-bottom:8px}.shop-checkout-bar .shop-btn--soft{display:inline-flex;align-items:center;gap:5px;background:#fff8ec24;color:#fff8ec!important}@media (prefers-reduced-motion: reduce){.shop-sheet,.shop-sheet-backdrop{animation:none}.shop-switch span,.shop-switch span:after{transition:none}}.shop-family{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.shop-family__card{padding:14px;border-radius:20px;color:#fff;background:linear-gradient(135deg,#ff7a8a,#ff5a3c 60%,#ff9a3c);box-shadow:0 8px 20px #ff5a3c38;display:flex;flex-direction:column;gap:8px}.shop-family__card[data-status=pending]{background:linear-gradient(135deg,#b48cff,#ff7a8a)}.shop-family__head{display:flex;align-items:center;gap:6px;font-size:calc(13px * var(--os-font-scale, 1))}.shop-family__head strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shop-family__head em{font-style:normal;font-size:calc(11px * var(--os-font-scale, 1));font-weight:700;padding:2px 8px;border-radius:999px;background:#ffffff3d}.shop-family__amount{display:flex;flex-direction:column}.shop-family__amount b{font-size:calc(28px * var(--os-font-scale, 1));font-weight:900;font-variant-numeric:tabular-nums}.shop-family__amount span{font-size:calc(11.5px * var(--os-font-scale, 1));opacity:.9}.shop-family__bar{height:5px;border-radius:999px;background:#ffffff4d;overflow:hidden}.shop-family__bar i{display:block;height:100%;background:#fff;border-radius:inherit}.shop-family__note{margin:0;font-size:calc(12.5px * var(--os-font-scale, 1));opacity:.95;overflow-wrap:anywhere}.shop-family__actions{display:flex;gap:8px}.shop-family__actions .shop-btn{min-height:36px;background:#fff;color:var(--shop-accent-deep)!important}.shop-family__actions .shop-btn--soft{background:#ffffff38;color:#fff!important}.shop-family__actions .shop-btn--danger{background:#2b2118;color:#fff!important}.shop-balance-input{height:52px;padding:0 14px;border-radius:14px;border:1px solid var(--shop-line);background:#fff;font-size:calc(24px * var(--os-font-scale, 1));font-weight:800;font-variant-numeric:tabular-nums}.shop-role__card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--shop-line);font-size:calc(12px * var(--os-font-scale, 1))}.shop-role__card .shop-pill{display:inline-flex;align-items:center;gap:4px}
