.pb-header { max-width: 1100px; }
.app-header-actions { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.pb-wrap { max-width: 1100px; margin: 0 auto; padding-left: 16px; padding-right: 16px; }
.pb-hero { padding: 72px 0 56px; }
.pb-hero h1 { font-size: clamp(1.8rem, 4vw, 2.8rem); line-height: 1.15; margin: 0 0 16px; max-width: 18ch; }
.pb-kicker { text-transform: uppercase; letter-spacing: .08em; font-size: .8rem; opacity: .7; margin: 0 0 8px; }
.pb-lead { font-size: 1.15rem; max-width: 62ch; margin: 0 0 20px; }
.pb-status { display: inline-block; padding: 4px 12px; border: 1px solid currentColor; border-radius: 999px; font-size: .85rem; margin: 0; }
.pb-section { padding-top: 48px; padding-bottom: 48px; }
.pb-section h2 { margin: 0 0 20px; }
.pb-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.pb-card { border: 1px solid rgba(128, 128, 128, .3); border-radius: 12px; padding: 20px; }
.pb-card h3 { margin: 0 0 8px; }
.pb-card p { margin: 0; }
.pb-band { background: rgba(128, 128, 128, .08); }
.pb-steps, .pb-list { max-width: 70ch; padding-left: 20px; }
.pb-steps li, .pb-list li { margin-bottom: 12px; }
.pb-footer { padding: 32px 0; font-size: .85rem; opacity: .75; }
.pb-login { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px; }
@media (max-width: 640px) { .pb-hero { padding-top: 40px; } }
.pb-main { padding-top: 16px; padding-bottom: 48px; }
.pb-cards { margin: 16px 0; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; }
.pb-cards .ux-stat-value { font-size: 1.25rem; }
.pb-sub { font-size: .8rem; opacity: .7; min-height: 1em; }
.pb-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 16px; }
.pb-check { display: inline-flex; align-items: center; gap: 6px; font-size: .9rem; }
.pb-msg { font-size: .9rem; opacity: .85; }
.pb-header .ux-logo { text-decoration: none; color: inherit; }
.pb-report { max-width: 760px; }
.pb-report h3 { margin: 8px 0 4px; font-size: 1.3rem; }
.pb-who { margin: 0 0 4px; font-size: 1rem; }
.pb-metric { border: 1px solid rgba(128, 128, 128, .3); border-radius: 12px; padding: 16px 20px; margin: 16px 0; }
.pb-metric-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 12px; margin-bottom: 4px; }
.pb-metric-name { font-weight: 600; }
.pb-metric-value { font-size: 1.6rem; font-weight: 700; margin-left: auto; }
.pb-verdict { margin: 4px 0 14px; }
.pb-bar { position: relative; height: 12px; border-radius: 6px; background: rgba(128, 128, 128, .2); margin: 18px 0 6px; }
.pb-bar-band { position: absolute; top: 0; bottom: 0; }
.pb-bar-band-a { background: rgba(110, 160, 255, .30); border-radius: 6px 0 0 6px; }
.pb-bar-band-b { background: rgba(110, 160, 255, .60); border-radius: 0 6px 6px 0; }
.pb-bar-median { position: absolute; top: -4px; bottom: -4px; width: 2px; background: currentColor; opacity: .7; }
.pb-bar-dot { position: absolute; top: 50%; width: 20px; height: 20px; margin: -10px 0 0 -10px; border-radius: 50%; background: #2f7bff; border: 3px solid #fff; box-shadow: 0 0 0 1px rgba(0, 0, 0, .4); }
.pb-bar-ends { display: flex; justify-content: space-between; font-size: .75rem; opacity: .65; }
.pb-bar-legend { font-size: .8rem; opacity: .8; margin: 6px 0 0; }
.pb-report details { margin-top: 12px; font-size: .85rem; }
.pb-report summary { cursor: pointer; }
