/* ParcelPull page. Uses the site tokens from /css/styles.css; layout follows docs prototype (parcelpull-prototype.html). */
.pp-hero .wrap{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:end;padding-block:var(--space-7) var(--space-7)}
.pp-hero h1{font-size:clamp(2rem,4.2vw,2.75rem);margin:0}
.pp-hero .lead{margin:0}
.pp-hero .note{margin-top:var(--space-3)}
.pp-main{padding:var(--space-7) 0 var(--space-8)}
.pp-acctbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-1)}
.pp-acctbar p{font:500 1rem/1.5 var(--font-ui);color:var(--color-text-muted);margin:0;flex:1 1 300px}
.pp-acctbar p b{color:var(--color-text)}
.pp-acctbar .btn{flex:0 0 auto;padding:14px 32px}
@media (max-width:560px){.pp-acctbar .btn{width:100%;justify-content:center}}
.pp-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:var(--space-5);align-items:start}
.pp-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);min-width:0}
.pp-panel-h{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}
.pp-panel-h h2{font-size:1.25rem;text-transform:none;letter-spacing:0;font-variation-settings:"wdth" 112}
.pp-panel-b{padding:var(--space-5)}
.pp-search{display:flex;gap:var(--space-2);flex:1 1 320px;margin:0}
.pp-search input{margin:0;flex:1 1 auto;min-width:0}
.pp-search .btn{flex:0 0 auto}
.pp-map{height:520px;background:var(--color-sunken);border-radius:0 0 var(--radius-md) var(--radius-md);z-index:0}
.pp-map .leaflet-container{font-family:var(--font-ui)}
.pp-legend{display:flex;flex-wrap:wrap;gap:var(--space-4);padding:var(--space-3) var(--space-5);font:500 13px var(--font-ui);color:var(--color-text-muted);border-top:1px solid var(--color-border)}
.pp-legend i{display:inline-block;width:18px;height:10px;margin-right:6px;vertical-align:middle;border-radius:2px}
.pp-maphint{font:500 13px var(--font-ui);color:var(--color-text-muted);padding:0 var(--space-5) var(--space-3)}
.pp-empty{color:var(--color-text-muted);padding:var(--space-6) var(--space-5);text-align:center;font-size:1rem}
.pp-pid{font:600 14px var(--font-ui);color:var(--color-text-muted);font-variant-numeric:tabular-nums}
.pp-addr{font:800 1.625rem/1.15 var(--font-display);font-variation-settings:"wdth" 112;margin:0 0 4px;text-wrap:balance}
.pp-chips{display:flex;flex-wrap:wrap;gap:6px;margin:var(--space-3) 0 var(--space-4)}
.pp-chip{font:700 12px var(--font-ui);letter-spacing:.04em;border-radius:99px;padding:3px 10px;border:1px solid currentColor;color:var(--color-primary)}
.pp-chip.ok{color:var(--color-success)}.pp-chip.warn{color:var(--color-warning)}.pp-chip.wait{color:var(--color-text-muted);border-style:dashed}
dl.pp-kv{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0}
dl.pp-kv dt{font:700 12px var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);padding-top:3px}
dl.pp-kv dd{margin:0;font-size:1rem;line-height:1.45;min-width:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
dl.pp-kv dd small{display:block;color:var(--color-text-muted);font-size:.875rem;margin-top:2px}
.pp-missing{color:var(--color-warning);font-family:var(--font-ui);font-weight:600;font-size:.9375rem}
.pp-sec{border-top:1px solid var(--color-border);margin-top:var(--space-5);padding-top:var(--space-4)}
.pp-sec h3{font-size:1.1875rem;margin-bottom:var(--space-3)}
.pp-tier{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-3)}
.pp-tier input{margin-bottom:var(--space-3)}
.pp-tier .chk{grid-column:1/-1;display:flex;gap:8px;align-items:center;font:500 14px var(--font-ui);margin:0 0 var(--space-3)}
.pp-tier .chk input{width:auto;margin:0}
.pp-tier-out{border-left:4px solid var(--color-accent);background:var(--color-sunken);padding:var(--space-3) var(--space-4);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font:500 .9375rem/1.55 var(--font-ui)}
.pp-tier-out a{color:var(--color-primary);font-weight:700}
.pp-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-5)}
.pp-gate{margin-top:var(--space-4);padding:var(--space-4);background:var(--color-sunken);border-radius:var(--radius-sm)}
.pp-gate p{font:500 .9375rem/1.5 var(--font-ui);margin-bottom:var(--space-3)}
.pp-gate .row{display:flex;gap:var(--space-2);flex-wrap:wrap}
.pp-gate input{margin:0;flex:1 1 220px}
.pp-gate .pp-agree{display:flex;gap:10px;align-items:flex-start;font:500 14px/1.5 var(--font-ui);margin:0 0 var(--space-3)}
.pp-gate .pp-agree input{flex:0 0 auto;width:auto;margin:3px 0 0}
.pp-status{font:600 14px/1.5 var(--font-ui);margin-top:var(--space-3);min-height:1.2em;color:var(--color-text-muted)}
.pp-status.err{color:var(--color-error)}
.pp-note{font-size:.9375rem;color:var(--color-text-muted);margin-top:var(--space-4);line-height:1.55}
.pp-credit{font:500 12px/1.5 var(--font-ui);color:var(--color-text-muted);margin-top:var(--space-3)}
.pp-options{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}
.pp-options button{font:600 14px var(--font-ui);padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-primary);cursor:pointer}
.pp-msg{padding:var(--space-5)}
.pp-msg p{font:500 1rem/1.55 var(--font-ui)}
.pp-msg .btn{margin-top:var(--space-4)}
.pp-spin{display:inline-block;width:14px;height:14px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:ppspin .8s linear infinite;vertical-align:-2px;margin-right:6px}
@keyframes ppspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.pp-spin{animation:none}}
@media (max-width:900px){.pp-grid,.pp-hero .wrap{grid-template-columns:1fr}.pp-hero .wrap{gap:var(--space-4)}.pp-map{height:400px}}
@media (max-width:560px){.pp-tier{grid-template-columns:1fr 1fr}.pp-map{height:340px}.pp-search{flex-wrap:wrap}.pp-search .btn{width:100%;justify-content:center}}
