/* Clinic Growth OS: Package builder. Scoped to .pk; uses tokens from style.css. */
.pk{color:var(--ink);font-variant-numeric:tabular-nums;max-width:100%;min-width:0}
.pk h2{font-family:Georgia,serif;font-size:28px;font-weight:400;margin:4px 0 6px}
.pk h3{font-size:18px;margin:0 0 8px}
.pk h4{font-size:15px;margin:18px 0 6px}
.pk h2:focus,.pk h3:focus{outline:none}
.pk-muted,.pk-hint{color:var(--text-secondary);font-size:13px;margin:4px 0}
.pk-help{font-size:14px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px 12px;margin:8px 0 14px}
.pk-empty{color:var(--text-secondary);font-style:italic}
.pk-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.pk-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin:8px 0 16px}
.pk-head>div{min-width:0}
.pk-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0}
.pk .pk-btn,.pk .pk-toggle,.pk .pk-step{min-height:var(--control-height);padding:0 14px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit;font-size:14px;cursor:pointer;margin:0}
.pk .pk-primary{background:var(--ox);border-color:var(--ox);color:#fff;font-weight:600}
.pk .pk-danger{background:#fff;border-color:var(--ox);color:var(--ox);font-weight:600}
.pk .pk-link{border:0;background:none;color:var(--ox);text-decoration:underline;padding:0 6px;min-height:var(--control-height)}
.pk .pk-btn:disabled{opacity:.5;cursor:not-allowed}
.pk .pk-toggle[aria-pressed="true"]{background:var(--ox);border-color:var(--ox);color:#fff;font-weight:600}
.pk button:focus-visible,.pk input:focus-visible,.pk select:focus-visible,.pk textarea:focus-visible,.pk [tabindex]:focus-visible{outline:3px solid var(--ox);outline-offset:2px}
.pk-toggles{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 14px}
.pk-notice{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;background:#fff7e6;border:1px solid #e0c28a;border-radius:9px;padding:6px 12px;margin-bottom:12px}
.pk-local{display:inline-block;background:#fff;border:1px dashed var(--ox);border-radius:9px;padding:6px 10px;font-size:13px}
.pk-learn{font-size:13px;color:var(--text-secondary);margin:8px 0}
.pk-panel,.pk-card,.pk-choice,.pk-line,.pk-patient{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;min-width:0}
.pk-panel{margin:12px 0}
.pk-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.pk .pk-cardlink{border:0;background:none;padding:0;font:inherit;font-size:18px;font-weight:600;color:var(--ox);text-align:left;cursor:pointer;min-height:var(--control-height);text-decoration:underline;overflow-wrap:anywhere}
.pk-kv{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:8px 0}
.pk-kv div{min-width:0}
.pk-kv dt{font-size:12px;color:var(--text-secondary)}
.pk-kv dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.pk-status{display:block;font-weight:400;font-size:12px}
.pk-status::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;background:var(--text-secondary)}
.pk-status[data-s="meets"]::before{background:#2f7a4a}
.pk-status[data-s="under"]::before{background:#b7791f}
.pk-status[data-s="below_cost"]::before{background:var(--ox)}
.pk-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:12px}
.pk-blueprints{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.pk-blueprints li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:8px}
.pk-field{display:flex;flex-direction:column;gap:4px;margin:0 0 12px;min-width:0}
.pk-field label,.pk-lbl{font-weight:600;font-size:14px}
.pk input:not([type=range]),.pk select,.pk textarea{min-height:var(--control-height);border:1px solid #cfc5bd;border-radius:9px;padding:8px 10px;font:inherit;font-size:15px;background:#fff;color:var(--ink);max-width:100%;width:100%}
.pk input[type=range]{width:100%;min-height:var(--control-height);accent-color:var(--ox)}
.pk-inline{display:flex;align-items:center;gap:6px;font-size:14px}
.pk-inline select{width:auto}
.pk-save{font-size:13px;color:var(--text-secondary);margin:2px 0}
.pk-save[data-state="dirty"],.pk-save[data-state="error"]{color:var(--ox);font-weight:600}
.pk-steps{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-wrap:wrap;gap:6px}
.pk .pk-step[aria-current="step"]{background:var(--ox);border-color:var(--ox);color:#fff;font-weight:600}
.pk-stepn{display:inline-block;min-width:1.4em;font-weight:700}
.pk-fs{border:0;padding:0;margin:0;min-width:0}
.pk-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}
.pk-aside{position:sticky;top:12px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px}
.pk .pk-sheetbar{display:none}
.pk-warn{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:4px}
.pk-warn li{border-left:3px solid var(--ox);padding-left:6px}
.pk-warn .pk-link{text-align:left;padding:4px 0;font-size:13px}
.pk-ok{font-size:13px;color:#2f7a4a}
.pk-nextprev{display:flex;justify-content:space-between;gap:8px;margin:16px 0}
.pk-chips{list-style:none;padding:0;margin:8px 0;display:flex;flex-wrap:wrap;gap:6px}
.pk .pk-chip{border-radius:999px;text-align:left;overflow-wrap:anywhere}
.pk-lines{list-style:none;padding:0;margin:12px 0;display:grid;gap:10px}
.pk-line{border-left:4px solid var(--line)}
.pk-line[data-role="core"]{border-left-color:var(--ox)}
.pk-line[data-role="bonus"]{border-left-color:#b7791f}
.pk-line[data-role="follow_through"]{border-left-color:#2f7a4a}
.pk-line-top{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:10px}
.pk-line-nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;align-items:end}
.pk-linetotal{font-size:13px;color:var(--text-secondary);margin:0 0 12px}
.pk-line-actions{display:flex;flex-wrap:wrap;gap:4px}
.pk-stepper{display:flex;gap:4px}
.pk-stepper .pk-btn{width:44px;padding:0;font-size:18px}
.pk-stepper input{text-align:center;min-width:0}
.pk-sug{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.pk-sug li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}
.pk-scroll{overflow-x:auto;max-width:100%;margin:8px 0}
.pk-table{border-collapse:collapse;width:100%;font-size:14px;background:#fff}
.pk-table th,.pk-table td{border-bottom:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}
.pk-econ td{text-align:right;white-space:nowrap}
.pk-table input{min-width:110px}
.pk-compare .pk-rec{background:#f8eef0}
.pk-badge{display:inline-block;background:var(--ox);color:#fff;border-radius:999px;padding:1px 8px;font-size:12px}
.pk-mini{margin:0;padding-left:16px}
.pk-bar{margin:10px 0}
.pk-bar-track{position:relative;height:12px;border-radius:6px;background:#eee9e4;overflow:visible}
.pk-bar-track[style]::after{content:"";position:absolute;left:var(--target);top:-4px;bottom:-4px;width:2px;background:var(--ink)}
.pk-bar-fill{height:100%;border-radius:6px;background:var(--text-secondary)}
.pk-bar[data-s="meets"] .pk-bar-fill{background:#2f7a4a}
.pk-bar[data-s="under"] .pk-bar-fill{background:#b7791f}
.pk-bar[data-s="below_cost"] .pk-bar-fill{background:var(--ox)}
.pk-checks{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.pk-checks li{display:flex;gap:8px;align-items:baseline}
.pk-checks li[data-met="true"] .pk-mark{color:#2f7a4a}
.pk-mark{font-weight:700;min-width:1em}
.pk-pv-name{font-family:Georgia,serif;font-size:24px;font-weight:400}
.pk-pv-tag{font-style:italic;margin:0 0 10px}
.pk-pv-facts,.pk-pv-totals{margin:10px 0}
.pk-pv-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding:6px 0}
.pk-pv-row dt{color:var(--text-secondary)}
.pk-pv-row dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.pk-pv-list{margin:0;padding-left:18px}
.pk-pv-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:2px 0}
.pk-pv-note{color:var(--text-secondary);font-size:13px}
.pk-pv-fine{font-size:12px;color:var(--text-secondary);margin-top:14px}
.pk-print-only{display:none}
@media (max-width:900px){
  .pk-layout{grid-template-columns:minmax(0,1fr)}
  .pk-main{padding-bottom:72px}
  .pk-aside{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:30;border-radius:12px 12px 0 0;padding:0;box-shadow:0 -4px 16px rgba(0,0,0,.12)}
  .pk .pk-sheetbar{display:block;width:100%;min-height:52px;border:0;background:var(--ox);color:#fff;font:inherit;font-weight:600;border-radius:12px 12px 0 0;padding:0 16px;text-align:left}
  .pk-summary{display:none;max-height:65vh;overflow:auto;padding:14px}
  .pk-aside.pk-open .pk-summary{display:block}
  .pk-line-top{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){.pk *{transition:none!important;animation:none!important}}
@media print{
  body *{visibility:hidden!important}
  .pk-print-only,.pk-print-only *{visibility:visible!important}
  .pk-print-only{display:block!important;position:absolute;left:0;top:0;width:100%}
  .pk-print-only .pk-patient{border:0;padding:0}
}
