.pbw-shell { display: grid; gap: 18px; min-width: 0; }
.pbw-shell *, .pbw-shell *::before, .pbw-shell *::after { box-sizing: border-box; }
.pbw-shell .pbw-panel { min-width: 0; margin: 0; }
.pbw-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.pbw-heading h2, .pbw-heading h3, .pbw-heading h4 { margin: 0 0 8px; }
.pbw-heading .eyebrow { margin-top: 0; }
.pbw-hero { background: linear-gradient(130deg, #f1f7ff, #fff 75%); border-color: #cddbf0; }
.pbw-hero h2 { font-size: 24px; letter-spacing: -.035em; }
.pbw-hero > p { line-height: 1.65; color: #4d617b; }
.pbw-alert { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px; border: 1px solid #d4dff0; border-radius: 10px; background: #f3f7fd; color: #304c72; font-size: 13px; line-height: 1.6; margin: 0; overflow-wrap: anywhere; }
.pbw-alert.warning { border-color: #eed9b2; background: #fff8ed; color: #785321; }
.pbw-alert.success { border-color: #c0ddce; background: #f0f9f4; color: #235f42; }
.pbw-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.pbw-kpis > div { display: grid; gap: 7px; padding: 18px; border: 1px solid #e0e6ef; border-radius: 12px; background: #fff; }
.pbw-kpis strong { font-size: 25px; color: #244b83; }
.pbw-kpis span { font-size: 12px; color: #53657f; }
.pbw-help, .pbw-permission { font-size: 12px; color: #607089; line-height: 1.65; }
.pbw-permission { color: #855a24; }
.pbw-badge { display: inline-flex; width: fit-content; align-items: center; padding: 4px 9px; background: #edf3ff; border: 1px solid #dbe7fd; border-radius: 8px; color: #3d6093; font-size: 11px; font-weight: 600; line-height: 1.5; }
.pbw-badge.neutral { background: #f3f5f8; border-color: #e3e7ed; color: #536177; }
.pbw-market-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin-top: 16px; }
.pbw-market { border: 1px solid #e1e7ef; border-radius: 12px; padding: 14px; min-width: 0; }
.pbw-market h4 { font-size: 14px; }
.pbw-link { font-size: 12px; font-weight: 600; text-decoration: none; color: #275caa; }
.pbw-link:hover { text-decoration: underline; }
.pbw-account { display: flex; flex-direction: column; gap: 6px; padding-top: 10px; border-top: 1px solid #eef1f5; margin-top: 8px; overflow-wrap: anywhere; }
.pbw-account strong { font-size: 13px; }
.pbw-account small, .pbw-market-note { font-size: 11px; color: #68788e; line-height: 1.55; }
.pbw-market-note { margin: 10px 0 0; overflow-wrap: anywhere; }
.pbw-details { margin-top: 18px; padding-top: 16px; border-top: 1px solid #e5ebf2; }
.pbw-details summary { cursor: pointer; font-size: 13px; font-weight: 600; color: #334f77; }
.pbw-details[open] summary { margin-bottom: 16px; }
.pbw-work-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; align-items: start; }
.pbw-shell fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.pbw-shell fieldset:disabled { opacity: .72; }
.pbw-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; margin: 18px 0; }
.pbw-shell label { display: flex; flex-direction: column; min-width: 0; gap: 7px; font-size: 12px; font-weight: 600; color: #475b76; }
.pbw-shell label small { font-weight: 400; font-size: 11px; line-height: 1.5; color: #68788e; }
.pbw-shell input, .pbw-shell select { width: 100%; min-width: 0; max-width: 100%; font-size: 13px; line-height: 1.4; min-height: 40px; border: 1px solid #d6dfeb; background: #fff; border-radius: 8px; padding: 9px 10px; color: #273b55; }
.pbw-shell input:disabled, .pbw-shell select:disabled { background: #f1f3f6; color: #7b8799; }
.pbw-shell input:focus, .pbw-shell select:focus { outline: 2px solid #6397de; outline-offset: 1px; }
.pbw-full { grid-column: 1 / -1; }
.pbw-source { display: flex; flex-direction: column; gap: 6px; padding: 12px; border-radius: 9px; background: #f7f9fc; border: 1px solid #e5eaf1; overflow-wrap: anywhere; }
.pbw-source strong { font-size: 13px; }
.pbw-source span, .pbw-source small { font-size: 11px; color: #607089; line-height: 1.5; }
.pbw-shell .pbw-check { flex-direction: row; align-items: flex-start; gap: 9px; line-height: 1.6; font-weight: 400; }
.pbw-shell .pbw-check input { flex: 0 0 17px; width: 17px; height: 17px; min-height: 17px; margin: 2px 0 0; accent-color: #316abe; }
.pbw-shell button { white-space: normal; line-height: 1.5; max-width: 100%; }
.pbw-shell button:disabled { cursor: not-allowed; opacity: .55; }
.pbw-execution { display: flex; gap: 12px; align-items: flex-start; flex-wrap: wrap; margin-top: 20px; border-top: 1px dashed #d9e2ed; padding-top: 16px; }
.pbw-execution p { font-size: 12px; color: #68788e; line-height: 1.6; flex: 1 1 170px; margin: 0; }
.pbw-record-list, .pbw-preview-list { display: grid; gap: 12px; margin-top: 12px; }
.pbw-record { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; padding: 13px 0; border-top: 1px solid #e6ebf2; overflow-wrap: anywhere; }
.pbw-record > div { min-width: 0; flex: 1 1 240px; }
.pbw-record strong { font-size: 13px; }
.pbw-record p { font-size: 12px; line-height: 1.6; color: #526580; margin: 6px 0; }
.pbw-record small, .pbw-preview > small { color: #75829a; font-size: 11px; line-height: 1.5; }
.pbw-preview { padding: 16px; border: 1px solid #e1e7ee; border-radius: 10px; overflow-wrap: anywhere; }
.pbw-preview > p { font-size: 12px; color: #61738c; line-height: 1.6; }
.pbw-preview .pbw-heading > strong { font-size: 14px; }
.pbw-comparison { display: grid; grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr); align-items: center; gap: 12px; background: #f6f8fb; padding: 14px; border-radius: 9px; }
.pbw-comparison > div { display: grid; gap: 7px; min-width: 0; }
.pbw-comparison small { font-size: 11px; color: #657791; }
.pbw-comparison strong { font-size: 18px; color: #2e4f7c; }
.pbw-blockers { padding-left: 20px; font-size: 12px; color: #8b632e; line-height: 1.7; }
.pbw-empty { color: #7a879a; font-size: 13px; line-height: 1.8; padding: 12px 0; }
@media (max-width: 1100px) { .pbw-work-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) {
  .pbw-shell { gap: 12px; }
  .pbw-shell .pbw-panel { padding: 16px; }
  .pbw-hero h2 { font-size: 21px; }
  .pbw-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .pbw-kpis > div { padding: 13px; }
  .pbw-kpis strong { font-size: 22px; }
  .pbw-market-grid, .pbw-form-grid { grid-template-columns: minmax(0, 1fr); }
  .pbw-shell input, .pbw-shell select { font-size: 16px; }
  .pbw-heading h3 { font-size: 16px; }
  .pbw-comparison { padding: 11px; gap: 7px; }
  .pbw-comparison strong { font-size: 16px; }
  .pbw-preview { padding: 12px; }
}
