.bm-toolbar, .bm-toolbar > div { display: flex; align-items: center; gap: 8px; }
.bm-toolbar { justify-content: space-between; margin-bottom: 16px; gap: 20px; }
.bm-toolbar .pm-button { min-height: 33px; font-size: 12px; }
.bm-search { display: flex; align-items: center; gap: 9px; width: 300px; height: 34px; padding: 0 10px; border: 1px solid #cbd7e8; border-radius: 4px; background: #fff; }
.bm-search:focus-within { border-color: #3978ff; box-shadow: 0 0 0 2px #3978ff12; }
.bm-search > svg { width: 16px; height: 16px; flex-shrink: 0; fill: none; stroke: #8ca0bd; stroke-width: 1.4; }
.bm-page .bm-search input, .bm-page .bm-search input:focus-visible { flex: 1; width: 0; min-width: 0; height: 30px; padding: 0; border: 0; outline: none; box-shadow: none; background: transparent; font-size: 12px; color: #40516b; }
.bm-search input::placeholder { color: #9baac0; }
.bm-search button { border: 0; background: transparent; color: #92a3bb; cursor: pointer; }
.bm-notice { margin: 0 0 12px; color: #348976; font-size: 12px; }
.bm-table-wrap { min-height: calc(100dvh - 215px); overflow-x: auto; border: 1px solid #e1e8f2; border-radius: 5px 5px 0 0; background: #fff; }
.bm-table { width: 100%; min-width: 800px; table-layout: fixed; border-collapse: collapse; color: #526a89; font-size: 12px; }
.bm-table th { height: 42px; padding: 0 16px; text-align: left; background: #f6f8fb; color: #8194ae; font-weight: 500; }
.bm-table td { height: 62px; padding: 12px 16px; border-top: 1px solid #e7edf5; overflow-wrap: anywhere; }
.bm-table th:first-child, .bm-table td:first-child { padding: 0 14px; text-align: center; }
.bm-table input { width: 14px; height: 14px; margin: 0; accent-color: #3978ff; }
.bm-table strong { color: #2e476a; font-weight: 500; }
.bm-table tbody tr:hover { background: #fafcff; }
.bm-remark-cell { line-height: 1.7; }
.bm-row-actions { display: flex; gap: 12px; }
.bm-row-actions button, .bm-empty button { padding: 0; border: 0; background: transparent; color: #3978de; font: inherit; cursor: pointer; }
.bm-row-actions button:last-child:hover { color: #ce5d67; }
.bm-table .bm-empty { height: 310px; padding: 40px; text-align: center; color: #96a5bb; }
.bm-empty svg { width: 40px; height: 40px; fill: none; stroke: #bccce2; stroke-width: 1.3; }
.bm-page .am-pagination { border: 1px solid #e1e8f2; border-top: 0; border-radius: 0 0 5px 5px; }
.bm-overlay { z-index: 1500; display: flex; align-items: center; justify-content: center; padding: 20px; }
.bm-dialog { width: min(520px,100%); max-height: calc(100dvh - 40px); overflow-y: auto; border-radius: 6px; background: #fff; box-shadow: 0 16px 60px #172b4b33; color: #4b607d; font-size: 12px; }
.bm-dialog header { display: flex; justify-content: space-between; align-items: center; height: 56px; padding: 0 22px; border-bottom: 1px solid #e5ebf4; }
.bm-dialog h2 { margin: 0; color: #2a3d59; font-size: 16px; font-weight: 600; }
.bm-dialog .pm-close { background: transparent; }
.bm-form { padding: 26px 24px 24px; }
.bm-form label { display: flex; align-items: center; gap: 8px; margin-bottom: 22px; }
.bm-form label > span { flex: 0 0 76px; text-align: right; }
.bm-form i { color: #da6976; font-style: normal; }
.bm-form input, .bm-form textarea { width: 100%; min-width: 0; box-sizing: border-box; padding: 8px 10px; border: 1px solid #cbd7e8; border-radius: 4px; color: #40516b; background: #fff; font: inherit; }
.bm-form input { height: 35px; }
.bm-dialog .bm-form input:focus, .bm-dialog .bm-form textarea:focus-visible { outline: none; border-color: #3978ff; box-shadow: 0 0 0 2px #3978ff12; }
.bm-form .bm-remark { align-items: flex-start; margin-bottom: 0; }
.bm-remark > span { padding-top: 9px; }
.bm-remark > div { position: relative; flex: 1; min-width: 0; }
.bm-remark textarea { height: 110px; resize: vertical; padding-bottom: 24px; }
.bm-remark small { position: absolute; right: 10px; bottom: 11px; color: #9aaac0; }
.bm-dialog footer { display: flex; justify-content: flex-end; gap: 8px; padding: 14px 22px; border-top: 1px solid #e5ebf4; }
.bm-delete-body { padding: 20px 24px 28px; }
.bm-delete-body small { color: #94a4bb; }
@media(max-width:700px) { .bm-toolbar { align-items: flex-start; flex-direction: column; gap: 12px; } .bm-tools { width: 100%; } .bm-search { width: 0; flex: 1; min-width: 0; } .bm-form { padding: 24px 16px; } .bm-form label > span { flex-basis: 70px; } .bm-overlay { padding: 12px; } }
