/* Kits & Parts (owners only) — everything scoped under .kp so it can't touch the rest of the app. */
.pp #ptabs{border-bottom:0;margin-bottom:-12px}
.pp main .wrap{padding-block:16px 48px}
.kp{display:grid;gap:18px}
.kp .kitpick{display:flex;gap:8px;flex-wrap:wrap}
.kp .opts{display:grid;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px}
.kp .opt{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:center}
.kp .opt>b{font-family:var(--display);font-size:1rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.kp .qty{display:flex;align-items:center;gap:10px}
.kp .qty input{width:80px;font:inherit;font-size:1.05rem;padding:6px 10px;border:2px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}
.kp .sec h3{font-family:var(--display);font-weight:800;font-size:1.35rem;letter-spacing:.04em;text-transform:uppercase;margin:0 0 4px}
.kp .sec .sub{color:var(--muted);font-size:.9rem;margin:0 0 10px}
.kp .card{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.kp .ln{display:grid;grid-template-columns:minmax(90px,auto) 1fr auto;gap:4px 12px;align-items:baseline;padding:10px 14px;border-top:1px solid var(--line)}
.kp .card>.ln:first-child,.kp .card>details:first-child>summary.ln{border-top:0}
.kp .ln .nm{min-width:0}
.kp .ln .q{font-family:var(--mono);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.kp .ln .q::before{content:"×";color:var(--muted);margin-right:2px}
.kp .ln small{display:block;color:var(--muted);font-size:.85rem}
.kp details>summary.ln{cursor:pointer;list-style:none}
.kp details>summary.ln .nm::after{content:" +";color:var(--steel);font-weight:700}
.kp details[open]>summary.ln .nm::after{content:" \2212"}
.kp .inner{background:var(--bg);border-top:1px solid var(--line);padding:2px 0 2px 18px}
.kp .inner .ln{padding:7px 14px;border-top:1px dashed var(--line)}
.kp .inner .ln:first-child{border-top:0}
.kp .tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:1px 6px;border-radius:4px;margin-left:6px;vertical-align:1px}
.kp .t-bought{background:var(--line);color:var(--ink)}
.kp .t-laser{background:var(--warn-bg);color:var(--warn)}
.kp .t-cut{background:var(--ok-bg);color:var(--ok)}
.kp .t-weld{background:var(--steel);color:var(--steel-ink)}
.kp .t-bag,.kp .t-pack{border:1px solid var(--muted);color:var(--muted)}
.kp .grp{font-family:var(--display);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:12px 14px 4px;border-top:1px solid var(--line)}
.kp .card>.grp:first-child{border-top:0}
.kp .todo{font-size:.9rem}
.kp .libq{width:100%;box-sizing:border-box;font:inherit;font-size:1.05rem;padding:12px 14px;border:2px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}
.kp .libq:focus{outline:none;border-color:var(--steel)}
.kp .used{color:var(--muted);font-size:.88rem;padding:6px 14px 10px}
.kp .used a{color:var(--steel);cursor:pointer;text-decoration:underline}
.kp .prt{justify-self:start}
@media (max-width:520px){.kp .opt{grid-template-columns:1fr}.kp .ln{grid-template-columns:auto 1fr auto}}
@media print{
  .pp header,.kp .opts,.kp .prt,.kp .kitpick{display:none!important}
  .pp body,.pp{background:#fff;color:#000}
  .kp .card{break-inside:auto;border-color:#999}
}
