.zpr-choice{--zpr-border:var(--zk-line,#e5e7eb);--zpr-accent:var(--zk-accent-2,#2563eb);--zpr-muted:var(--zk-muted,#6b7280);--zpr-up:#b45309;--zpr-up-bg:#fef3c7;--zpr-down:#047857;--zpr-down-bg:#d1fae5;margin:12px 0 16px;padding:12px;border:1px solid var(--zpr-border);border-radius:var(--zk-r-lg,12px);background:#fff}
.zpr-choice-title{font-weight:700;margin-bottom:8px}
.zpr-choice.zpr-empty{color:#b91c1c;background:#fef2f2;border-color:#fecaca}
.zpr-cat{border:1px solid var(--zpr-border);border-radius:var(--zk-r-lg,10px);padding:8px 10px;margin:6px 0;transition:border-color .15s}
.zpr-cat.is-active{border-color:var(--zpr-accent);box-shadow:0 0 0 1px var(--zpr-accent)}
.zpr-cat-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;cursor:pointer;margin:0}
.zpr-cat-name{font-weight:600}
.zpr-cat-price{margin-inline-start:auto;font-weight:700}
.zpr-cat-desc{display:block;color:var(--zpr-muted);margin-top:4px}
.zpr-badge{display:inline-block;font-size:11px;line-height:1;padding:4px 7px;border-radius:999px}
.zpr-badge.is-up{color:var(--zpr-up);background:var(--zpr-up-bg)}
.zpr-badge.is-down{color:var(--zpr-down);background:var(--zpr-down-bg)}
.zpr-toggle{background:none;border:0;padding:4px 0;margin-top:4px;color:var(--zpr-accent);font-size:12px;cursor:pointer}
.zpr-toggle[aria-expanded=true]::after{content:" ▲"}
.zpr-toggle[aria-expanded=false]::after{content:" ▼"}
.zpr-gws{padding:6px 10px 2px;border-top:1px dashed var(--zpr-border);margin-top:4px}
.zpr-gw{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:4px 0;font-size:13px;cursor:pointer}
.zpr-gw-price{font-weight:600}
.zpr-gw-cap{color:var(--zpr-muted)}

.zpr-breakdown{--zpr-border:var(--zk-line,#e5e7eb);--zpr-muted:var(--zk-muted,#6b7280);--zpr-danger:#b91c1c;margin:16px 0;padding:14px;border:1px solid var(--zpr-border);border-radius:var(--zk-r-lg,12px);background:#fff}
.zpr-breakdown-title{font-size:16px;margin:0 0 10px}
.zpr-group{border:1px solid var(--zpr-border);border-radius:var(--zk-r-lg,10px);padding:10px 12px;margin:8px 0}
.zpr-group.is-over{border-color:var(--zpr-danger);background:#fef2f2}
.zpr-group-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.zpr-group-sum{margin-inline-start:auto;font-weight:700}
.zpr-group-cap{color:var(--zpr-muted);width:100%}
.zpr-group-error{color:var(--zpr-danger);font-size:13px;margin-top:6px}
.zpr-lines{list-style:none;margin:8px 0 0;padding:0}
.zpr-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 0;border-top:1px solid var(--zpr-border);font-size:13px}
.zpr-line-name{flex:1 1 180px}
.zpr-line-sum{font-weight:600}
.zpr-line-select{flex:1 1 100%;max-width:100%}
.zpr-line-choice{color:var(--zpr-muted);flex:1 1 100%}
.zpr-split{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:12px;color:var(--zpr-muted)}
.zpr-apply{margin-top:8px}
.zpr-note{color:var(--zpr-muted);font-size:12px;margin:10px 0 0}
@media (min-width:640px){.zpr-line-select{flex:0 1 260px}.zpr-line-choice{flex:0 1 auto}}
.zpr-loop-row{display:flex;align-items:center;gap:6px;margin-top:8px}
.zpr-loop-row .quantity{flex:0 0 64px}
.zpr-loop-row .quantity input.qty{width:100%;min-height:36px;text-align:center}
.zpr-loop-row .zpr-loop-add,.zpr-loop-row .zpr-loop-choose{flex:1;text-align:center;white-space:nowrap;font-size:13px}

.zpr-hub{--zpr-border:var(--zk-line,#e5e7eb);--zpr-muted:var(--zk-muted,#6b7280);margin:0 0 18px;padding:14px;border:1px solid var(--zpr-border);border-radius:var(--zk-r-lg,12px);background:#fff}
.zpr-hub-link{padding:10px 14px}
.zpr-hub-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.zpr-hub-head h3{margin:0;font-size:16px}
.zpr-hub-deadline{color:var(--zpr-muted);font-size:13px}
.zpr-slips{list-style:none;margin:0;padding:0}
.zpr-slip{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--zpr-border)}
.zpr-slip-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1 1 260px}
.zpr-slip-amount{font-weight:700}
.zpr-slip-info small{color:var(--zpr-muted)}
.zpr-slip-actions{display:flex;gap:6px;flex-wrap:wrap}
.zpr-slip-actions form{margin:0}
.zpr-badge:not(.is-up):not(.is-down){color:var(--zk-accent-2,#1d4ed8);background:#dbeafe}
