:root{--bm-blue: #1f4e8c;--bm-blue-dark: #16365e;--bm-blue-light: #e8f0fb;--bm-accent: #2d7dd2;--bm-bg: #f5f7fa;--bm-surface: #ffffff;--bm-border: #d8dde3;--bm-text: #1c2733;--bm-text-muted: #5b6878;--bm-success: #2e8b57;--bm-warning: #c98a00;--bm-error: #c0392b;--bm-radius: 6px;--bm-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 4px 12px rgba(0, 0, 0, .04);--bm-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--bm-font);color:var(--bm-text);background:var(--bm-bg);font-size:14px;line-height:1.5}a{color:var(--bm-accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit;cursor:pointer;border:1px solid var(--bm-border);background:#fff;border-radius:var(--bm-radius);padding:6px 14px;color:var(--bm-text)}button:hover:not(:disabled){background:var(--bm-blue-light);border-color:var(--bm-accent)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--bm-blue);border-color:var(--bm-blue);color:#fff}button.primary:hover:not(:disabled){background:var(--bm-blue-dark);border-color:var(--bm-blue-dark)}button.danger{background:var(--bm-error);border-color:var(--bm-error);color:#fff}input[type=text],input[type=password],input[type=email],input[type=number],select,textarea{font-family:inherit;font-size:inherit;padding:6px 10px;border:1px solid var(--bm-border);border-radius:var(--bm-radius);background:#fff;color:var(--bm-text);width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--bm-accent);box-shadow:0 0 0 2px #2d7dd22e}label{display:block;font-size:12px;color:var(--bm-text-muted);margin-bottom:4px;font-weight:500}.card{background:var(--bm-surface);border:1px solid var(--bm-border);border-radius:var(--bm-radius);box-shadow:var(--bm-shadow);padding:16px}.row{display:flex;gap:12px;align-items:center}.col{display:flex;flex-direction:column;gap:8px}.spacer{flex:1}.muted{color:var(--bm-text-muted)}.small{font-size:12px}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:var(--bm-blue-light);color:var(--bm-blue)}.badge.success{background:#e6f5ec;color:var(--bm-success)}.badge.warning{background:#fdf3dc;color:var(--bm-warning)}.badge.error{background:#fbe4e0;color:var(--bm-error)}.app-header{background:var(--bm-surface);border-bottom:1px solid var(--bm-border);padding:8px 16px;display:flex;align-items:center;gap:16px;height:52px}.app-header .logo{font-weight:700;font-size:16px;color:var(--bm-blue);display:flex;align-items:center;gap:8px}.app-header .logo .badge-env{color:#fff;font-size:10px;text-transform:uppercase;padding:2px 6px;border-radius:4px;letter-spacing:.04em}.app-header .logo .badge-env.env-test{background:var(--bm-warning)}.app-header .logo .badge-env.env-live{background:var(--bm-success)}.container{max-width:1400px;margin:0 auto;padding:24px 16px}table.dt{width:100%;border-collapse:collapse;font-size:13px}table.dt th,table.dt td{border-bottom:1px solid var(--bm-border);padding:8px 10px;text-align:left;vertical-align:top}table.dt th{background:var(--bm-bg);font-weight:600;font-size:12px;color:var(--bm-text-muted);text-transform:uppercase;letter-spacing:.03em;position:sticky;top:0;z-index:1}table.dt tr:hover td{background:var(--bm-blue-light)}table.dt td.numeric{text-align:right;font-variant-numeric:tabular-nums}.dropzone{border:2px dashed var(--bm-border);border-radius:var(--bm-radius);padding:40px 16px;text-align:center;background:var(--bm-surface);transition:all .15s}.dropzone.over{border-color:var(--bm-accent);background:var(--bm-blue-light)}.dropzone .hint{color:var(--bm-text-muted);margin-top:8px;font-size:13px}.progressbar{height:8px;background:var(--bm-border);border-radius:4px;overflow:hidden}.progressbar .fill{height:100%;background:var(--bm-blue);transition:width .2s}.alert{border-radius:var(--bm-radius);padding:12px 14px;margin-bottom:12px;font-size:13px}.alert.warn{background:#fff7e0;color:#6b4c00;border:1px solid #f1d590}.alert.error{background:#fbe4e0;color:var(--bm-error);border:1px solid #f0b0a4}.alert.info{background:var(--bm-blue-light);color:var(--bm-blue-dark);border:1px solid #b6c9e3}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px 16px}.checkbox-grid label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--bm-text);margin:0}.checkbox-grid input{width:auto}.tab-bar{display:flex;gap:4px;border-bottom:1px solid var(--bm-border);margin-bottom:16px}.tab-bar button{border:none;border-bottom:2px solid transparent;background:transparent;border-radius:0;padding:8px 14px;color:var(--bm-text-muted)}.tab-bar button.active{color:var(--bm-blue);border-bottom-color:var(--bm-blue);font-weight:600;background:transparent}.bulk-bar{background:var(--bm-blue-light);border-color:#b6c9e3}.bulk-bar-header{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.bulk-bar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px 14px;align-items:end}.bulk-bar-grid label{white-space:nowrap}.scrolllist{max-height:300px;overflow-y:auto;border:1px solid var(--bm-border);border-radius:var(--bm-radius);background:var(--bm-surface)}.scrolllist .item{padding:6px 10px;border-bottom:1px solid var(--bm-border);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.scrolllist .item.error{background:#fff1ee}.scrolllist .item:last-child{border-bottom:none}
