.capacity-portfolio,.capacity-detail,.onboarding-phases,.onboarding-phase-editor{margin:24px 0;padding:24px;border:1px solid var(--line,#d2d2d7);border-radius:22px;background:var(--paper,#fff);color:var(--ink,#1d1d1f);min-width:0;flex-shrink:0}
.capacity-portfolio .panel-head{padding:0 0 16px}.capacity-legend{display:flex;flex-wrap:wrap;gap:18px;font-size:12px;margin:8px 0 24px}.capacity-legend span:before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--capacity-color);margin-right:7px}
.capacity-portfolio .green,.capacity-meter.green{--capacity-color:#248a3d}.capacity-portfolio .yellow,.capacity-meter.yellow{--capacity-color:#b08500}.capacity-portfolio .orange,.capacity-meter.orange{--capacity-color:#c65d00}.capacity-portfolio .red,.capacity-meter.red{--capacity-color:#d70015}
.capacity-package{margin:24px 0}.capacity-package h4{font-size:16px;margin:0 0 14px}.capacity-package h4 small{font-size:12px;font-weight:400;margin-left:8px;color:var(--muted,#6e6e73)}.capacity-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr));gap:16px}
.capacity-card{width:100%;text-align:left;padding:20px;border:1px solid var(--line,#d2d2d7);border-radius:18px;background:var(--paper,#fff);color:inherit;font:inherit;cursor:pointer;transition:transform .15s,border-color .15s}.capacity-card:hover{transform:translateY(-2px);border-color:#007aff}.capacity-card:focus-visible{outline:3px solid #007aff;outline-offset:3px}.capacity-card-title{display:flex;justify-content:space-between;font-weight:650;margin-bottom:6px}.capacity-card>small{color:var(--muted,#6e6e73)}
.capacity-meter{margin-top:20px}.capacity-meter-label{display:flex;justify-content:space-between;gap:12px;font-size:12px;line-height:1.6}.capacity-meter-label strong{color:var(--capacity-color)}.capacity-meter-label strong span{color:var(--muted,#6e6e73);font-weight:400}.capacity-track{height:12px;border-radius:10px;background:var(--line,#e5e5ea);overflow:hidden;margin:10px 0}.capacity-track i{display:block;height:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--capacity-color),white 20%),var(--capacity-color));border-radius:inherit;transition:width .25s}.capacity-over{color:#d70015;font-weight:600;font-size:13px}.capacity-ledger{margin-top:24px}.capacity-ledger summary{cursor:pointer;font-weight:600;padding:12px 0}.capacity-work-notes{white-space:pre-wrap;overflow-wrap:anywhere;max-width:560px}.capacity-entry-preview{width:100%;padding:18px;border-radius:16px;border:1px solid var(--line,#d2d2d7);margin:18px 0}.capacity-entry-preview .capacity-meter{margin-top:8px}
.onboarding-phase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:16px}.onboarding-phase{border:1px solid var(--line,#d2d2d7);border-radius:18px;padding:22px;margin:16px 0;min-width:0;flex-shrink:0}.onboarding-phase>div:first-child{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}.onboarding-phase h4{flex:1;margin:0;font-size:16px}.onboarding-phase .phase-number{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--line,#e5e5ea);font-weight:600}.onboarding-phase.complete .phase-number{background:#248a3d;color:white}.onboarding-phase.blocked{border-color:#ff9f0a}.onboarding-phase p{font-size:13px;line-height:1.7}.onboarding-phase-editor[hidden]{display:none}.onboarding-phase-editor textarea,.engineer-time-form textarea,.vendor-portal-form textarea[name="notes"]{min-height:120px}.onboarding-phase-editor label{font-size:12px;line-height:1.6}.onboarding-phase-editor input,.onboarding-phase-editor select,.onboarding-phase-editor textarea{width:100%;color:inherit;background:var(--paper,#fff);border:1px solid var(--line,#d2d2d7);border-radius:10px;padding:10px}.onboarding-phase-editor input:disabled{opacity:.5}
:root[data-theme="dark"] .capacity-portfolio,:root[data-theme="dark"] .capacity-detail,:root[data-theme="dark"] .onboarding-phases,:root[data-theme="dark"] .onboarding-phase-editor,:root[data-theme="dark"] .capacity-card{background:#1c1c1e;color:#f5f5f7;border-color:#38383a}
:root[data-theme="dark"] .capacity-portfolio .green,:root[data-theme="dark"] .capacity-meter.green{--capacity-color:#30d158}:root[data-theme="dark"] .capacity-portfolio .yellow,:root[data-theme="dark"] .capacity-meter.yellow{--capacity-color:#ffd60a}:root[data-theme="dark"] .capacity-portfolio .orange,:root[data-theme="dark"] .capacity-meter.orange{--capacity-color:#ff9f0a}:root[data-theme="dark"] .capacity-portfolio .red,:root[data-theme="dark"] .capacity-meter.red{--capacity-color:#ff453a}:root[data-theme="dark"] .capacity-over{color:#ff453a}:root[data-theme="dark"] .capacity-track{background:#38383a}:root[data-theme="dark"] .onboarding-phase-editor input,:root[data-theme="dark"] .onboarding-phase-editor select,:root[data-theme="dark"] .onboarding-phase-editor textarea{background:#2c2c2e;color:#f5f5f7;border-color:#48484a}
@media(max-width:650px){.capacity-portfolio,.capacity-detail,.onboarding-phases,.onboarding-phase-editor{padding:16px}.onboarding-phase{padding:16px}.capacity-meter-label{flex-wrap:wrap}}
.engagement-contract-summary{margin:0 0 20px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink);min-width:0}
.engagement-contract-summary h3{margin:0 0 16px;font-size:18px}.engagement-contract-summary dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0}
.engagement-contract-summary dl>div{min-width:0;padding:16px;border:1px solid var(--line);border-radius:12px}.engagement-contract-summary dt{font-size:12px;font-weight:650;color:var(--muted);line-height:1.5}.engagement-contract-summary dd{margin:8px 0;font-size:23px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}.engagement-contract-summary small,.engagement-contract-summary p{font-size:13px;line-height:1.5;color:var(--muted)}.engagement-contract-summary p{margin:16px 0 0}
@media(max-width:1000px){.engagement-contract-summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.engagement-contract-summary{padding:16px}.engagement-contract-summary dl{grid-template-columns:1fr}.engagement-contract-summary dd{font-size:21px}}
