/* PeppyPOS plan locks + Subscription card (core/peppy.js, core/plans.js). Quiet, never naggy. */
.plan-lock-ic{display:inline-flex;width:13px;height:13px;flex:none}
.plan-lock-ic svg{width:100%;height:100%}
.plan-lock-tag{display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding:1px 7px 1px 6px;border-radius:999px;background:#FFF1E2;color:#8A4A0B;font-family:var(--font);font-size:11px;font-weight:800;line-height:18px;vertical-align:middle;white-space:nowrap}
.plan-lock-tag .plan-lock-ic{width:11px;height:11px}
.plan-is-locked{opacity:.78;cursor:pointer}
.plan-is-locked:hover{opacity:1}
.btn.plan-is-locked{background:#fff;color:var(--body);border:1px dashed #E3C7A6}
.plan-lock-ask{font-size:12.5px;color:var(--body);font-weight:600}

.plan-locked{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px dashed #E8C9A5;border-radius:14px;background:#FFFBF6}
.plan-locked-ic{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#FFE9D2;color:#B85F0B}
.plan-locked-ic svg{width:18px;height:18px}
.plan-locked-main{flex:1;min-width:0}
.plan-locked-title{font-family:var(--display);font-weight:600;font-size:15px;color:var(--black)}
.plan-locked-text{font-size:13px;color:var(--body);margin-top:2px}
.plan-locked .btn{flex:none}
@media (max-width:560px){.plan-locked{flex-wrap:wrap}.plan-locked .btn{width:100%;justify-content:center}}
.plan-locked-page{max-width:640px;margin:8px auto;display:flex;flex-direction:column;gap:14px}

.plan-range-hint{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:6px;font-size:12.5px;color:var(--body)}
.plan-range-hint a{color:#B85F0B;font-weight:700;text-decoration:underline;text-underline-offset:2px}

.plan-upsell p{font-size:14px;color:var(--body);line-height:1.55;margin:10px 0 0}
.plan-upsell-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#FFF1E2;color:#8A4A0B;font-weight:800;font-size:12.5px}

/* nav lock */
.nav-lock{width:12px!important;height:12px!important;margin-left:auto;opacity:.55;flex:none}
.bottom-nav .nav-lock,.more-item .nav-lock{position:absolute;top:6px;right:10px;margin:0}
.bottom-nav a,.more-item{position:relative}

/* Subscription card */
.peppy-plans.four{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
@media (max-width:640px){.peppy-plans.four{grid-template-columns:1fr}}
.peppy-plan-limits{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-direction:column;gap:3px;font-size:12.5px;color:var(--black);font-weight:600}
.peppy-plan-limits li{display:flex;align-items:center;gap:6px}
.peppy-plan-limits li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--orange);flex:none}
.peppy-sub-usage:empty{display:none}
.peppy-sub-meter{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13px;font-weight:700;color:var(--black)}
.peppy-sub-bar{flex:0 1 160px;height:6px;border-radius:999px;background:#F1E6D9;overflow:hidden}
.peppy-sub-bar i{display:block;height:100%;background:var(--orange);border-radius:inherit}
.peppy-sub-meter-note{font-weight:600;color:var(--body);font-size:12.5px}
.peppy-sub-billing.hidden{display:none}

/* page locks: settings users seats, support AI cap (pages/settings.js, pages/support.js) */
.set-seats{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:13px;color:var(--body)}
.set-seats.hidden{display:none}
.set-seats-count{font-weight:800;color:var(--black)}
.set-seats.full{padding:10px 12px;border:1px dashed #E8C9A5;border-radius:12px;background:#FFFBF6}
.set-seats-note{flex:1 1 220px}
.sup-cap{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:0 0 10px;padding:12px 14px;border:1px dashed #E8C9A5;border-radius:14px;background:#FFFBF6}
.sup-cap p{margin:0;font-size:14px;line-height:1.5;color:var(--black);font-weight:600}
.sup-composer-foot .sup-left{float:right;color:var(--body)}

/* plan locks on Sell / Stock / Menu (sell.js, stock.js, products.js) */
.sell-seg button.plan-is-locked{display:inline-flex;align-items:center;justify-content:center;gap:0;white-space:nowrap;overflow-wrap:normal;overflow:visible}
.sell-seg button .plan-lock-tag{font-size:0;gap:0;margin-left:5px;padding:3px 5px}
.sell-seg button .plan-lock-tag .plan-lock-ic{width:10px;height:10px;padding:0}
.sell-sources-lbl .plan-lock-tag,.sell-field label .plan-lock-tag{text-transform:none;letter-spacing:0}
.prod-rcp-ro{list-style:none;margin:0 0 4px;padding:0;display:flex;flex-direction:column;gap:4px}
.prod-rcp-ro li{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;padding:6px 10px;border-radius:8px;background:#FBF6F0}
.prod-rcp-ro-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* compact lock chip (icon only, title says the plan) inside segmented pickers and card headers */
.seg .plan-lock-tag,.card-head .actions .plan-lock-tag:not(.set-full-tag){gap:0;padding:3px;margin-left:5px;font-size:0;line-height:0}
.seg .plan-lock-tag .plan-lock-ic,.card-head .actions .plan-lock-tag:not(.set-full-tag) .plan-lock-ic{padding:0;width:11px;height:11px}
.rep-picker + .plan-range-hint{margin:-10px 0 14px}
.peppy-trial-link{white-space:nowrap}
.peppy-sub-billing[hidden]{display:none}

/* Free plan (HQ-CONTRACT.md section 6): soft upgrade card, usage meters, heads-up, limit sheet */
.peppy-free-card{display:flex;flex-direction:column;gap:10px;padding:16px 18px;border:1px solid #F4D2AE;border-radius:16px;background:linear-gradient(180deg,#FFF7EE,#FFFFFF)}
.peppy-free-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.peppy-sub-badge.free{background:var(--black);color:#fff}
.peppy-free-title{font-family:var(--display);font-weight:600;font-size:18px;color:var(--black);line-height:1.3}
.peppy-free-card .text-body{margin:0;font-size:14px;line-height:1.55}
.peppy-free-meters{display:flex;flex-direction:column;gap:8px}
.peppy-free-meters:empty{display:none}
.peppy-free-meters .peppy-sub-meter>span:first-child{flex:0 0 190px}
.peppy-free-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.peppy-sub-meter.warn .peppy-sub-bar i{background:#E3A867}
.peppy-sub-meter.full .peppy-sub-bar i{background:var(--danger)}
@media (max-width:560px){.peppy-free-meters .peppy-sub-meter>span:first-child{flex:1 1 100%}.peppy-sub-bar{flex:1 1 100%}.peppy-free-actions .btn{width:100%;justify-content:center}}

.peppy-headsup{display:flex;align-items:center;gap:10px;padding:9px 10px 9px 14px;border:1px solid #F4D2AE;border-radius:12px;background:#FFF7EE;font-size:13.5px;color:var(--black);font-weight:600}
.peppy-headsup.hidden{display:none}
.peppy-headsup.full{border-color:#F2B8B8;background:#FFF4F4}
.peppy-headsup-text{flex:1;min-width:0;line-height:1.4}
.peppy-headsup-text .muted{font-weight:600}
.peppy-headsup .btn{flex:none}
.peppy-headsup-x{flex:none;width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:var(--body);font-size:20px;line-height:1;cursor:pointer}
.peppy-headsup-x:hover{background:rgba(14,11,15,.06)}

/* offline check-in on Sell (core/checkin.js) */
.sell-checkin.hidden{display:none}
.sell-checkin.warn{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:var(--warn-tint);color:var(--warn-text);font-size:13px;font-weight:700}
.sell-checkin.warn svg{flex:none}
.sell-checkin.blocked{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:16px;background:var(--black);color:#fff}
.sell-checkin-main{flex:1;min-width:0}
.sell-checkin-title{display:block;font-family:var(--display);font-weight:600;font-size:19px}
.sell-checkin.blocked p{margin:4px 0 0;font-size:14px;line-height:1.5;color:#fff}
.sell-checkin.blocked p.muted{color:#D9CFC4}
.sell-checkin.blocked .btn{flex:none}
.sell.checkin-blocked .sell-grid,.sell.checkin-blocked .sell-chips,.sell.checkin-blocked .sell-sources{opacity:.35;pointer-events:none;filter:grayscale(.6)}
@media (max-width:640px){.sell-checkin.blocked{flex-direction:column;align-items:stretch}.sell-checkin.blocked .btn{justify-content:center}}
.plan-upsell p.sup-free-title{font-family:var(--display);font-weight:600;font-size:17px;color:var(--black);margin-top:12px}

/* Missed payment (HQ-CONTRACT.md section 8): grace countdown and paused bar, after-sale note */
.peppy-standing.hidden{display:none}
.peppy-standing{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 14px;min-height:36px;padding:7px 16px;font-size:13.5px;font-weight:700;line-height:1.4;text-align:center}
.peppy-standing.grace{background:#FFF1E2;color:#7A3E06;border-bottom:1px solid #F4D2AE}
.peppy-standing.paused{background:var(--black);color:#fff}
.peppy-standing-text{min-width:0}
.peppy-standing .btn{flex:none;background:var(--orange);border-color:var(--orange);color:var(--black)}
.peppy-standing .btn:hover{background:var(--orange-d);border-color:var(--orange-d)}
.peppy-standing-ask{font-weight:800;text-decoration:underline;text-underline-offset:3px}
.peppy-standing.paused .peppy-standing-ask{color:var(--orange)}
.toast.peppy-standing-toast{align-items:center}
.toast.peppy-standing-toast .peppy-toast-pay{flex:none;margin-left:4px}
.toast.peppy-standing-toast .peppy-standing-ask{flex:none;font-size:12.5px}
.peppy-free-card.paused{border-color:#E8C9A5}
@media (max-width:640px){.peppy-standing{font-size:12.5px;padding:7px 12px}}
