.vb-ap, .vb-ap-login { max-width: 1100px; margin: 40px auto; padding: 24px; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.vb-ap-nav { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 24px; }
.vb-ap-nav a, .vb-ap .button, .vb-ap button, .vb-ap input[type=submit] { display: inline-block; padding: 10px 14px; border-radius: 6px; border: 1px solid #0f4f7a; background: #0f4f7a; color: #fff; text-decoration: none; cursor: pointer; }
.vb-ap-table { width: 100%; border-collapse: collapse; margin: 12px 0 30px; }
.vb-ap-table th, .vb-ap-table td { border: 1px solid #ddd; padding: 10px; vertical-align: top; text-align: left; }
.vb-ap-table th { background: #f5f7f9; }
.vb-ap-form { display: grid; gap: 14px; max-width: 760px; }
.vb-ap-form label { display: grid; gap: 6px; font-weight: 600; }
.vb-ap-form input, .vb-ap-form select, .vb-ap-form textarea { width: 100%; padding: 9px; border: 1px solid #bbb; border-radius: 4px; }
.vb-ap-form textarea { min-height: 120px; }
.vb-ap-alert { padding: 12px; border-left: 4px solid #b00020; background: #fff0f0; }
.vb-ap-review { border: 1px solid #ddd; padding: 16px; margin: 16px 0; border-radius: 8px; }
.vb-ap-image-preview img { max-width: 240px; height: auto; display: block; margin: 10px 0; }
.vb-ap-upload-only .media-router .media-menu-item:not(:first-child),
.vb-ap-upload-only .media-frame-menu .media-menu-item:not(:first-child) {
  display: none !important;
}