.bpu { color: var(--text-primary, #172b3a); margin-top: 20px; }
.bpu-card { border: 1px solid var(--border, #d8e1e8); border-radius: 16px; padding: 22px; background: var(--surface, #fff); }
.bpu header, .bpu-session { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.bpu h3 { margin: 0 0 8px; font-size: 18px; }
.bpu p { margin: 6px 0 12px; line-height: 1.55; }
.bpu header p, .bpu-help, .bpu-session p { color: var(--text-secondary, #5b6d7d); font-size: 13px; }
.bpu-boundary { border-left: 3px solid #87a5bd; padding: 10px 14px; background: var(--surface-muted, #f4f7fa); border-radius: 4px; font-size: 13px; }
.bpu [role="status"] { margin: 10px 0; color: var(--text-secondary, #435a6b); font-size: 14px; }
.bpu summary { cursor: pointer; font-weight: 600; padding: 12px 0; }
.bpu fieldset { min-width: 0; margin: 10px 0 16px; border: 1px solid var(--border, #d8e1e8); border-radius: 12px; padding: 16px; }
.bpu legend { font-weight: 600; font-size: 13px; padding: 0 6px; }
.bpu-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 14px; }
.bpu label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 500; }
.bpu .bpu-wide { grid-column: 1 / -1; }
.bpu input, .bpu select { box-sizing: border-box; width: 100%; min-height: 40px; border: 1px solid var(--border, #ccd7df); border-radius: 8px; padding: 8px 10px; background: var(--surface, #fff); color: inherit; font: inherit; }
.bpu button { min-height: 38px; border: 1px solid var(--border, #ccd7df); border-radius: 8px; padding: 8px 13px; background: var(--surface, #fff); color: inherit; font: inherit; cursor: pointer; }
.bpu button[type="submit"] { background: #174b70; border-color: #174b70; color: #fff; font-weight: 600; }
.bpu button:disabled { opacity: .5; cursor: not-allowed; }
.bpu button:focus-visible, .bpu input:focus-visible, .bpu select:focus-visible, .bpu summary:focus-visible { outline: 3px solid #77b6de; outline-offset: 3px; }
.bpu .bpu-persist { flex-direction: row; align-items: center; margin: 16px 0; }
.bpu .bpu-persist input { width: 18px; min-height: 18px; }
.bpu-session { border-top: 1px solid var(--border, #d8e1e8); padding: 16px 0 0; margin-top: 16px; }
.bpu-session strong { overflow-wrap: anywhere; font-size: 14px; }
.bpu-session button { flex-shrink: 0; }
.bpu [hidden] { display: none !important; }
@media (max-width: 640px) { .bpu-card { padding: 16px; } .bpu-grid { grid-template-columns: minmax(0, 1fr); } .bpu header, .bpu-session { flex-direction: column; } .bpu-session button { align-self: flex-start; } }
