/* Scoped shared components; each shop supplies its own visual tokens. */
.sh-theme-espant{--sh-accent:#d55b2b;--sh-tint:#fff5ee;--sh-ink:#192a35;--sh-muted:#647888;--sh-border:#dce4e9;--sh-surface:#fff;--sh-green:#237349;--sh-rail:#e5eaec;--sh-shadow:0 8px 22px #1b34400c}
.sh-theme-deviceden{--sh-accent:#0873ce;--sh-tint:#eaf4ff;--sh-ink:#11334b;--sh-muted:#5a7890;--sh-border:#cddff0;--sh-surface:#fff;--sh-green:#15754d;--sh-rail:#dce7ef;--sh-shadow:0 6px 18px #0755a00a}
html.dark-theme .sh-theme-espant,html[data-theme="dark"] .sh-theme-espant{--sh-accent:#ffab81;--sh-tint:#302923;--sh-ink:#edf2f4;--sh-muted:#b0c0cc;--sh-border:#3d4c58;--sh-surface:#202d37;--sh-green:#83d6a4;--sh-rail:#44515b;--sh-shadow:none}
.sh-ui{color:var(--sh-ink);font:inherit;box-sizing:border-box}.sh-ui *, .sh-ui *::before,.sh-ui *::after{box-sizing:border-box}
.sh-availability{position:relative;display:inline-block;font-size:14px;line-height:1.4;margin:0 0 6px}
.sh-availability>summary{list-style:none;display:flex;align-items:center;gap:9px;min-height:34px;padding:6px 11px;border:1px solid var(--sh-border);border-radius:9px;background:var(--sh-surface);cursor:pointer;color:var(--sh-green);white-space:nowrap}
.sh-theme-deviceden .sh-availability>summary{border-radius:7px;background:var(--sh-tint);border-color:transparent}
.sh-ui summary::-webkit-details-marker{display:none}.sh-ui summary:focus-visible,.sh-ui a:focus-visible,.sh-ui select:focus-visible{outline:2px solid var(--sh-accent);outline-offset:3px}
.sh-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.sh-scale{display:flex;align-items:center;gap:4px;margin-left:4px}.sh-scale i{display:block;width:7px;height:17px;border-radius:3px;background:var(--sh-rail)}
.sh-level-1{--sh-fill:#ba861a}.sh-level-2{--sh-fill:#7f9b34}.sh-level-3{--sh-fill:#379262}.sh-level-4{--sh-fill:#1b9478}.sh-level-5{--sh-fill:#087a61}
.sh-theme-deviceden .sh-level-1{--sh-fill:#bd861d}.sh-theme-deviceden .sh-level-2{--sh-fill:#64935a}.sh-theme-deviceden .sh-level-3{--sh-fill:#258c8e}.sh-theme-deviceden .sh-level-4{--sh-fill:#1388ad}.sh-theme-deviceden .sh-level-5{--sh-fill:#0873ce}
html.dark-theme .sh-scale .is-filled{filter:brightness(1.4)}.sh-scale i.is-filled{background:var(--sh-fill)}
.sh-stock-tip{position:absolute;top:calc(100% + 7px);left:0;z-index:12;min-width:170px;max-width:260px;background:var(--sh-surface);border:1px solid var(--sh-border);box-shadow:var(--sh-shadow);border-radius:9px;padding:10px 13px;color:var(--sh-ink);font-size:13px;white-space:nowrap}
.sh-member{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:11px 0 17px;padding:10px 12px;border-radius:10px;background:var(--sh-tint);font-size:12px;line-height:1.5;border:1px solid transparent}
.sh-member>span:not(.sh-member-icon){font-weight:500}.sh-member a{color:var(--sh-accent)!important;font-weight:650;text-decoration:none!important}.sh-member .sh-register{font-weight:400;color:var(--sh-muted)!important}.sh-member-icon{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:var(--sh-surface);color:var(--sh-accent);font-size:17px;flex:none}.sh-member-active{color:var(--sh-green)}
.sh-theme-deviceden .sh-member{border-radius:7px;border-color:var(--sh-border);background:var(--sh-surface)}
.sh-fulfilment{margin:0 0 16px;border:1px solid var(--sh-border);border-radius:14px;background:var(--sh-surface);box-shadow:var(--sh-shadow);overflow:hidden}
.sh-delivery-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 15px;background:var(--sh-tint);font-size:12px;line-height:1.4}.sh-delivery-top>span{font-weight:650}.sh-delivery-top label{display:flex;align-items:center;gap:7px;margin:0;color:var(--sh-muted);font-size:11px}
.sh-delivery-top select{border:0;border-bottom:1px dashed var(--sh-accent);background:transparent;color:var(--sh-accent);font-family:inherit;font-size:12px;padding:3px 0;max-width:165px;border-radius:0;cursor:pointer}.sh-delivery-top option{color:var(--sh-ink);background:var(--sh-surface)}
.sh-method{margin:0 15px;border-bottom:1px solid var(--sh-border)}.sh-method:last-child{border-bottom:0}.sh-method>summary{display:grid;grid-template-columns:20px minmax(90px,1fr) minmax(90px,auto) 12px;align-items:center;gap:9px;list-style:none;cursor:pointer;padding:16px 0;line-height:1.45;font-size:13px;color:var(--sh-ink)}
.sh-method svg{width:20px;height:20px;color:var(--sh-accent)}.sh-method-label{font-weight:450}.sh-method summary strong{font-size:13px;text-align:right;font-weight:650}.sh-today summary strong{color:var(--sh-green)}.sh-chevron{color:var(--sh-muted);font-size:16px;transition:transform .16s}.sh-method[open] .sh-chevron{transform:rotate(180deg)}
.sh-date-list{padding:0 0 14px;font-size:12px;line-height:1.55;color:var(--sh-muted)}.sh-date-list .sh-list-title{display:block;margin:0 0 8px;color:var(--sh-muted);font-size:11px}.sh-date-list>div{display:flex;justify-content:space-between;gap:15px;padding:7px 10px;background:var(--sh-tint);margin:3px 0;border-radius:6px}.sh-date-list b{color:var(--sh-ink);white-space:nowrap}.sh-date-list>a{display:inline-block;margin:8px 0 0;color:var(--sh-accent);font-size:11px;text-decoration:none}
.sh-cost-parts{margin:0 15px}.sh-cost-parts>summary{list-style:none;cursor:pointer;font-size:11px;padding:12px 0;color:var(--sh-muted);display:flex;justify-content:space-between}.sh-cost-parts .sh-date-list{padding-bottom:10px}
.sh-theme-deviceden .sh-fulfilment{border-radius:9px}.sh-theme-deviceden .sh-delivery-top{background:#f1f7fd}.sh-theme-deviceden .sh-method>summary{grid-template-columns:19px minmax(75px,1fr) minmax(80px,auto) 10px;gap:7px;font-size:12px}.sh-theme-deviceden .sh-method summary strong{font-size:12px}
@media(max-width:600px){.sh-delivery-top{padding:12px}.sh-delivery-top label{font-size:0;gap:0}.sh-method{margin:0 12px}.sh-method>summary{font-size:12px;gap:7px;grid-template-columns:19px minmax(75px,1fr) minmax(75px,auto) 10px}.sh-method summary strong{font-size:12px;max-width:155px}.sh-member{gap:7px;font-size:12px}.sh-member .sh-register{margin-left:32px}.sh-member-active{flex-wrap:nowrap}.sh-availability>summary{min-height:32px}.sh-scale i{width:6px;height:15px}}
@media(prefers-reduced-motion:reduce){.sh-chevron{transition:none}}
.sh-ui .sh-delivery-top label select{font-size:12px!important;line-height:1.4;min-width:133px;max-width:165px;color:var(--sh-accent);background:transparent}
