.bso-backdrop{position:fixed;inset:0;background:#00000080;z-index:1600;display:flex;align-items:center;justify-content:center;padding:16px;overflow:hidden;box-sizing:border-box}.bso-modal{background:#fff;border-radius:.5rem;box-shadow:0 8px 30px #0000004d;width:calc(100vw - 32px);min-width:0;box-sizing:border-box;max-height:calc(100dvh - 32px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;font-size:.875rem;color:#1e293b;position:fixed;left:16px;overflow:hidden}.bso-head{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}.bso-head h5{margin:0;font-size:1.25rem;font-weight:600;color:#1e293b}.bso-x{background:none;border:0;font-size:22px;line-height:1;color:#555;cursor:pointer;padding:2px 6px}.bso-x:disabled{opacity:.35;cursor:not-allowed}.bso-body{padding:.5rem 1rem 1rem;flex:1;min-height:0;display:flex;flex-direction:column;gap:8px}.bso-toolbar{display:flex;gap:1.5rem;padding-bottom:.5rem;align-items:center;flex-wrap:wrap;position:relative}.bso-tbtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;border-radius:.375rem;font-size:.875rem;font-weight:500;height:2.25rem;padding:.5rem 1rem;background:transparent;border:1px solid hsl(214.3 31.8% 91.4%);color:#0f172a;cursor:pointer;transition:background-color .15s}.bso-tbtn:hover{background:#f1f5f9}.bso-tbtn:disabled{opacity:.5;cursor:not-allowed}.bso-menu{position:absolute;top:100%;margin-top:4px;background:#fff;border:1px solid #ced4da;border-radius:4px;box-shadow:0 4px 14px #00000026;z-index:20;min-width:200px;padding:4px 0;max-height:340px;overflow:auto}.bso-menu button,.bso-menu label{display:flex;gap:6px;align-items:center;width:100%;text-align:left;padding:5px 12px;background:none;border:0;font-size:12px;cursor:pointer}.bso-menu button:hover,.bso-menu label:hover{background:#f1f3f5}.bso-warn{background:#fff3cd;border:1px solid #ffe69c;color:#664d03;border-radius:4px;padding:6px 10px;font-size:12px}.bso-err{background:#f8d7da;border:1px solid #f1aeb5;color:#842029;border-radius:4px;padding:6px 10px;font-size:12px}.bso-scroll{overflow:auto;border:1px solid #e2e8f0;border-radius:.5rem;flex:1;min-height:200px;max-height:calc(100dvh - 240px)}.bso-table{border-collapse:separate;border-spacing:0;table-layout:fixed}.bso-table td{box-sizing:border-box}.bso-table th{background:#475569;color:#fff;font-weight:500;font-size:.875rem;line-height:1.25rem;padding:.75rem 1rem;position:sticky;top:0;z-index:2;text-align:center;vertical-align:middle;white-space:nowrap;resize:horizontal;overflow:hidden;box-sizing:border-box}.bso-table th:first-child{resize:none}.bso-th-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bso-table td{border-bottom:1px solid #e2e8f0;padding:.75rem 1rem;vertical-align:middle;overflow:hidden;font-size:.875rem}.bso-table tbody tr:hover td{background:#f8fafc}.bso-table input[type=checkbox]{width:1rem;height:1rem;cursor:pointer}.bso-table tr.bso-done td{background:#f1f8f3}.bso-table tr.bso-bad td{background:#fdf3f4}.bso-in,.bso-sel{height:28px;border:1px solid #ced4da;border-radius:4px;padding:2px 6px;font-size:12px;width:100%;background:#fff;color:#212529}.bso-in:disabled,.bso-sel:disabled{background:#e9ecef}.bso-link{color:#0d6efd;background:none;border:0;padding:0;font-size:12px;cursor:pointer;text-decoration:underline}.bso-link:disabled{color:#adb5bd;cursor:not-allowed}.bso-muted{color:#6c757d;font-size:11px}.bso-items{margin-top:6px;border:1px solid #e9ecef;border-radius:4px;padding:6px;background:#fafbfc;display:flex;flex-direction:column;gap:6px}.bso-item{display:grid;grid-template-columns:1fr 54px;gap:6px;align-items:center;font-size:11px}.bso-item b{display:block;font-size:12px;font-weight:600;white-space:normal;line-height:1.25}.bso-status{font-size:11px;margin-top:4px;line-height:1.3}.bso-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:.75rem 1rem;background:#f8fafc;border-top:1px solid #e2e8f0}.bso-btn{border-radius:.375rem;padding:.375rem .75rem;font-size:.875rem;font-weight:500;cursor:pointer;border:1px solid #ced4da;background:#fff;color:#1e293b}.bso-btn.dark{background:#1e293b;color:#fff;border-color:#1e293b}.bso-btn:disabled{opacity:.5;cursor:not-allowed}.bso-drawer{position:absolute;top:0;right:0;bottom:0;width:min(420px,100%);background:#fff;border-left:1px solid #dee2e6;box-shadow:-6px 0 20px #0000001f;z-index:30;display:flex;flex-direction:column;border-radius:0 6px 6px 0}.bso-drawer .bso-dbody{padding:12px 16px;overflow:auto;flex:1;display:flex;flex-direction:column;gap:10px}.bso-field label{display:block;font-size:12px;font-weight:600;margin-bottom:3px}.bso-rate{display:flex;justify-content:space-between;gap:8px;border:1px solid #dee2e6;border-radius:4px;padding:8px;cursor:pointer;font-size:12px}.bso-rate.on{border-color:#1f2937;background:#f1f3f5}.bso-sk{height:38px;border-radius:4px;background:linear-gradient(90deg,#eef0f2,#f8f9fa,#eef0f2);background-size:200% 100%;animation:bso-sh 1.2s infinite}@keyframes bso-sh{to{background-position:-200% 0}}.bso-confirm{position:absolute;inset:0;background:#00000059;z-index:40;display:flex;align-items:center;justify-content:center;border-radius:6px}.bso-confirm>div{background:#fff;border-radius:6px;padding:18px;width:min(620px,94%);max-height:90%;overflow:auto;box-shadow:0 8px 30px #00000040}
