.gsmb { --gsmb-line: rgba(0,0,0,.12); --gsmb-wa: #1fa855; --gsmb-accent: #1d4ed8; max-width: 1100px; margin: 0 auto 2em; font-size: 15px; }
.gsmb h2 { margin: 0 0 .25em; }
.gsmb-muted { opacity: .7; font-size: .92em; margin: 0; }
.gsmb-error { color: #b32d2e; font-weight: 600; }
.gsmb-btn { display: inline-flex; align-items: center; justify-content: center; padding: 10px 18px; border: 0; border-radius: 8px; background: var(--gsmb-accent); color: #fff !important; font-weight: 600; text-decoration: none !important; cursor: pointer; white-space: nowrap; font-size: 15px; }
.gsmb-btn-light { background: transparent; color: var(--gsmb-accent) !important; border: 1px solid var(--gsmb-line); margin: 12px auto 0; display: flex; }
.gsmb-wa { background: var(--gsmb-wa); }

.gsmb-login { max-width: 420px; padding: 28px; border: 1px solid var(--gsmb-line); border-radius: 12px; margin: 2em auto; }
.gsmb-login label { display: block; font-weight: 600; margin: 12px 0 6px; }
.gsmb-login-row { display: flex; gap: 8px; }
.gsmb-login-row input { flex: 1; min-width: 0; padding: 10px 12px; border: 1px solid var(--gsmb-line); border-radius: 8px; font-size: 16px; }
.gsmb-login .gsmb-muted { margin-top: 16px; }

.gsmb-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 14px; }
.gsmb-filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 8px; }
.gsmb-filters input[type=search] { flex: 1 1 280px; }
.gsmb-filters input[type=search], .gsmb-filters select { padding: 10px 12px; border: 1px solid var(--gsmb-line); border-radius: 8px; font-size: 16px; background: #fff; min-width: 0; }
.gsmb-check { display: inline-flex; gap: 6px; align-items: center; white-space: nowrap; }
#gsmb-count { margin: 8px 0; }

.gsmb-table-wrap { border: 1px solid var(--gsmb-line); border-radius: 10px; overflow: hidden; }
.gsmb-table { width: 100%; border-collapse: collapse; margin: 0 !important; border: 0 !important; }
.gsmb-table th, .gsmb-table td { padding: 9px 12px; border: 0 !important; border-top: 1px solid var(--gsmb-line) !important; text-align: left; vertical-align: middle; }
.gsmb-table thead th { border-top: 0 !important; font-size: .82em; font-weight: 600; opacity: .7; text-transform: uppercase; letter-spacing: .03em; }
.gsmb-table td small { display: block; opacity: .55; font-size: .8em; }
.gsmb-table .num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.gsmb-table input[type=number] { width: 64px; padding: 6px; text-align: right; border: 1px solid var(--gsmb-line); border-radius: 6px; font-size: 16px; }
.gsmb-table tr.sel td { background: rgba(31,168,85,.09); }
.gsmb .in { color: #1a7f45; }
.gsmb .out { color: #a15c00; }

.gsmb-bar { position: sticky; bottom: 0; z-index: 50; margin-top: 16px; padding: 12px 14px; background: #fff; border: 1px solid var(--gsmb-line); border-radius: 10px; box-shadow: 0 -4px 16px rgba(0,0,0,.08); }
.gsmb-bar summary { cursor: pointer; font-weight: 700; margin-bottom: 8px; }
.gsmb-bar ul { list-style: none; margin: 0 0 10px; padding: 0; max-height: 200px; overflow: auto; }
.gsmb-bar li { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; border-bottom: 1px dashed var(--gsmb-line); font-size: .92em; }
.gsmb-bar li button { background: none; border: 0; cursor: pointer; opacity: .6; padding: 0 4px; }
.gsmb-bar-row { display: flex; gap: 8px; }
.gsmb-bar-row input { flex: 1; min-width: 0; padding: 10px 12px; border: 1px solid var(--gsmb-line); border-radius: 8px; font-size: 16px; }
.gsmb-bar-row input.need { border-color: #b32d2e; box-shadow: 0 0 0 2px rgba(179,45,46,.2); }

@media (max-width: 640px) {
	.gsmb-table th:nth-child(2), .gsmb-table td:nth-child(2), .gsmb-table th:nth-child(3) { display: none; }
	.gsmb-table td:nth-child(3) { display: none; }
	.gsmb-table th, .gsmb-table td { padding: 8px; }
	.gsmb-filters select { flex: 1 1 45%; }
	.gsmb-bar-row { flex-direction: column; }
}
