:root {
    --rbs-bg: #080d18;
    --rbs-panel: #101827;
    --rbs-panel-2: #151f31;
    --rbs-panel-3: #1a263a;
    --rbs-border: rgba(148, 163, 184, .18);
    --rbs-text: #e8eef8;
    --rbs-muted: #91a0b7;
    --rbs-accent: #e11d2e;
    --rbs-accent-2: #ff5a68;
    --rbs-green: #2ed47a;
    --rbs-red: #ff5570;
    --rbs-blue: #4ea1ff;
    --rbs-shadow: 0 18px 50px rgba(0, 0, 0, .32);
    --rbs-radius: 14px;
}

html, body { min-height: 100%; }
body {
    padding: 0;
    color: var(--rbs-text);
    background:
        radial-gradient(circle at 10% 0%, rgba(225, 29, 46, .12), transparent 32rem),
        radial-gradient(circle at 90% 10%, rgba(78, 161, 255, .08), transparent 34rem),
        var(--rbs-bg);
    font: 13px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

body, p, input, button, select, textarea { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; }
a { color: #8fc2ff; }
a:hover, a:focus { color: #c8e2ff; }

#wrapper {
    width: 100%; min-height: 100vh; padding: 0; margin: 0;
    background: transparent; border: 0; box-shadow: none;
    display: flex; flex-direction: column;
}
.container { width: min(1180px, calc(100% - 40px)); max-width: 1180px; }

#header { padding: 25px 0 18px; background: rgba(8, 13, 24, .76); }
.rbs-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.rbs-brand { display: inline-flex; align-items: center; gap: 13px; color: var(--rbs-text); text-decoration: none; }
.rbs-brand:hover { color: #fff; text-decoration: none; }
.rbs-brand-mark {
    display: inline-grid; place-items: center; width: 54px; height: 54px;
    border-radius: 15px; font-size: 16px; font-weight: 900; letter-spacing: .07em;
    color: #fff; background: linear-gradient(135deg, var(--rbs-accent-2), var(--rbs-accent));
    box-shadow: 0 10px 28px rgba(225, 29, 46, .24);
}
.rbs-brand-copy { display: flex; flex-direction: column; }
.rbs-brand-copy strong { font-size: 22px; line-height: 1.1; letter-spacing: -.02em; }
.rbs-brand-copy small { margin-top: 6px; color: var(--rbs-muted); font-size: 11px; text-transform: uppercase; letter-spacing: .11em; }
.rbs-system-status { color: var(--rbs-muted); font-size: 11px; font-weight: 700; letter-spacing: .1em; display: flex; align-items: center; gap: 8px; }
.rbs-status-dot { width: 8px; height: 8px; background: var(--rbs-green); border-radius: 50%; box-shadow: 0 0 0 5px rgba(46, 212, 122, .10); }

#nav { margin: 0; position: sticky; top: 0; z-index: 1000; background: rgba(11, 17, 30, .92); border-top: 1px solid var(--rbs-border); border-bottom: 1px solid var(--rbs-border); backdrop-filter: blur(14px); }
#nav .container { display: flex; align-items: center; justify-content: space-between; }
#nav .container > .main-nav { border: 0; margin: 0; }
#nav .container > .main-nav > li { top: 0; padding: 0; margin: 0 4px 0 0; border: 0; }
#nav .container > .main-nav > li > a { top: 0; padding: 14px 14px; border: 0; color: var(--rbs-muted); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; border-radius: 9px; }
#nav .container > .main-nav > li > a:hover, #nav .container > .main-nav > li.dropdown.open > a, #nav .container > .main-nav > li.active > a { color: #fff; background: rgba(255,255,255,.06); border: 0; padding-top: 14px; }
#nav .container > .main-nav > li.active > a { color: var(--rbs-accent-2); box-shadow: inset 0 -2px 0 var(--rbs-accent); }
#nav .dropdown-menu { background: var(--rbs-panel-2); border: 1px solid var(--rbs-border); border-radius: 12px; box-shadow: var(--rbs-shadow); padding: 8px; }
#nav .dropdown-menu:before, #nav .dropdown-menu:after { display: none; }
#nav .dropdown-menu > li > a { color: var(--rbs-text); border-radius: 8px; }
#nav .dropdown-menu > li > a:hover { background: rgba(225,29,46,.14); color: var(--rbs-accent-2); }
#nav .dropdown-menu .divider { background: var(--rbs-border); border: 0; }
.rbs-login-dropdown { min-width: 270px; padding: 14px !important; }
.rbs-login-mini { margin: 0; }
.rbs-login-mini label { color: var(--rbs-muted); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.rbs-login-mini input { width: calc(100% - 18px); margin: 4px 0 12px; }
.rbs-logout-form { margin: 0; }
.rbs-logout-form button { width: 100%; padding: 7px 12px; background: none; border: 0; color: var(--rbs-text); text-align: left; border-radius: 8px; }
.rbs-logout-form button:hover { background: rgba(255,85,112,.12); color: #ff92a3; }

#wrap { flex: 1; padding: 28px 0 44px; }
#page { min-height: 560px; }
#content, #sidebar .portlet, .well, .modal, .search-form, .tab-content {
    border-radius: var(--rbs-radius);
}

h1, h2, h3, h4, h5, h6 { color: #f5f8fc; }
h2 { margin: 10px 0 20px; font-size: 24px; letter-spacing: -.02em; }
h3 { font-size: 18px; }
.muted { color: var(--rbs-muted); }

.rbs-breadcrumbs, .breadcrumb { padding: 0; margin: 0 0 14px; background: none; border: 0; color: var(--rbs-muted); }
.breadcrumb > li { text-shadow: none; }
.breadcrumb > li > .divider { color: #526075; }

.table, table.items { background: var(--rbs-panel); color: var(--rbs-text); border: 1px solid var(--rbs-border); border-collapse: separate; border-spacing: 0; border-radius: 12px; overflow: hidden; box-shadow: 0 10px 28px rgba(0,0,0,.16); }
.table th, .table td, table.items th, table.items td { border-top-color: var(--rbs-border); border-left-color: var(--rbs-border); vertical-align: middle; }
.table thead th, table.items thead th { background: #172236; color: #cbd7e7; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.table-striped tbody > tr:nth-child(odd) > td, .table-striped tbody > tr:nth-child(odd) > th { background-color: rgba(255,255,255,.018); }
.table-hover tbody tr:hover > td, .table tbody tr:hover > td { background: rgba(78,161,255,.055); }
.table .success td, .table tr.success td { background: rgba(46,212,122,.08) !important; }
.table .error td, .table tr.error td { background: rgba(255,85,112,.08) !important; }
.table .warning td, .table tr.warning td { background: rgba(225,29,46,.08) !important; }
.table .info td, .table tr.info td, td.info { background: rgba(78,161,255,.08) !important; }

input, textarea, select, .uneditable-input {
    color: var(--rbs-text); background: #0c1422; border: 1px solid #26354c;
    border-radius: 9px; box-shadow: none; min-height: 34px;
}
input:focus, textarea:focus, select:focus { border-color: #4e83bc; box-shadow: 0 0 0 3px rgba(78,161,255,.12); }
input[disabled], select[disabled], textarea[disabled] { background: #111927; color: #6e7e94; }

.btn { border-radius: 9px; border: 1px solid #314158; background: #1a2637; color: #dce6f3; text-shadow: none; box-shadow: none; font-weight: 700; }
.btn:hover, .btn:focus { background: #223149; color: #fff; }
.btn-primary { background: linear-gradient(180deg, #f04454, #c91528); border-color: #e11d2e; color: #fff; text-shadow: none; }
.btn-primary:hover, .btn-primary:focus { background: #fa5a68; color: #fff; }
.btn-info { background: #163e66; border-color: #235a8e; color: #cce7ff; }
.btn-danger { background: #622335; border-color: #843248; color: #ffd5dc; }
.btn-success { background: #174d37; border-color: #246b4e; color: #cff9e3; }

.alert { border: 1px solid var(--rbs-border); border-radius: 11px; text-shadow: none; color: var(--rbs-text); background: var(--rbs-panel-2); }
.alert-success { background: rgba(46,212,122,.10); border-color: rgba(46,212,122,.25); color: #bdf2d3; }
.alert-error, .alert-danger { background: rgba(255,85,112,.10); border-color: rgba(255,85,112,.25); color: #ffc0cb; }
.alert-info { background: rgba(78,161,255,.10); border-color: rgba(78,161,255,.25); color: #c6e2ff; }
.alert-warning { background: rgba(225,29,46,.10); border-color: rgba(225,29,46,.28); color: #ffb8bf; }

.nav-tabs { border-bottom: 1px solid var(--rbs-border); }
.nav-tabs > li > a { border-radius: 9px 9px 0 0; color: var(--rbs-muted); }
.nav-tabs > li > a:hover { background: var(--rbs-panel-2); border-color: var(--rbs-border); }
.nav-tabs > .active > a, .nav-tabs > .active > a:hover { background: var(--rbs-panel-2); color: var(--rbs-accent-2); border: 1px solid var(--rbs-border); border-bottom-color: var(--rbs-panel-2); }
.tab-content { padding: 14px; background: var(--rbs-panel-2); border: 1px solid var(--rbs-border); border-top: 0; }

.pagination ul { box-shadow: none; }
.pagination ul > li > a, .pagination ul > li > span { color: var(--rbs-text); background: var(--rbs-panel-2); border-color: var(--rbs-border); }
.pagination ul > .active > a, .pagination ul > .active > span { color: #fff; background: var(--rbs-accent); }

.modal { background: var(--rbs-panel-2); border: 1px solid var(--rbs-border); box-shadow: 0 24px 80px rgba(0,0,0,.55); }
.modal-header, .modal-footer { border-color: var(--rbs-border); background: rgba(255,255,255,.02); }
.modal-header .close { color: #fff; opacity: .7; text-shadow: none; }
.modal-backdrop, .modal-backdrop.fade.in { opacity: .72; background: #02050a; }

.portlet { background: var(--rbs-panel); border: 1px solid var(--rbs-border); border-radius: 12px; overflow: hidden; }
.portlet-decoration { background: #172236; border: 0; color: #fff; padding: 12px 14px; }
.portlet-content { padding: 12px; }
ul.operations { margin: 0; padding: 0; }
ul.operations li a { color: var(--rbs-text); border-radius: 8px; padding: 8px 10px; display: block; }
ul.operations li a:hover { background: rgba(255,255,255,.05); }

#copyright { padding: 20px 0; border-top: 1px solid var(--rbs-border); background: rgba(4,8,15,.56); color: var(--rbs-muted); }
.rbs-footer-inner { display: flex; justify-content: space-between; gap: 20px; font-size: 12px; }
.rbs-footer-sep { margin: 0 8px; opacity: .35; }

#loading { display: none; position: fixed; inset: 0; z-index: 10000; background: rgba(2,5,10,.68); backdrop-filter: blur(5px); }
#loading h1, #loading .circle, #loading .circle1 { display: none; }
.rbs-loader-card { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); min-width: 150px; padding: 22px 26px; text-align: center; background: var(--rbs-panel-2); border: 1px solid var(--rbs-border); border-radius: 16px; box-shadow: var(--rbs-shadow); font-weight: 700; }
.rbs-loader { width: 28px; height: 28px; margin: 0 auto 12px; border: 3px solid rgba(255,255,255,.12); border-top-color: var(--rbs-accent); border-radius: 50%; animation: rbs-spin .8s linear infinite; }
@keyframes rbs-spin { to { transform: rotate(360deg); } }

#responsive-nav { display: none; position: relative; width: 100%; }
#responsive-nav-trigger { width: 100%; margin: 9px 0; padding: 10px 13px; text-align: left; border-radius: 9px; border: 1px solid var(--rbs-border); background: var(--rbs-panel-2); color: var(--rbs-text); }
#responsive-nav-items { display: none; position: absolute; left: 0; right: 0; top: 52px; z-index: 1500; padding: 8px; margin: 0; list-style: none; background: var(--rbs-panel-2); border: 1px solid var(--rbs-border); border-radius: 12px; box-shadow: var(--rbs-shadow); }
#responsive-nav-items li { list-style: none; }
#responsive-nav-items a { display: block; padding: 9px 10px; border-radius: 8px; color: var(--rbs-text); font-weight: 700; }
#responsive-nav-items a:hover { background: rgba(255,255,255,.05); text-decoration: none; }

.rbs-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0 0 22px; }
.rbs-kpi { padding: 17px 18px; background: linear-gradient(180deg, #151f31, #101827); border: 1px solid var(--rbs-border); border-radius: 13px; box-shadow: 0 10px 30px rgba(0,0,0,.14); }
.rbs-kpi-label { color: var(--rbs-muted); font-size: 11px; text-transform: uppercase; letter-spacing: .07em; }
.rbs-kpi-value { margin-top: 5px; color: #fff; font-size: 25px; font-weight: 800; line-height: 1.1; }
.rbs-kpi-accent .rbs-kpi-value { color: var(--rbs-accent-2); }
.rbs-kpi-green .rbs-kpi-value { color: #7ee9ae; }
.rbs-kpi-blue .rbs-kpi-value { color: #8fc2ff; }

@media (max-width: 979px) {
    .container { width: min(100% - 28px, 1180px) !important; }
    #nav .container > .main-nav { display: none; }
    #nav .container { display: block; }
    #responsive-nav { display: block; }
    .rbs-account-nav { display: none !important; }
    .rbs-kpi-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 620px) {
    #header { padding: 18px 0 14px; }
    .rbs-header-inner { align-items: flex-start; }
    .rbs-brand-mark { width: 46px; height: 46px; border-radius: 12px; }
    .rbs-brand-copy strong { font-size: 18px; }
    .rbs-brand-copy small { font-size: 9px; }
    .rbs-system-status { display: none; }
    .rbs-kpi-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
    .rbs-kpi { padding: 13px; }
    .rbs-kpi-value { font-size: 20px; }
    .rbs-footer-inner { flex-direction: column; gap: 5px; }
    .modal { width: calc(100% - 24px) !important; margin-left: 0 !important; left: 12px; right: 12px; }
    .table { font-size: 11px; }
}

.hero-unit { background: linear-gradient(135deg, #172236, #101827); border: 1px solid var(--rbs-border); border-radius: 16px; color: var(--rbs-text); box-shadow: var(--rbs-shadow); padding: 28px 32px; }
.hero-unit h1 { color: var(--rbs-accent-2); font-size: 34px; letter-spacing: -.035em; }
.hero-unit p { color: var(--rbs-muted); }
.form-actions { background: rgba(255,255,255,.025); border-top-color: var(--rbs-border); border-radius: 0 0 12px 12px; }
.summary { color: var(--rbs-muted); margin-bottom: 8px; }
.grid-view .filters input, .grid-view .filters select { width: calc(100% - 14px); box-sizing: border-box; }
.close { color: #fff; text-shadow: none; }

/* RBS Billing 1.5 */
.rbs-billing-nav,.rbs-billing-admin-nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 18px}.rbs-balance{margin-left:auto;padding:8px 12px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#0c1018}.rbs-billing-card,.rbs-billing-hero,.rbs-tariff-card,.rbs-pay-method{background:#0d1119;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:18px;margin-bottom:18px;box-shadow:0 8px 30px rgba(0,0,0,.18)}.rbs-billing-hero{display:flex;justify-content:space-between;align-items:center;border-left:3px solid #e12632}.rbs-balance-big,.rbs-price{font-size:28px;font-weight:800;color:#ff4a55}.rbs-tariff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.rbs-tariff-card{display:flex;flex-direction:column;gap:8px}.rbs-tariff-card form{margin-top:auto}.rbs-pay-method{border-left:3px solid #e12632}.rbs-requisites{white-space:pre-wrap;background:#07090e;color:#e9edf5;border:1px solid rgba(255,255,255,.08);padding:14px;border-radius:8px}.rbs-quick-amounts{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.rbs-billing-auth{max-width:520px;margin-left:auto;margin-right:auto}.rbs-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:18px}.rbs-kpi{background:#0d1119;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:16px}.rbs-kpi span{display:block;color:#8e98a8}.rbs-kpi strong{display:block;font-size:26px;color:#fff;margin-top:5px}.rbs-inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start}.rbs-inline-form textarea{min-width:220px;min-height:70px}.rbs-inline-form input{min-width:110px}@media(max-width:767px){.rbs-balance{margin-left:0;width:100%}.rbs-billing-hero{display:block}.rbs-balance-big{margin-top:12px}.rbs-inline-form>*{width:100%!important;box-sizing:border-box}}

/* ========================================================================== */
/* RBS UI audit 1.5.1                                                        */
/* Deep visual/responsive pass over legacy Bootstrap 2 + RBS Billing.         */
/* ========================================================================== */

/* Neutralize legacy theme geometry that still leaked through style.css. */
body { overflow-x: hidden; }
#page, #content, #sidebar, .row-fluid, [class*="span"] { min-width: 0; }
#copyright { margin: 0; }
.container .container { width: auto !important; max-width: none; margin-left: 0; margin-right: 0; }
.rbs-two-column { margin-top: 2px; }

p { margin: 0 0 14px; font-size: 13px; line-height: 1.65; }
small { color: var(--rbs-muted); }
hr, .row-divider { border: 0; border-top: 1px solid var(--rbs-border); margin: 20px 0; }
legend { color: var(--rbs-text); border-bottom-color: var(--rbs-border); font-weight: 800; }
code, pre { color: #dbe7f6; background: #080e18; border-color: var(--rbs-border); }
pre { white-space: pre-wrap; word-break: break-word; }

/* Correct old global input rule for non text-like controls. */
input[type="checkbox"], input[type="radio"] {
    min-height: 0; width: auto; height: auto; margin-top: 2px;
    border: 0; box-shadow: none; background: transparent;
}
input[type="file"] {
    min-height: 0; height: auto; max-width: 100%; padding: 8px 0;
    border: 0; background: transparent; box-shadow: none; color: var(--rbs-muted);
}
input::placeholder, textarea::placeholder { color: #6f7e94; opacity: 1; }
select option { background: #0c1422; color: var(--rbs-text); }
.checkbox, .radio { color: var(--rbs-text); }
.help-block, .help-inline, .note { color: var(--rbs-muted); font-size: 12px; }
.required { color: #ff7289; }
.control-group.error .control-label, .control-group.error .help-block, .control-group.error .help-inline { color: #ff9aac; }
.control-group.error input, .control-group.error select, .control-group.error textarea { border-color: #9f3e52; box-shadow: 0 0 0 3px rgba(255,85,112,.10); }
.input-prepend .add-on, .input-append .add-on { background: #172236; color: var(--rbs-muted); border-color: #26354c; text-shadow: none; }

.btn { transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease; }
.btn:active { transform: translateY(1px); }
.btn-link { background: transparent; border-color: transparent; color: #8fc2ff; box-shadow: none; }
.btn-link:hover, .btn-link:focus { background: rgba(78,161,255,.08); border-color: transparent; color: #c8e2ff; }
.btn:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, button:focus-visible {
    outline: 2px solid #72b4ff; outline-offset: 2px;
}

.label, .badge {
    display: inline-flex; align-items: center; gap: 5px; padding: 4px 8px;
    border-radius: 999px; background: #25344b; color: #dce7f5;
    text-shadow: none; font-size: 10px; font-weight: 800; letter-spacing: .035em;
}
.label-success, .badge-success { background: rgba(46,212,122,.14); color: #8aefb8; }
.label-important, .label-error, .badge-important { background: rgba(255,85,112,.14); color: #ff9bad; }
.label-info, .badge-info { background: rgba(78,161,255,.14); color: #9acbff; }
.label-warning, .badge-warning { background: rgba(242,174,63,.14); color: #ffd186; }

/* Tables: keep readable columns, scroll the region instead of shrinking text to 9px. */
.grid-view { overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 4px; }
.grid-view table.items { min-width: 760px; }
.rbs-table-scroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: 12px; margin-bottom: 16px; }
.rbs-table-scroll > table { margin-bottom: 0; min-width: 100%; }
.table td, .table th, table.items td, table.items th { word-break: normal; overflow-wrap: anywhere; }
.table td.actions, .table th.actions { white-space: nowrap; }
.grid-view .summary { color: var(--rbs-muted); font-size: 12px; }
.grid-view .filters td { background: #111a2a; }
.grid-view .filters input, .grid-view .filters select { margin-bottom: 0; min-width: 72px; }

/* Consistent cards and empty states across old and new pages. */
.rbs-panel, .rbs-billing-card, .rbs-billing-hero, .rbs-tariff-card, .rbs-pay-method, .well {
    background: linear-gradient(180deg, rgba(21,31,49,.96), rgba(16,24,39,.96));
    border: 1px solid var(--rbs-border); border-radius: var(--rbs-radius);
    box-shadow: 0 12px 34px rgba(0,0,0,.16);
}
.well { color: var(--rbs-text); }
.rbs-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin: 0 0 14px; }
.rbs-section-head h1, .rbs-section-head h2, .rbs-section-head h3 { margin: 0; }
.rbs-section-head p { margin: 4px 0 0; color: var(--rbs-muted); }
.rbs-empty { padding: 28px 18px; text-align: center; border: 1px dashed #30405a; border-radius: 12px; color: var(--rbs-muted); background: rgba(255,255,255,.018); }
.rbs-empty i { display: block; margin-bottom: 9px; color: #5e7290; font-size: 24px; }

/* Skip link / mobile account were absent in the legacy theme. */
.rbs-skip-link { position: fixed; left: 16px; top: -60px; z-index: 20000; padding: 9px 13px; border-radius: 8px; background: #fff; color: #111; font-weight: 800; transition: top .15s ease; }
.rbs-skip-link:focus { top: 12px; color: #111; }
.rbs-mobile-account { display: none; }
.rbs-mobile-logout { margin: 0; }
.rbs-mobile-account-btn { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Login / generic forms. */
.form-horizontal .control-label { color: #bac7d9; font-weight: 700; }
.form-actions { margin-top: 20px; padding: 16px 18px; }
.rbs-auth-shell { max-width: 560px; margin: 14px auto 30px; padding: 24px; background: var(--rbs-panel); border: 1px solid var(--rbs-border); border-radius: 15px; box-shadow: var(--rbs-shadow); }

/* Admin tab bar. */
.nav-tabs { display: flex; flex-wrap: wrap; gap: 4px; }
.nav-tabs > li { float: none; margin-bottom: -1px; }
ul.inline { display: flex; flex-wrap: wrap; gap: 7px; margin-left: 0; }
ul.inline > li { padding: 0; }

/* RBS Billing visual system. */
.rbs-billing-nav, .rbs-billing-admin-nav {
    display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin: 0 0 18px;
    padding: 8px; border: 1px solid var(--rbs-border); border-radius: 12px;
    background: rgba(16,24,39,.72); box-shadow: 0 8px 28px rgba(0,0,0,.12);
}
.rbs-billing-nav .btn, .rbs-billing-admin-nav .btn { margin: 0; }
.rbs-billing-nav .btn.active, .rbs-billing-admin-nav .btn.active {
    background: rgba(225,29,46,.14); border-color: rgba(225,29,46,.36); color: #ff8a96;
}
.rbs-balance { margin-left: auto; padding: 8px 12px; border: 1px solid var(--rbs-border); border-radius: 9px; background: #0c1422; color: var(--rbs-muted); }
.rbs-balance strong { color: #fff; }

.rbs-billing-card { padding: 20px; margin-bottom: 18px; }
.rbs-billing-hero { position: relative; overflow: hidden; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 24px; margin-bottom: 18px; border-left: 0; }
.rbs-billing-hero:before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(var(--rbs-accent-2), var(--rbs-accent)); }
.rbs-billing-hero:after { content: ""; position: absolute; width: 240px; height: 240px; right: -80px; top: -120px; border-radius: 50%; background: radial-gradient(circle, rgba(225,29,46,.12), transparent 68%); pointer-events: none; }
.rbs-billing-hero h1 { position: relative; z-index: 1; margin: 0 0 5px; font-size: 27px; letter-spacing: -.025em; }
.rbs-billing-hero p { position: relative; z-index: 1; margin: 0; color: var(--rbs-muted); }
.rbs-balance-big { position: relative; z-index: 1; flex: 0 0 auto; font-size: 30px; line-height: 1; font-weight: 900; color: #ff707d; }

.rbs-tariff-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(245px,1fr)); gap: 15px; }
.rbs-tariff-card { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 8px; padding: 20px; margin: 0; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.rbs-tariff-card:hover { transform: translateY(-2px); border-color: rgba(225,29,46,.34); box-shadow: 0 16px 38px rgba(0,0,0,.24); }
.rbs-tariff-card h3 { margin: 0; font-size: 19px; }
.rbs-tariff-card p { min-height: 42px; color: #a8b5c8; }
.rbs-tariff-card form { margin-top: auto; padding-top: 8px; }
.rbs-price { font-size: 29px; line-height: 1.05; font-weight: 900; color: #ff707d; }
.rbs-meta-list { display: flex; flex-wrap: wrap; gap: 6px; margin: 3px 0 8px; }
.rbs-meta-chip { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border: 1px solid var(--rbs-border); border-radius: 999px; color: #aebdd0; background: rgba(255,255,255,.025); font-size: 11px; }

.rbs-pay-method { position: relative; padding: 18px; margin-bottom: 14px; border-left: 0; }
.rbs-pay-method:before { content: ""; position: absolute; left: 0; top: 16px; bottom: 16px; width: 3px; border-radius: 0 4px 4px 0; background: var(--rbs-accent); }
.rbs-pay-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.rbs-pay-head h3 { margin: 0; }
.rbs-requisites-wrap { position: relative; }
.rbs-requisites { margin: 0 0 12px; padding: 15px 92px 15px 15px; white-space: pre-wrap; background: #080e18; color: #edf3fc; border: 1px solid var(--rbs-border); border-radius: 10px; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.rbs-copy-btn { position: absolute; right: 8px; top: 8px; }
.rbs-copy-btn.is-copied { border-color: rgba(46,212,122,.45); color: #8aefb8; }
.rbs-quick-amounts { display: flex; gap: 7px; flex-wrap: wrap; margin: 0 0 10px; }
.rbs-quick-amounts .btn { min-width: 58px; }

.rbs-status { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border-radius: 999px; font-size: 10px; font-weight: 900; letter-spacing: .045em; text-transform: uppercase; white-space: nowrap; }
.rbs-status:before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: .9; }
.rbs-status-pending { color: #ffd186; background: rgba(242,174,63,.10); border: 1px solid rgba(242,174,63,.22); }
.rbs-status-approved, .rbs-status-paid, .rbs-status-active { color: #8aefb8; background: rgba(46,212,122,.10); border: 1px solid rgba(46,212,122,.22); }
.rbs-status-rejected, .rbs-status-failed, .rbs-status-blocked { color: #ff9bad; background: rgba(255,85,112,.10); border: 1px solid rgba(255,85,112,.22); }
.rbs-status-neutral { color: #aebdd0; background: rgba(148,163,184,.08); border: 1px solid var(--rbs-border); }

.rbs-form-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 12px; align-items: end; }
.rbs-field { grid-column: span 3; min-width: 0; }
.rbs-field-wide { grid-column: span 6; }
.rbs-field-full { grid-column: 1 / -1; }
.rbs-field-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; }
.rbs-field label { display: block; margin-bottom: 5px; color: #aebdd0; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .055em; }
.rbs-field input, .rbs-field textarea, .rbs-field select { width: 100%; box-sizing: border-box; margin: 0; }
.rbs-field textarea { min-height: 86px; resize: vertical; }
.rbs-admin-list { display: grid; gap: 12px; }
.rbs-admin-card { padding: 16px; border: 1px solid var(--rbs-border); border-radius: 12px; background: rgba(8,14,24,.46); }
.rbs-admin-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.rbs-admin-card-head strong { font-size: 15px; color: #fff; }
.rbs-admin-subtitle { color: var(--rbs-muted); font-size: 11px; }

.rbs-billing-auth { max-width: 560px; margin-left: auto; margin-right: auto; }
.rbs-billing-auth form { margin: 0; }
.rbs-billing-auth .btn-large { margin-top: 8px; }

/* Home / server page refinements. */
.rbs-home-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 16px; }
.rbs-section-card { min-width: 0; padding: 18px; background: var(--rbs-panel); border: 1px solid var(--rbs-border); border-radius: 14px; }
.rbs-section-card > h3 { margin: 0 0 12px; }
.rbs-click-row { cursor: pointer; }
.rbs-click-row:focus-within, .rbs-click-row:hover { outline: 1px solid rgba(78,161,255,.24); outline-offset: -1px; }

@media (max-width: 979px) {
    #nav .container { display: flex !important; align-items: center; gap: 8px; }
    #responsive-nav { flex: 1 1 auto; order: 1; margin: 0; }
    .rbs-mobile-account { display: flex; align-items: center; gap: 6px; order: 2; flex: 0 0 auto; }
    #responsive-nav-trigger { margin: 8px 0; }
    #responsive-nav-items { top: 50px; }
    .rbs-field { grid-column: span 6; }
    .rbs-field-wide { grid-column: span 6; }
    .rbs-home-grid { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
    #wrap { padding-top: 18px; }
    #page { min-height: 440px; }
    #content { padding: 0; }
    .rbs-billing-card { padding: 16px; }
    .rbs-billing-hero { display: block; padding: 18px; }
    .rbs-billing-hero h1 { font-size: 22px; padding-right: 0; }
    .rbs-balance-big { margin-top: 14px; font-size: 25px; }
    .rbs-balance { margin-left: 0; width: auto; }
    .rbs-billing-nav, .rbs-billing-admin-nav { padding: 7px; }
    .rbs-billing-nav .btn, .rbs-billing-admin-nav .btn { flex: 1 1 auto; text-align: center; }
    .rbs-field, .rbs-field-wide, .rbs-field-full { grid-column: 1 / -1; }
    .rbs-admin-card-head { align-items: flex-start; flex-direction: column; }
    .rbs-table-scroll > table, .grid-view table.items { min-width: 680px; }
    .form-horizontal .control-label { float: none; width: auto; padding-top: 0; text-align: left; }
    .form-horizontal .controls { margin-left: 0; }
    .form-actions { padding-left: 14px; padding-right: 14px; }
    .modal table { width: 100% !important; max-width: 100%; }
    .modal-body { max-height: 62vh; }
}

@media (max-width: 620px) {
    .container { width: calc(100% - 22px) !important; }
    #header { padding: 14px 0 12px; }
    .rbs-brand-copy small { display: none; }
    .rbs-mobile-account-btn { max-width: 120px; padding-left: 9px; padding-right: 9px; }
    .rbs-kpi-grid { grid-template-columns: 1fr 1fr; }
    .rbs-kpi { padding: 13px; }
    .rbs-section-head { align-items: flex-start; flex-direction: column; }
    .rbs-pay-head { align-items: flex-start; }
    .rbs-requisites { padding-right: 15px; padding-top: 46px; }
    .rbs-copy-btn { left: 8px; right: auto; }
    .rbs-tariff-grid { grid-template-columns: 1fr; }
    .rbs-tariff-card p { min-height: 0; }
    #copyright { padding: 15px 0; }
}

@media (prefers-reduced-motion: reduce) {
    *, *:before, *:after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Billing 1.5.1 supporting components */
.rbs-billing-logout { margin: 0; }
.rbs-shop-help { color: var(--rbs-muted); }
.rbs-shop-help i { margin-right: 6px; color: var(--rbs-accent-2); }
.rbs-payment-instructions { margin: 0 0 14px; color: #aebdd0; }
.rbs-payment-form { margin: 0; }
.rbs-server-legend { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 16px; }
.rbs-flow-steps { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; }
.rbs-flow-steps > div { position: relative; min-width: 0; padding: 14px; border: 1px solid var(--rbs-border); border-radius: 11px; background: rgba(8,14,24,.48); }
.rbs-flow-steps > div > span { display: inline-grid; place-items: center; width: 26px; height: 26px; margin-bottom: 9px; border-radius: 50%; background: rgba(225,29,46,.15); color: #ff8793; font-weight: 900; }
.rbs-flow-steps strong, .rbs-flow-steps small { display: block; }
.rbs-flow-steps strong { color: #fff; margin-bottom: 4px; }
.rbs-flow-steps small { line-height: 1.45; }
.rbs-admin-create { margin-bottom: 16px; border-color: rgba(78,161,255,.20); }
.rbs-amount-positive { color: #8aefb8; }
.rbs-amount-negative { color: #ff9bad; }
.rbs-topup-action { min-width: 220px; margin: 0; }
.rbs-topup-action input { width: 100%; box-sizing: border-box; margin: 0 0 6px; }
.rbs-inline-action { display: inline-block; margin: 6px 0 0 6px; }
.rbs-adjust-form { display: grid; grid-template-columns: 90px minmax(140px,1fr) auto; gap: 6px; min-width: 350px; margin: 0; }
.rbs-adjust-form input, .rbs-adjust-form button { margin: 0; }

@media (max-width: 979px) {
    .rbs-flow-steps { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 620px) {
    .rbs-flow-steps { grid-template-columns: 1fr; }
    .rbs-flow-steps > div { display: grid; grid-template-columns: 34px 1fr; column-gap: 8px; align-items: start; }
    .rbs-flow-steps > div > span { grid-row: 1 / 3; margin: 0; }
    .rbs-flow-steps > div strong, .rbs-flow-steps > div small { grid-column: 2; }
}

/* Home dashboard 1.5.1 */
.rbs-home-hero { position: relative; overflow: hidden; display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 210px; padding: 30px; margin: 0 0 18px; border: 1px solid var(--rbs-border); border-radius: 18px; background: linear-gradient(135deg, rgba(28,40,62,.98), rgba(13,20,33,.98)); box-shadow: var(--rbs-shadow); }
.rbs-home-hero:before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 82% 20%, rgba(225,29,46,.18), transparent 24rem), radial-gradient(circle at 12% 110%, rgba(78,161,255,.10), transparent 25rem); pointer-events: none; }
.rbs-home-hero-copy, .rbs-home-mark { position: relative; z-index: 1; }
.rbs-eyebrow { display: inline-block; margin-bottom: 8px; color: #ff8290; font-size: 10px; font-weight: 900; letter-spacing: .16em; }
.rbs-home-hero h1 { margin: 0 0 8px; font-size: 35px; line-height: 1.1; letter-spacing: -.035em; }
.rbs-home-hero p { max-width: 690px; margin-bottom: 18px; color: #aebbd0; font-size: 14px; }
.rbs-home-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.rbs-home-mark { flex: 0 0 auto; width: 150px; height: 150px; display: grid; place-items: center; align-content: center; border: 1px solid rgba(255,255,255,.08); border-radius: 28px; background: linear-gradient(145deg, rgba(225,29,46,.20), rgba(255,255,255,.025)); box-shadow: inset 0 1px rgba(255,255,255,.04); }
.rbs-home-mark span { font-size: 37px; line-height: 1; font-weight: 950; letter-spacing: .08em; color: #fff; }
.rbs-home-mark small { margin-top: 8px; font-size: 9px; letter-spacing: .23em; color: #ff8a96; }
.rbs-section-card .grid-view { margin-bottom: 0; }
.rbs-section-card .table { margin-bottom: 0; }
.rbs-home-servers .rbs-server-status { width: 78px; }
.rbs-home-servers td:first-child { max-width: 290px; }

@media (max-width: 767px) {
    .rbs-home-hero { min-height: 0; padding: 22px; }
    .rbs-home-hero h1 { font-size: 27px; }
    .rbs-home-mark { display: none; }
    .rbs-section-card { padding: 14px; }
}
.rbs-auth-shell .form-actions { margin: 18px -24px -24px; border-radius: 0 0 15px 15px; }
.rbs-captcha-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: center; }
.rbs-captcha-row input { margin: 0; }
.rbs-captcha-row img { max-width: 180px; border-radius: 8px; border: 1px solid var(--rbs-border); }
@media (max-width: 620px) {
    .rbs-auth-shell { padding: 18px; }
    .rbs-auth-shell .form-actions { margin: 16px -18px -18px; }
    .rbs-captcha-row { grid-template-columns: 1fr; }
}
.search-form { margin: 0 0 16px; padding: 16px; background: var(--rbs-panel); border: 1px solid var(--rbs-border); border-radius: 12px; }
.rbs-ban-modal { width: min(640px, calc(100% - 24px)); }
.rbs-ban-modal,
.rbs-map-modal,
.rbs-admin-modal,
.rbs-modal-md,
.rbs-modal-lg {
    left: 50%;
    margin-left: 0;
    transform: translateX(-50%);
}

.rbs-detail-table { width: 100%; margin: 0; }
.rbs-detail-table td:first-child { width: 34%; color: var(--rbs-muted); }
@media (max-width: 767px) {
    .rbs-ban-modal { width: calc(100% - 24px) !important; left: 12px !important; transform: none; }
}
@media (max-width: 767px) {
    .rbs-table-scroll > .rbs-detail-table { min-width: 0; }
}
.rbs-page-actions { display: flex; align-items: center; gap: 10px; font-size: 16px; }
.rbs-page-actions a { display: inline-grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--rbs-border); border-radius: 9px; background: #162238; color: #cbd8e9; }
.rbs-page-actions a:hover { background: rgba(225,29,46,.12); color: #ff8a96; text-decoration: none; }
.rbs-map-modal { width: min(900px, calc(100% - 24px)); }
.rbs-map-modal-body { min-height: 0; }
.rbs-map-canvas { width: 100%; height: 400px; border-radius: 10px; overflow: hidden; background: #0a101b; }
.rbs-map-frame { display:block; width:100%; height:400px; border:0; border-radius:10px; background:#0a101b; }
.rbs-map-tools { display:flex; justify-content:flex-end; gap:8px; margin-top:10px; }
.rbs-geo-details { margin-top: 14px; color: #aebbd0; }
.rbs-rcon-output { min-height: 300px; max-height: 52vh; overflow: auto; font-size: 12px; }
.rbs-admin-modal { width: min(640px, calc(100% - 24px)); }
.rbs-admin-modal-body { min-height: 0; max-height: 64vh; overflow-y: auto; }
.rbs-centered-action { display: flex; justify-content: center; margin: 12px 0; }
@media (max-width: 920px) {
    .rbs-map-modal { width: calc(100% - 24px) !important; left: 12px !important; transform: none; }
}
@media (max-width: 767px) {
    .rbs-admin-modal { width: calc(100% - 24px) !important; left: 12px !important; transform: none; }
    .rbs-map-canvas, .rbs-map-frame { height: 300px; }
    .rbs-ban-head { align-items: flex-start; }
}
.rbs-modal-md { width: min(640px, calc(100% - 24px)); }
.rbs-modal-lg { width: min(860px, calc(100% - 24px)); }
@media (max-width: 900px) {
    .rbs-modal-lg { width: calc(100% - 24px) !important; left: 12px !important; transform: none; }
}
@media (max-width: 700px) {
    .rbs-modal-md { width: calc(100% - 24px) !important; left: 12px !important; transform: none; }
}

/* RBS 1.6.0 reliability/UI additions */
.rbs-page-actions .rbs-action-form { margin: 0; display: inline-flex; }
.rbs-page-actions .rbs-action-btn { display:inline-grid; place-items:center; width:34px; height:34px; padding:0; border:1px solid var(--rbs-border); border-radius:9px; background:#162238; color:#cbd8e9; cursor:pointer; }
.rbs-page-actions .rbs-action-btn:hover { background:rgba(225,29,46,.12); color:#ff8a96; }
.rbs-db-diagnostics { margin: 12px 0 20px; padding: 12px 14px; border: 1px solid var(--rbs-border); border-radius: 10px; background: rgba(255,255,255,.025); color: var(--rbs-muted); }
.rbs-server-query-note { display:block; margin-top:3px; font-size:11px; line-height:1.3; color:var(--rbs-muted); }
.rbs-flash { margin-top: 12px; }

/* ========================================================================== */
/* RBS UI POLISH 1.6.2 — admin forms                                          */
/* ========================================================================== */

/* Bootstrap 2 uses more specific white input selectors. Override them once. */
input[type="text"], input[type="password"], input[type="email"], input[type="number"],
input[type="url"], input[type="search"], input[type="tel"], textarea, select,
.form-horizontal input[type="text"], .form-horizontal input[type="password"],
.form-horizontal textarea, .form-horizontal select {
    color: var(--rbs-text);
    background: #0c1422;
    border: 1px solid #2a3a53;
    border-radius: 10px;
    box-shadow: none;
    text-shadow: none;
    min-height: 40px;
    box-sizing: border-box;
}
input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus,
input[type="number"]:focus, input[type="url"]:focus, input[type="search"]:focus,
input[type="tel"]:focus, textarea:focus, select:focus {
    color: #fff;
    background: #0d1727;
    border-color: #4f80bb;
    box-shadow: 0 0 0 3px rgba(78,161,255,.12);
}
input[readonly], input[disabled], textarea[disabled], select[disabled] {
    color: #73829a;
    background: #0b111c;
    border-color: #202d40;
}

.rbs-one-column > .span12 { width: 100%; margin-left: 0; }
.rbs-admin-page-head {
    display: flex; align-items: flex-end; justify-content: space-between; gap: 20px;
    margin: 8px 0 18px; padding: 0 2px;
}
.rbs-admin-page-head h2 { margin: 2px 0 3px; font-size: 27px; }
.rbs-admin-page-head p { margin: 0; color: var(--rbs-muted); }
.rbs-admin-page-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }

.rbs-admin-card {
    width: 100%; max-width: 980px; margin: 0 0 16px; padding: 20px;
    box-sizing: border-box; border: 1px solid var(--rbs-border); border-radius: 15px;
    background: linear-gradient(180deg, rgba(21,31,49,.97), rgba(13,21,35,.97));
    box-shadow: 0 14px 38px rgba(0,0,0,.18);
}
.rbs-admin-card-muted { background: rgba(14,22,36,.78); box-shadow: none; }
.rbs-admin-card-head {
    display: flex; align-items: flex-start; justify-content: space-between; gap: 18px;
    margin: 0 0 18px; padding-bottom: 15px; border-bottom: 1px solid var(--rbs-border);
}
.rbs-admin-card-head h3 { margin: 0 0 4px; font-size: 18px; }
.rbs-admin-card-head h3 i { width: 20px; color: #ff7180; }
.rbs-admin-card-head p { margin: 0; color: var(--rbs-muted); }
.rbs-admin-form-card .errorSummary {
    margin: 0 0 18px; padding: 13px 15px; color: #ffd5dd; background: rgba(255,85,112,.09);
    border: 1px solid rgba(255,85,112,.25); border-radius: 10px;
}
.rbs-admin-form-card .errorSummary p { color: #fff; font-weight: 800; }
.rbs-admin-form-card .errorSummary ul { margin-bottom: 0; }
.rbs-admin-form-grid {
    display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 15px 16px; align-items: start;
}
.rbs-admin-field { min-width: 0; }
.rbs-col-12 { grid-column: span 12; }
.rbs-col-8 { grid-column: span 8; }
.rbs-col-6 { grid-column: span 6; }
.rbs-col-4 { grid-column: span 4; }
.rbs-admin-field > label, .rbs-admin-field .control-label {
    display: block; margin: 0 0 6px; color: #dce6f3; font-weight: 800; font-size: 12px;
}
.rbs-admin-field input[type="text"], .rbs-admin-field input[type="password"],
.rbs-admin-field input[type="email"], .rbs-admin-field input[type="number"],
.rbs-admin-field input[type="url"], .rbs-admin-field select, .rbs-admin-field textarea {
    width: 100%; margin: 0; padding: 8px 11px;
}
.rbs-field-help { margin-top: 6px; color: #7f90a8; font-size: 11px; line-height: 1.45; }
.rbs-admin-field .errorMessage { margin-top: 5px; color: #ff9bad; font-size: 11px; }
.rbs-password-control { display: flex; gap: 7px; align-items: stretch; }
.rbs-password-control > input { flex: 1 1 auto; min-width: 0; }
.rbs-password-control .rbs-icon-btn { flex: 0 0 43px; width: 43px; padding: 0; }
.rbs-inline-check { display: inline-flex !important; align-items: center; gap: 7px; margin: 9px 0 0 !important; color: #aebdd0 !important; font-weight: 600 !important; font-size: 12px !important; text-transform: none !important; letter-spacing: 0 !important; }
.rbs-inline-check input[type="checkbox"] { margin: 0; }

.rbs-form-actions, .rbs-sticky-form-actions {
    display: flex; align-items: center; flex-wrap: wrap; gap: 8px;
    margin: 20px 0 0; padding-top: 16px; border-top: 1px solid var(--rbs-border);
}
.rbs-primary-action { min-width: 160px; }
.rbs-sticky-form-actions {
    max-width: 980px; box-sizing: border-box; justify-content: space-between; gap: 18px;
    margin: 0 0 26px; padding: 15px 17px; border: 1px solid var(--rbs-border); border-radius: 13px;
    background: rgba(12,20,34,.94); box-shadow: 0 12px 34px rgba(0,0,0,.20);
}
.rbs-sticky-form-copy { display: flex; flex-direction: column; min-width: 0; }
.rbs-sticky-form-copy strong { color: #fff; }
.rbs-sticky-form-copy span { color: var(--rbs-muted); font-size: 11px; }

.rbs-rcon-card { max-width: 980px; }
.rbs-rcon-controls { display: grid; grid-template-columns: minmax(190px,.7fr) minmax(240px,1.4fr) auto; gap: 8px; margin-bottom: 12px; }
.rbs-rcon-controls select, .rbs-rcon-controls input { width: 100%; margin: 0; box-sizing: border-box; }
.rbs-rcon-output { margin: 0; min-height: 220px; padding: 14px; background: #070c14; border: 1px solid #233147; border-radius: 10px; color: #cde7d9; }

.rbs-access-control { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.rbs-access-control input { width: 100%; }
.rbs-flag-presets { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 16px; }
.rbs-flag-preset { padding: 7px 10px; font-size: 11px; }
.rbs-flag-preset b { margin-left: 4px; color: #ff8995; }
.rbs-flag-preset.is-active { border-color: rgba(225,29,46,.55); background: rgba(225,29,46,.14); color: #fff; }
.rbs-flags-modal .modal-header { padding-bottom: 12px; }
.rbs-modal-subtitle { margin: 5px 0 0; color: var(--rbs-muted); font-size: 12px; }
.rbs-check-all { margin: 0 0 13px !important; }
.rbs-flags-grid > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 14px; }
.rbs-flags-grid label { display: flex; align-items: flex-start; gap: 7px; min-width: 0; margin: 0; padding: 9px 10px; border: 1px solid var(--rbs-border); border-radius: 9px; background: rgba(255,255,255,.018); color: #cbd7e7; font-size: 11px; line-height: 1.4; }
.rbs-flags-grid label:hover { background: rgba(78,161,255,.05); border-color: rgba(78,161,255,.25); }
.rbs-flags-grid label input { flex: 0 0 auto; margin-top: 2px; }

.rbs-days-control { display: flex; align-items: center; gap: 12px; }
.rbs-days-control > input { max-width: 150px; }
.rbs-server-checklist > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.rbs-server-checklist label { display: flex; align-items: center; gap: 8px; min-width: 0; margin: 0; padding: 10px 11px; border: 1px solid var(--rbs-border); border-radius: 9px; background: rgba(255,255,255,.018); color: #d7e0ed; }
.rbs-server-checklist label:hover { border-color: rgba(78,161,255,.28); background: rgba(78,161,255,.05); }
.rbs-server-checklist input { flex: 0 0 auto; margin: 0; }
.rbs-current-term { margin-bottom: 12px; padding: 10px 12px; border-radius: 9px; background: rgba(78,161,255,.06); color: #aebdd0; }
.rbs-current-term strong { color: #fff; }
.rbs-term-editor { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; }
.rbs-term-editor .radio { margin: 0; }
.rbs-term-days { display: flex; align-items: center; gap: 7px; margin-left: auto; }
.rbs-term-days input { width: 100px; margin: 0; }
.rbs-term-days span { color: var(--rbs-muted); }
.rbs-advanced-toggle { padding-left: 0; }
.rbs-advanced-toggle i { transition: transform .15s ease; }
.rbs-advanced-toggle.is-open i { transform: rotate(45deg); }
.rbs-advanced-grid { margin-top: 15px; }
.rbs-webadmin-card #webrights { padding-top: 2px; }

/* Modernize legacy Bootstrap active-form rows globally without breaking grids. */
.form .control-group, form .control-group { margin-bottom: 14px; }
.form .control-group .controls input[type="text"], .form .control-group .controls input[type="password"],
.form .control-group .controls select, .form .control-group .controls textarea,
form .control-group .controls input[type="text"], form .control-group .controls input[type="password"],
form .control-group .controls select, form .control-group .controls textarea {
    max-width: 100%; box-sizing: border-box;
}

/* Admin main navigation: one visual language, no disabled grey pill confusion. */
.tabbable > .nav-tabs { gap: 6px; margin-bottom: 0; }
.tabbable > .nav-tabs > li > a { padding: 9px 14px; border-radius: 10px 10px 0 0; font-weight: 800; }
.tabbable > .tab-content { padding: 11px; border-radius: 0 12px 12px 12px; }
.tabbable > .tab-content .btn[disabled], .tabbable > .tab-content .btn.disabled {
    opacity: 1; background: rgba(225,29,46,.12); border-color: rgba(225,29,46,.32); color: #ff8995;
}

@media (max-width: 900px) {
    .rbs-admin-page-head { align-items: flex-start; flex-direction: column; }
    .rbs-admin-page-actions { justify-content: flex-start; }
    .rbs-col-4, .rbs-col-6, .rbs-col-8 { grid-column: span 6; }
    .rbs-rcon-controls { grid-template-columns: 1fr 1fr; }
    .rbs-rcon-controls .btn { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
    .rbs-admin-card { padding: 16px; }
    .rbs-admin-card-head { flex-direction: column; }
    .rbs-col-4, .rbs-col-6, .rbs-col-8, .rbs-col-12 { grid-column: 1 / -1; }
    .rbs-access-control { grid-template-columns: 1fr; }
    .rbs-server-checklist > div, .rbs-flags-grid > div { grid-template-columns: 1fr; }
    .rbs-rcon-controls { grid-template-columns: 1fr; }
    .rbs-rcon-controls .btn { grid-column: auto; }
    .rbs-term-editor { align-items: flex-start; flex-direction: column; }
    .rbs-term-days { margin-left: 0; }
    .rbs-sticky-form-actions { align-items: flex-start; flex-direction: column; }
    .rbs-sticky-form-actions .btn { width: 100%; }
}

/* 1.6.2: replace the old right sidebar with a compact action toolbar. */
.rbs-admin-workspace { width: 100%; min-width: 0; }
.rbs-context-actions {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    margin: 0 0 15px; padding: 9px 11px; border: 1px solid var(--rbs-border); border-radius: 11px;
    background: rgba(15,24,39,.78);
}
.rbs-context-actions-label { color: #7f90a8; font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
ul.rbs-context-menu { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; }
ul.rbs-context-menu li { float: none; margin: 0; padding: 0; list-style: none; }
ul.rbs-context-menu li a { display: inline-flex; align-items: center; min-height: 30px; padding: 5px 9px; border: 1px solid #2a3a53; border-radius: 8px; background: #152035; color: #cbd7e7; font-size: 11px; font-weight: 700; }
ul.rbs-context-menu li a:hover { text-decoration: none; background: #1c2a42; color: #fff; border-color: #3a506e; }
@media (max-width: 620px) {
    .rbs-context-actions { align-items: flex-start; flex-direction: column; }
    ul.rbs-context-menu { width: 100%; }
    ul.rbs-context-menu li { flex: 1 1 auto; }
    ul.rbs-context-menu li a { justify-content: center; }
}


/* RBS 1.6.4: ban-list IP status centered, close control remains independent. */
.rbs-ip-status { position: relative; text-align: center; padding-left: 46px; padding-right: 46px; }
.rbs-ip-status .rbs-ip-status-message { display: block; width: 100%; text-align: center; }
.rbs-ip-status > .close { position: absolute; top: 50%; right: 16px; float: none; margin: 0; transform: translateY(-50%); }

/* RBS 1.6.4: section navigation must read as a menu, not as compressed text. */
.rbs-context-actions {
    display: block; margin: 0 0 22px; padding: 16px 18px;
    border: 1px solid var(--rbs-border); border-radius: 14px;
    background: linear-gradient(180deg, rgba(23,35,55,.94), rgba(14,23,38,.94));
}
.rbs-context-actions-label {
    display: flex; align-items: center; gap: 8px; margin: 0 0 12px;
    color: #a9b8cb; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em;
}
ul.rbs-context-menu { display: flex; align-items: stretch; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; }
ul.rbs-context-menu li { flex: 0 1 auto; min-width: 150px; }
ul.rbs-context-menu li a {
    box-sizing: border-box; display: flex; align-items: center; justify-content: center;
    min-height: 42px; padding: 9px 15px; border: 1px solid #2e405c; border-radius: 10px;
    background: #162238; color: #d5dfed; font-size: 13px; font-weight: 800; line-height: 1.25; text-align: center;
}
ul.rbs-context-menu li.active a, ul.rbs-context-menu li a:hover {
    text-decoration: none; background: rgba(225,29,46,.12); color: #fff; border-color: rgba(255,61,80,.55);
}

.rbs-map-canvas { position: relative; }
.rbs-map-fallback {
    box-sizing: border-box; min-height: 100%; padding: 28px; display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: 7px; text-align: center; color: #aebbd0;
    border: 1px dashed #2d3c55; border-radius: 10px; background: #0a101b;
}
.rbs-map-fallback strong { color: #e7eef8; font-size: 15px; }
.rbs-map-fallback span { max-width: 520px; font-size: 12px; line-height: 1.55; }
.rbs-map-unavailable { display: flex; align-items: stretch; justify-content: stretch; }
.rbs-map-unavailable .rbs-map-fallback { width: 100%; }

@media (max-width: 700px) {
    .rbs-ip-status { padding-left: 38px; padding-right: 38px; }
    .rbs-context-actions { padding: 14px; }
    ul.rbs-context-menu { display: grid; grid-template-columns: 1fr; gap: 8px; width: 100%; }
    ul.rbs-context-menu li { min-width: 0; width: 100%; }
    ul.rbs-context-menu li a { width: 100%; justify-content: flex-start; text-align: left; min-height: 44px; padding: 10px 14px; }
}

/* RBS 1.6.5 - banlist alignment polish */
.rbs-banlist-head {
    position: relative;
    display: block;
    text-align: center;
    margin-bottom: 18px;
}
.rbs-banlist-head .rbs-banlist-title {
    text-align: center;
}
.rbs-banlist-head .rbs-banlist-title h1 {
    margin-bottom: 6px;
}
.rbs-banlist-head .rbs-banlist-title p {
    margin: 0;
    color: var(--rbs-muted);
}
.rbs-banlist-head .search-button {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
#bans-grid > .summary,
#bans-grid .summary {
    text-align: center;
    margin: 14px 0 12px;
}
.rbs-ip-status.alert-success {
    border-color: rgba(46, 212, 122, .52);
    background: linear-gradient(90deg, rgba(12, 69, 49, .62), rgba(10, 49, 45, .72));
    box-shadow: inset 0 0 24px rgba(46, 212, 122, .05), 0 0 22px rgba(46, 212, 122, .05);
}
.rbs-ip-status.alert-success .rbs-ip-status-message::before {
    content: "✓";
    display: inline-flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
    border: 2px solid rgba(46, 212, 122, .9);
    border-radius: 50%;
    color: #52eda0;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 0 14px rgba(46, 212, 122, .22);
}
@media (max-width: 767px) {
    .rbs-banlist-head .search-button {
        position: static;
        display: inline-block;
        margin-top: 14px;
        transform: none;
    }
    .rbs-ip-status.alert-success .rbs-ip-status-message::before {
        width: 24px;
        height: 24px;
        margin-right: 8px;
    }
}

/* ============================================================
   RBS CS:Bans 1.6.6 — public pages / unified UI
   ============================================================ */
.rbs-public-page-head {
    margin: 0 auto 24px;
    max-width: 920px;
}
.rbs-public-page-head-centered { text-align: center; }
.rbs-public-page-head h1 {
    margin: 5px 0 8px;
    color: #f6f9ff;
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.05;
    letter-spacing: -.035em;
}
.rbs-public-page-head p {
    max-width: 760px;
    margin: 0 auto;
    color: #94a6bf;
    font-size: 14px;
    line-height: 1.6;
}
.rbs-section-head-centered { align-items: center; }
.rbs-section-head-centered > div:first-child { min-width: 0; }
.rbs-count-pill {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    padding: 0 10px;
    border: 1px solid rgba(78,161,255,.25);
    border-radius: 999px;
    background: rgba(78,161,255,.08);
    color: #cfe3ff;
    font-weight: 900;
    font-size: 12px;
}
.rbs-public-table-card { margin-bottom: 18px; }
.rbs-public-table-card .grid-view { margin-bottom: 0; }
.rbs-public-table-card .summary { text-align: center; margin: 6px 0 14px; color: #91a4bd; }
.rbs-public-table-card table { margin-bottom: 0; }
.rbs-cell-center { text-align: center !important; }
.rbs-mono-cell { font-family: Consolas, Monaco, monospace; letter-spacing: .04em; }
.rbs-click-row { cursor: pointer; }
.rbs-click-row:hover td { background: rgba(78,161,255,.055) !important; }

.rbs-empty-state {
    box-sizing: border-box;
    text-align: center;
    border: 1px solid #273851;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(20,31,49,.90), rgba(12,20,33,.94));
    box-shadow: 0 16px 45px rgba(0,0,0,.16);
}
.rbs-empty-state-large { max-width: 880px; margin: 0 auto 20px; padding: 38px 24px; }
.rbs-empty-state-icon {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    margin: 0 auto 16px;
    border: 1px solid rgba(78,161,255,.24);
    border-radius: 17px;
    background: rgba(78,161,255,.08);
    color: #6eb2ff;
    font-size: 24px;
}
.rbs-empty-state h2 { margin: 0 0 8px; color: #f4f7fb; font-size: 22px; }
.rbs-empty-state p { max-width: 650px; margin: 0 auto 18px; color: #8fa2bb; line-height: 1.6; }

.rbs-access-help-card { max-width: 980px; margin: 18px auto 0; }
.rbs-access-help-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 18px; }
.rbs-access-help-block { padding: 16px; border: 1px solid #26364e; border-radius: 12px; background: rgba(255,255,255,.015); }
.rbs-access-help-block h3 { margin: 0 0 12px; font-size: 15px; }
.rbs-flag-reference { display: grid; gap: 7px; }
.rbs-flag-reference > div { display: grid; grid-template-columns: 38px 1fr; align-items: start; gap: 9px; padding: 7px 8px; border-radius: 8px; background: rgba(255,255,255,.018); }
.rbs-flag-reference code { color: #ff7b89; font-weight: 900; }
.rbs-flag-reference span { color: #b5c2d5; font-size: 12px; line-height: 1.45; }
.rbs-modal-section + .rbs-modal-section { margin-top: 18px; padding-top: 18px; border-top: 1px solid #27364d; }
.rbs-modal-section h3 { margin: 0 0 10px; font-size: 14px; color: #dbe6f5; }

.rbs-kpi-grid-centered { max-width: 1180px; margin-left: auto; margin-right: auto; }
.rbs-server-table td { vertical-align: middle; }
.rbs-server-row { cursor: pointer; }
.rbs-server-row.is-online td:first-child { box-shadow: inset 3px 0 rgba(46,212,122,.55); }
.rbs-server-row.is-query-limited td:first-child { box-shadow: inset 3px 0 rgba(241,180,56,.50); }
.rbs-server-name { color: #eef5ff; }
.rbs-server-query-note { display: block; margin-top: 3px; color: #8193ab; font-size: 10px; line-height: 1.35; }
.rbs-status-warning { border-color: rgba(241,180,56,.35); background: rgba(241,180,56,.10); color: #f5c96e; }
.rbs-monitor-note { margin-top: 12px; color: #7f91aa; font-size: 11px; text-align: center; }
.rbs-monitor-note.is-warning { color: #e8b962; }
.rbs-server-detail-grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(220px,.9fr); gap: 18px; align-items: start; }
.rbs-server-detail-meta { display: grid; gap: 8px; }
.rbs-server-detail-meta > div { display: grid; grid-template-columns: 90px 1fr; gap: 12px; padding: 10px 11px; border: 1px solid #27374f; border-radius: 9px; background: rgba(255,255,255,.018); }
.rbs-server-detail-meta span { color: #7f91aa; font-size: 11px; }
.rbs-server-detail-meta strong { min-width: 0; overflow-wrap: anywhere; color: #e8eff9; }
.rbs-server-mapimage { max-width: 100%; border-radius: 10px; border: 1px solid #2a3a52; }
.rbs-server-connect-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; margin-top: 10px; }

.rbs-geo-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-bottom: 14px; }
.rbs-geo-summary > div { padding: 13px; border: 1px solid #2a3950; border-radius: 10px; background: rgba(255,255,255,.018); }
.rbs-geo-summary span { display: block; margin-bottom: 4px; color: #7e90a9; font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.rbs-geo-summary strong { color: #eef4fd; overflow-wrap: anywhere; }
.rbs-coordinate-card { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 16px; border: 1px solid rgba(78,161,255,.22); border-radius: 12px; background: rgba(78,161,255,.055); }
.rbs-coordinate-card code { color: #bcdcff; font-size: 13px; }
.rbs-map-tools { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin-top: 12px; }

.rbs-toast-stack { position: fixed; z-index: 10050; right: 18px; top: 18px; display: grid; gap: 9px; width: min(380px, calc(100% - 36px)); }
.rbs-toast { display: grid; grid-template-columns: 20px 1fr auto; gap: 10px; align-items: start; padding: 12px 13px; border: 1px solid #2c3b53; border-radius: 11px; background: #111b2b; color: #dce6f4; box-shadow: 0 16px 42px rgba(0,0,0,.32); }
.rbs-toast > i { margin-top: 2px; }
.rbs-toast-success { border-color: rgba(46,212,122,.34); }
.rbs-toast-success > i { color: #48df94; }
.rbs-toast-error { border-color: rgba(255,72,91,.40); }
.rbs-toast-error > i { color: #ff6573; }
.rbs-toast-warning { border-color: rgba(241,180,56,.38); }
.rbs-toast-warning > i { color: #f2bf59; }
.rbs-toast-info > i { color: #67adff; }
.rbs-toast-close { border: 0; padding: 0 2px; background: transparent; color: #7f90a8; font-size: 20px; line-height: 1; }

@media (max-width: 767px) {
    .rbs-public-page-head { margin-bottom: 18px; }
    .rbs-section-head-centered { align-items: flex-start; }
    .rbs-access-help-grid, .rbs-server-detail-grid, .rbs-geo-summary { grid-template-columns: 1fr; }
    .rbs-coordinate-card { align-items: flex-start; flex-direction: column; }
    .rbs-map-tools { justify-content: stretch; }
    .rbs-map-tools .btn { flex: 1 1 100%; }
}

/* 1.6.6 legacy CRUD polish: old pages inherit the same centered RBS rhythm. */
#content > h1,
#content > h2 {
    max-width: 980px;
    margin: 20px auto 22px;
    text-align: center;
    color: #f4f8ff;
    line-height: 1.15;
    letter-spacing: -.025em;
}
#content > .form,
#content > form.form,
#content > .grid-view,
#content > .detail-view,
#content > table.detail-view {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}
#content > .grid-view > .summary { text-align: center; }
#content .help-block,
#content .hint { color: #7f91aa; }
#content hr { border-top-color: #27374f; border-bottom: 0; }

/* Keep the section toolbar roomy and centered on wide pages. */
.rbs-context-actions { max-width: 1180px; margin-left: auto; margin-right: auto; }
.rbs-context-actions-label { justify-content: center; }
ul.rbs-context-menu { justify-content: center; }

@media (max-width: 700px) {
    .rbs-context-actions-label { justify-content: flex-start; }
    ul.rbs-context-menu { justify-content: stretch; }
}
#content > .tabbable { max-width: 1180px; margin-left: auto; margin-right: auto; }
.rbs-fixed-setting { max-width: 620px; padding: 11px 13px; border: 1px solid rgba(46,212,122,.25); border-radius: 10px; background: rgba(46,212,122,.055); }
.rbs-fixed-setting strong { display: block; margin-bottom: 3px; color: #dff9eb; }
.rbs-fixed-setting span { color: #8fa7bc; font-size: 11px; line-height: 1.5; }

/* ========================================================================
   RBS CS:Bans 1.7.0 — CSstatsX SQL / Statistics
   ======================================================================== */
.rbs-stats-head { text-align:center; max-width:860px; margin:0 auto 26px; }
.rbs-stats-head .rbs-eyebrow { color:#ff5570; font-size:11px; font-weight:900; letter-spacing:.16em; margin-bottom:7px; }
.rbs-stats-head h1 { margin:0 0 8px; }
.rbs-stats-head p { margin:0; color:#92a4bf; }
.rbs-stats-toolbar { display:flex; justify-content:space-between; align-items:end; gap:14px; margin:0 0 18px; flex-wrap:wrap; }
.rbs-stats-source-form { display:flex; align-items:center; gap:10px; margin:0; }
.rbs-stats-source-form label { margin:0; color:#9eb0c9; font-weight:700; }
.rbs-stats-source-form select { min-width:260px; margin:0; }
.rbs-stats-kpis { margin-bottom:22px; }
.rbs-kpi-small { font-size:20px !important; line-height:1.2; }
.rbs-stats-search { display:grid; grid-template-columns:minmax(0,1fr) 220px auto; gap:12px; align-items:center; padding:14px; border:1px solid #26364d; background:rgba(13,20,32,.74); border-radius:16px; margin:0 0 16px; }
.rbs-stats-searchbox { position:relative; }
.rbs-stats-searchbox i { position:absolute; left:15px; top:50%; transform:translateY(-50%); color:#6f86a6; }
.rbs-stats-searchbox input { width:100%; margin:0; padding-left:42px !important; }
.rbs-stats-search select, .rbs-stats-search .btn { margin:0; height:42px; }
.rbs-stats-meta { text-align:center; color:#9fb0c6; margin:13px 0 12px; }
.rbs-stats-table th, .rbs-stats-table td { vertical-align:middle; }
.rbs-stats-table code { background:rgba(78,161,255,.08); color:#bcdcff; border:1px solid rgba(78,161,255,.14); padding:3px 6px; border-radius:6px; }
.rbs-rank-num { width:54px; text-align:center; font-weight:900; color:#91a6c2; }
.rbs-player-link { color:#edf5ff; font-weight:800; }
.rbs-player-link:hover { color:#78baff; }
.rbs-icon-link { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:9px; color:#72b4ff; background:rgba(78,161,255,.08); border:1px solid rgba(78,161,255,.16); }
.rbs-pagination { display:flex; justify-content:center; gap:7px; margin:20px 0 4px; flex-wrap:wrap; }
.rbs-pagination a { min-width:34px; height:34px; padding:0 10px; display:inline-flex; justify-content:center; align-items:center; border-radius:9px; border:1px solid #2c405b; background:#111c2b; color:#b8c7dc; text-decoration:none; }
.rbs-pagination a.active { background:rgba(255,62,91,.12); border-color:#ff3e5b; color:#ff7a8e; box-shadow:0 0 0 1px rgba(255,62,91,.12); }
.rbs-stats-empty { max-width:720px; margin:30px auto; }
.rbs-stats-empty strong, .rbs-empty strong { display:block; font-size:18px; margin-top:8px; color:#eef5ff; }
.rbs-stats-empty span, .rbs-empty span { display:block; margin:5px 0 14px; color:#92a4bf; }
.rbs-centered-alert { text-align:center; }
.rbs-player-actions { display:flex; justify-content:center; margin:-8px 0 20px; }
.rbs-stats-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:20px 0; }
.rbs-panel-card { border:1px solid #26364d; background:linear-gradient(180deg,rgba(22,33,50,.96),rgba(10,16,26,.96)); border-radius:16px; padding:18px; box-shadow:0 12px 35px rgba(0,0,0,.18); }
.rbs-panel-card h2 { margin:0 0 14px; font-size:18px; }
.rbs-stat-dl { margin:0; }
.rbs-stat-dl > div { display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid rgba(130,154,185,.12); padding:9px 0; }
.rbs-stat-dl > div:last-child { border-bottom:0; }
.rbs-stat-dl dt { color:#8fa2bc; font-weight:600; }
.rbs-stat-dl dd { margin:0; font-weight:800; color:#edf5ff; text-align:right; }
.rbs-stats-section { margin-top:18px; }
.rbs-stats-admin-actions { display:flex; justify-content:center; margin:-10px 0 20px; }
.rbs-stats-settings-form { margin:0; }
.rbs-stats-source-list { display:grid; gap:12px; }
.rbs-stats-source-card { border:1px solid #2a3a51; border-radius:14px; background:rgba(9,15,25,.58); padding:15px; }
.rbs-stats-source-main { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
.rbs-stats-source-main strong { font-size:16px; color:#edf5ff; }
.rbs-stats-source-buttons { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-top:12px; }
.rbs-stats-source-buttons form { margin:0; }
.rbs-stats-test-result { min-height:20px; margin-top:9px; color:#91a6c2; font-size:12px; }
.rbs-stats-test-result.ok { color:#79e8ad; }
.rbs-stats-test-result.bad { color:#ff8ca0; }
.rbs-stats-external { margin-top:14px; padding:14px; border:1px dashed #30435e; border-radius:12px; background:rgba(13,20,32,.55); }
.rbs-stats-switches { display:flex; gap:20px; align-items:center; flex-wrap:wrap; margin:16px 0 0; }
.rbs-stats-switches label { margin:0; }
.rbs-grid-span-2 { grid-column:1 / -1; }
.rbs-form-grid { display:grid; gap:14px; }
.rbs-form-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.rbs-form-grid input, .rbs-form-grid select { width:100%; margin:0; box-sizing:border-box; }
.rbs-form-grid small { display:block; color:#7f93af; margin-top:5px; }
.rbs-form-actions { display:flex; gap:9px; justify-content:flex-end; flex-wrap:wrap; margin-top:16px; }

@media (max-width: 900px) {
  .rbs-stats-search { grid-template-columns:1fr; }
  .rbs-stats-detail-grid { grid-template-columns:1fr; }
  .rbs-form-grid-2 { grid-template-columns:1fr; }
  .rbs-grid-span-2 { grid-column:auto; }
}
@media (max-width: 620px) {
  .rbs-stats-toolbar, .rbs-stats-source-form { align-items:stretch; flex-direction:column; }
  .rbs-stats-source-form select { min-width:0; width:100%; }
  .rbs-stats-source-main { align-items:flex-start; }
  .rbs-stats-source-buttons .btn, .rbs-stats-source-buttons form { width:100%; }
  .rbs-stats-source-buttons form .btn { width:100%; }
  .rbs-form-actions { justify-content:stretch; }
  .rbs-form-actions .btn { flex:1 1 100%; }
}

/* RBS CS:Bans R3 - screenshot-style per-server statistics. */
.rbs-server-settings-grid {
    display:grid; grid-template-columns:minmax(210px,.83fr) minmax(300px,1.05fr) minmax(330px,1.13fr);
    align-items:start; gap:15px; margin:0 0 18px;
}
.rbs-server-settings-grid > * { min-width:0; }
.rbs-server-settings-grid .rbs-admin-card { max-width:none; width:100%; margin:0; box-sizing:border-box; }
.rbs-server-settings-grid .rbs-admin-card-head { margin-bottom:14px; }
.rbs-server-settings-grid .rbs-admin-card-head h3 { font-size:16px; }
.rbs-server-settings-grid .rbs-admin-card-head p { font-size:12px; }
.rbs-server-settings-grid .rbs-admin-form-grid { grid-template-columns:minmax(0,1fr); gap:11px; }
.rbs-server-settings-grid .rbs-admin-form-grid > .rbs-admin-field { grid-column:1/-1; }
.rbs-server-identity-list { margin:0 0 20px; }
.rbs-server-identity-list > div { padding:12px 0; border-bottom:1px solid var(--rbs-border); }
.rbs-server-identity-list dt { font-size:11px; font-weight:700; color:var(--rbs-muted); margin-bottom:4px; }
.rbs-server-identity-list dd { font-size:13px; overflow-wrap:anywhere; color:#eef4ff; font-weight:700; margin:0; }
.rbs-server-identity-list code { color:#b2defe; background:rgba(46,158,255,.1); border-radius:6px; padding:3px 5px; }
.rbs-server-stats-card form > label, .rbs-server-stats-card .rbs-server-stats-mysql label {
    display:block; font-size:12px; color:#dce6f3; font-weight:700; margin:11px 0 5px;
}
.rbs-server-stats-card input[type=text], .rbs-server-stats-card input[type=password],
.rbs-server-stats-card input[type=number], .rbs-server-stats-card select {
    display:block; width:100%; height:39px; box-sizing:border-box; margin:0; padding:7px 10px;
}
.rbs-server-stats-card .rbs-server-stats-mysql { padding:2px 0; }
.rbs-server-stats-card .rbs-sstat-checks { display:flex; gap:12px; flex-wrap:wrap; margin:13px 0 2px; }
.rbs-server-stats-card .rbs-sstat-checks label { display:flex; align-items:center; gap:6px; color:#d7e5f7; font-size:12px; margin:0; }
.rbs-server-stats-card input[type=checkbox] { margin:0; }
.rbs-server-stats-card .rbs-sstat-scan { display:block; width:100%; box-sizing:border-box; margin-top:8px; }
.rbs-server-stats-card .rbs-sstat-feedback { min-height:16px; overflow-wrap:anywhere; }
.rbs-server-stats-card .rbs-sstat-feedback.ok { color:#81e2b5; }
.rbs-server-stats-card .rbs-sstat-feedback.bad { color:#ffa1ac; }
.rbs-server-stats-card .rbs-form-actions { margin-top:12px; }
.rbs-stats-divider { margin:16px 0 10px; text-align:center; color:var(--rbs-muted); font-size:11px; }
.rbs-stats-link-existing { padding:11px; border:1px solid var(--rbs-border); border-radius:10px; }
.rbs-stats-link-existing .btn { margin-top:10px; width:100%; box-sizing:border-box; }
.rbs-server-notice { padding:12px; border:1px solid var(--rbs-border); border-radius:10px; }
.rbs-rcon-card { max-width:none; }
.rbs-stats-discovery-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:16px 0 4px; }
.rbs-stats-discovery-actions .rbs-stats-test-result.ok { color:#81e2b5; }
.rbs-stats-discovery-actions .rbs-stats-test-result.bad { color:#ff9ca8; }
@media(max-width:1250px) {
    .rbs-server-settings-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
    .rbs-server-stats-column { grid-column:1/-1; }
}
@media(max-width:800px) {
    .rbs-server-settings-grid { grid-template-columns:minmax(0,1fr); }
    .rbs-server-stats-column { grid-column:auto; }
}

.rbs-server-ranklink { display:inline-flex; align-items:center; gap:5px; margin-left:8px; font-size:11px; white-space:nowrap; }

/* RBS R3: table selection inside the server-specific statistics form. */
.rbs-server-stats-card .rbs-sstat-config-fields > label {display:block;margin:9px 0 4px;color:#c7d5e7;font-size:12px;font-weight:600;}
.rbs-server-stats-card .rbs-sstat-config-fields > input, .rbs-server-stats-card .rbs-sstat-config-fields > select {width:100%;max-width:100%;box-sizing:border-box;}

/* RBS Billing R5 - in-browser Telegram bot installer and help */
.rbs-bot-console .rbs-section-head { align-items:center; }
.rbs-bot-status-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px; }
.rbs-bot-status-grid>div { padding:12px;border-radius:9px;border:1px solid var(--rbs-border);background:rgba(255,255,255,.025); }
.rbs-bot-status-grid strong,.rbs-bot-status-grid small { display:block; }
.rbs-bot-status-grid strong { color:var(--rbs-text,#e9edf5);font-size:13px;margin-bottom:5px; }
.rbs-bot-status-grid small { color:var(--rbs-muted,#9faebf);line-height:1.55; }
.rbs-bot-inline-check { display:flex!important;align-items:center;gap:8px;text-transform:none!important;letter-spacing:0!important;min-height:36px; }
.rbs-bot-inline-check input[type=checkbox] { width:auto;margin:0;flex:0 0 auto; }
.rbs-bot-webhook { margin-top:16px;padding:13px;border-radius:9px;background:rgba(255,255,255,.035); }
.rbs-bot-webhook code,.rbs-bot-webhook small { display:block;margin-top:6px;overflow-wrap:anywhere; }
.rbs-bot-toolbar { display:flex;gap:9px;flex-wrap:wrap;align-items:center; }
.rbs-bot-toolbar form { margin:0; }
.rbs-bot-code { white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;border-radius:9px;background:#090d14;color:#e6edfa; }
.rbs-bot-steps { margin:0 0 12px 22px;padding:0; }
.rbs-bot-steps li { line-height:1.75;padding:5px 0 5px 5px; }
.rbs-bot-commands { border-top:1px solid var(--rbs-border);margin-top:14px;padding-top:12px;line-height:2; }
.rbs-bot-commands code { margin-right:5px; }
@media(max-width:979px){ .rbs-bot-status-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:550px){ .rbs-bot-status-grid { grid-template-columns:1fr; } .rbs-bot-toolbar form,.rbs-bot-toolbar .btn { width:100%; } }

/* RBS CS:Bans 1.7.0 R6 — account, cashier and reporting grids */
.rbs-r6-service{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--rbs-border);padding:13px 4px;}
.rbs-r6-service:last-child{border-bottom:0;}
.rbs-r6-service>div:last-child{text-align:right;}
.rbs-r6-message{border:1px solid var(--rbs-border);border-radius:10px;background:rgba(255,255,255,.025);padding:13px 16px;margin:12px 0;overflow-wrap:anywhere;}
.rbs-r6-message p{white-space:normal;margin:6px 0 0;line-height:1.5;}
.rbs-r6-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center;}
.rbs-r6-actions input[name=note]{min-width:150px;flex:1;}
.rbs-r6-actions label{margin:0;white-space:nowrap;}
.rbs-r6-search{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px;align-items:center;}
.rbs-r6-search input{min-width:240px;max-width:520px;flex:1;}
.rbs-r6-controls{display:flex;gap:16px;flex-wrap:wrap;align-items:center;}
.rbs-r6-controls label.checkbox{margin:0;}
.rbs-r6-report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:18px 0;}
.rbs-r6-report{padding:18px;border:1px solid var(--rbs-border);border-radius:12px;background:rgba(255,255,255,.025);display:flex;flex-direction:column;gap:4px;}
.rbs-r6-report small{color:var(--rbs-muted);}
.rbs-r6-report strong{font-size:22px;font-variant-numeric:tabular-nums;}
@media(max-width:740px){.rbs-r6-service>div:last-child{text-align:left;}.rbs-r6-report-grid{grid-template-columns:1fr 1fr;}.rbs-r6-actions{flex-direction:column;align-items:stretch;}}
@media(max-width:480px){.rbs-r6-report-grid{grid-template-columns:1fr;}}
/* RBS R6 UI audit — consistent centered section titles and action bars. */
#page, #content, .rbs-admin-workspace { min-width:0; }
#content > .container, #page > .container, .rbs-admin-workspace .container {
  width:100%; max-width:100%; margin-left:auto; margin-right:auto; box-sizing:border-box;
}
#content > .row, #content > .row-fluid { margin-left:0; width:100%; }
#content > .tabbable, #content > .form, #content > form,
#content > .table, #content > .grid-view { max-width:1180px; margin-left:auto; margin-right:auto; }
/* Separate title and commands instead of locking them to the left side. */
.rbs-admin-page-head, .rbs-section-head {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);
  gap:12px; align-items:center; justify-content:center;
  text-align:center;
}
.rbs-admin-page-head > :first-child, .rbs-section-head > :first-child {
  grid-column:2; min-width:0; text-align:center; margin-left:auto; margin-right:auto;
}
.rbs-admin-page-head > :nth-child(2), .rbs-section-head > :nth-child(2) {
  grid-column:3; justify-self:end; min-width:0;
}
.rbs-admin-page-actions { justify-content:center; }
.rbs-admin-page-head > :first-child h1, .rbs-admin-page-head > :first-child h2,
.rbs-section-head > :first-child h1, .rbs-section-head > :first-child h2,
.rbs-section-head > :first-child h3 { text-align:center; }
.rbs-admin-card { margin-left:auto; margin-right:auto; }
.rbs-admin-card-head { align-items:center; }
.rbs-admin-card-head > :only-child { margin-left:auto; margin-right:auto; text-align:center; }
.rbs-admin-card-head > :only-child h3, .rbs-admin-card-head > :only-child p { text-align:center; }
.rbs-sticky-form-actions { margin-left:auto; margin-right:auto; }
.rbs-form-actions, .rbs-bot-toolbar, .rbs-r6-actions,
.rbs-r6-search, .rbs-stats-discovery-actions, .rbs-stats-admin-actions,
.rbs-billing-nav, .rbs-billing-admin-nav, .rbs-home-actions,
.rbs-flags-actions, .form-actions, .rbs-stats-source-buttons {
  justify-content:center;
}
form.form-horizontal .form-actions, .form-horizontal .form-actions,
#content .form-actions {
  display:flex; align-items:center; justify-content:center;
  flex-wrap:wrap; gap:10px;
  padding:17px; padding-left:17px; margin-left:0; margin-right:0;
  text-align:center;
}
.rbs-billing-card > h2, .rbs-billing-card > h3, .rbs-panel > h2,
.rbs-panel > h3, .well > h2, .well > h3,
#content > fieldset > legend { text-align:center; }
fieldset > legend { text-align:center; font-weight:700; }
.tabbable > .nav-tabs, .tabbable > .tab-content > .inline, .tabbable .tab-content ul.inline { justify-content:center; }
.rbs-billing-nav .rbs-balance { margin-left:0; }
/* Data cells and form inputs stay left-aligned: critical for readability. */
.rbs-admin-form-grid label, .control-group .control-label,
.controls, .table tbody td, .grid-view .filters td, .rbs-rcon-output,
.rbs-bot-steps, .rbs-form-grid label { text-align:left; }
/* Header language picker is available to guests and admins, including mobile. */
#nav .container { gap:10px; flex-wrap:wrap; }
.rbs-language-selector { display:flex; align-items:center; justify-content:center; gap:7px;
 margin:0 0 0 auto; padding:0; white-space:nowrap; }
.rbs-language-selector label { display:block; color:#a4b5cc; font-size:11px; font-weight:800; margin:0; }
.rbs-language-selector select {
 appearance:auto; width:auto; max-width:155px; height:36px; margin:0; padding:4px 8px;
 color:#f4f8ff; background:#18243a; border:1px solid #3b4e69; border-radius:8px;
 font-weight:700; font-size:12px;
}
.rbs-language-selector select:focus-visible { outline:2px solid #69acff; outline-offset:2px; }
.rbs-language-settings { padding:17px; margin:8px 0 24px; border:1px solid #31435c; border-radius:13px; background:#121d30; }
.rbs-language-settings > h3, .rbs-language-settings > p { text-align:center; }
.rbs-language-settings > h3 { margin:0 0 7px; }
.rbs-language-settings > p { color:#a4b5ce; margin:0 0 18px; }
.rbs-language-chips { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:12px; }
.rbs-language-chips span { padding:5px 10px; border-radius:8px; border:1px solid #3a4b62; font-size:12px; }
.rbs-language-settings .control-group { max-width:700px; margin-left:auto; margin-right:auto; }
.rbs-language-settings .controls select { width:100%; max-width:300px; }
/* Classic Bootstrap 2 tables should scroll within their pane, not force layout left. */
.rbs-admin-workspace .grid-view, #content .tab-content, .rbs-billing-card { min-width:0; }
.rbs-billing-card, .rbs-panel { box-sizing:border-box; }
@media(max-width:860px) {
 .rbs-admin-page-head, .rbs-section-head { grid-template-columns:minmax(0,1fr); gap:10px; }
 .rbs-admin-page-head > :first-child, .rbs-section-head > :first-child,
 .rbs-admin-page-head > :nth-child(2), .rbs-section-head > :nth-child(2) {
   grid-column:1; justify-self:center; width:auto; max-width:100%; text-align:center;
 }
 .rbs-admin-page-actions { justify-content:center; }
 .rbs-admin-card-head { flex-direction:column; text-align:center; }
 .rbs-admin-card-head > * { max-width:100%; text-align:center; }
 .rbs-language-selector { margin-left:0; }
}
@media(max-width:620px) {
 #nav .container { justify-content:center; }
 .rbs-language-selector { order:3; width:100%; justify-content:center; margin:0 auto 8px; }
 .rbs-language-selector select { max-width:220px; }
 .rbs-section-head > :nth-child(2) .btn, .rbs-admin-page-actions .btn { width:auto; }
 .rbs-form-actions .btn, .rbs-bot-toolbar .btn { flex:1 1 100%; }
 .rbs-billing-nav, .rbs-billing-admin-nav, .rbs-r6-search { justify-content:center; }
 .rbs-billing-card .table { display:block; max-width:100%; overflow-x:auto; }
 .rbs-admin-workspace { overflow-x:hidden; }
}
/* Inline single-button toolbars in legacy/new module cards. */
.rbs-billing-card > p:has(> .btn), .rbs-section-card > p:has(> .btn),
.rbs-admin-card > p:has(> .btn) { text-align:center; }
.rbs-billing-card > .rbs-inline-form:only-child,
.rbs-billing-card > .rbs-r6-controls { justify-content:center; }
/* Classic TbTabs rendered as Bootstrap-2 lists: justify-content needs flex. */
#content .tabbable > .nav-tabs,
#content .tabbable > .tab-content ul.inline {
  display:flex; align-items:center; justify-content:center;
  gap:8px; flex-wrap:wrap; padding-left:0;
}
#content .tabbable > .nav-tabs > li,
#content .tabbable > .tab-content ul.inline > li { float:none; margin:0; }
#content .btn-toolbar, #content .rbs-stats-toolbar {
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px;
}
#content .rbs-context-actions { justify-content:center; }
@media(max-width:700px) {
  #content .tabbable > .nav-tabs > li { flex:1 1 auto; text-align:center; }
  #content .tabbable > .nav-tabs > li > a { text-align:center; }
  #content .tabbable > .tab-content ul.inline li { flex:1 1 auto; }
  #content .tabbable > .tab-content ul.inline li a { text-align:center; }
  #content .rbs-stats-toolbar { flex-direction:column; align-items:stretch; }
  #content .rbs-stats-source-form { justify-content:center; }
}


/* RBS CS:Bans safe stale-ban cleanup, desktop and mobile. */
.rbs-prune-card { padding: 14px; border: 1px solid rgba(85,156,190,.30); border-radius: 10px; background: rgba(12,32,49,.45); color: inherit; text-align: left; }
.rbs-prune-description { font-size: 13px; line-height: 1.5; margin: 7px 0 13px; }
.rbs-prune-status,.rbs-prune-counts,.rbs-prune-progress,.rbs-prune-hint { line-height:1.5; font-size:13px; margin-top:9px; overflow-wrap:anywhere; }
.rbs-prune-status[role="alert"] { color: #ff9b99; }
.rbs-prune-warn { margin-top: 12px; padding: 10px; border-left:3px solid #eeae4c; background: rgba(214,134,23,.10); font-size:12px; line-height:1.55; }
.rbs-prune-check { display: block; margin: 11px 0 9px; cursor:pointer; font-size:13px; }
.rbs-prune-check input { margin-right:6px; }
#rbs-prune-confirm { width:100%; box-sizing:border-box; height:40px; margin:6px 0 10px; }
#rbs-prune-preview,#rbs-prune-run { min-height:42px; white-space:normal; }
#rbs-prune-run[disabled] { opacity:.55; cursor:not-allowed; }
@media (max-width:767px) { .rbs-prune-card {padding:12px;} .rbs-prune-check {line-height:1.5;} }

/* RBS 6.3 UI accessibility & mobile adjustments */
.rbs-scroll-hint{font-size:13px;color:#b8c8dc;margin:8px 0 4px}
.rbs-billing-admin-nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rbs-admin-nav-grouped{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:14px;align-items:start;text-align:left}
.rbs-admin-nav-group{border:1px solid #304058;border-radius:12px;padding:10px;min-width:0;background:#111c2b}
.rbs-admin-nav-group h3{font-size:13px;color:#c8d6eb;margin:0 0 8px}
.rbs-admin-nav-links{display:flex;flex-wrap:wrap;gap:6px}
.rbs-admin-nav-links .btn{flex:0 1 auto;font-size:13px}
.rbs-billing-card label,.rbs-payment-form label{font-size:13px}
.rbs-empty{padding:22px;line-height:1.65}
.rbs-admin-nav-group a:focus-visible,.rbs-billing-nav a:focus-visible,button:focus-visible{outline:3px solid #79b8ff;outline-offset:2px}
@media(max-width:767px){.table,table.items{font-size:14px!important}.rbs-admin-nav-grouped{grid-template-columns:1fr}.rbs-billing-nav{max-height:132px;overflow-y:auto;justify-content:flex-start!important}.rbs-billing-nav .btn{font-size:13px;min-height:38px}.rbs-billing-admin-nav .btn{font-size:13px}.rbs-tariff-grid{grid-template-columns:1fr}}

.rbs-pager{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;margin:14px 0 6px}.rbs-pager .btn{min-height:36px}.rbs-admin-nav-group a.active{border-color:#fb4f64;background:#44202e}

/* RBS 6.3 touch targets: help/installer and billing */
.rbs-clean-installer button[aria-expanded],.rbs-installer button[aria-expanded],.rbs-billing-card button,.rbs-pay-method button{min-height:40px}
.rbs-tariff-card .rbs-meta-list{align-items:flex-start;flex-wrap:wrap}.rbs-tariff-card .rbs-meta-chip{white-space:normal;line-height:1.5;font-size:13px}
@media(max-width:767px){.rbs-scroll-hint{font-size:14px}.rbs-billing-admin-nav{max-height:none}.rbs-admin-nav-group{padding:12px}.rbs-billing-hero{gap:10px}}

/* Compact mobile masthead */
@media(max-width:620px){#header{padding:8px 0!important}.rbs-brand-mark{width:38px;height:38px}.rbs-header-inner{min-height:42px}.rbs-mobile-account{display:none!important}#nav .container{display:flex!important;flex-direction:row;align-items:center;justify-content:space-between!important;gap:7px;flex-wrap:nowrap}#responsive-nav{flex:1 1 auto;min-width:75px;order:1}#responsive-nav-trigger{margin:3px 0!important;min-height:42px}#nav .rbs-language-selector{order:2!important;width:auto!important;min-width:95px;max-width:150px;margin:0!important;flex:0 1 auto!important}.rbs-language-selector label{display:none}.rbs-language-selector select{width:100%;max-width:150px;min-height:42px}#responsive-nav-items{z-index:1000}}

/* Human-friendly mobile cards for services, wallet history and support */
.rbs-checkout-summary{margin:9px 0 12px;padding:10px 12px;border:1px solid #35506d;border-radius:9px;background:#142338;font-size:14px;line-height:1.55;color:#d0e7ff}
@media(max-width:620px){table.rbs-mobile-stack,table.rbs-mobile-stack tbody,table.rbs-mobile-stack tr,table.rbs-mobile-stack td{display:block!important;width:auto!important;min-width:0!important}table.rbs-mobile-stack thead{display:none!important}table.rbs-mobile-stack{border:0!important;overflow:visible!important}table.rbs-mobile-stack tr{margin:12px 0;padding:10px;border:1px solid #33455e;background:#141f30;border-radius:12px}table.rbs-mobile-stack td{padding:9px 5px!important;border:0!important;border-bottom:1px solid #27354a!important;font-size:14px!important;white-space:normal!important;overflow-wrap:anywhere}table.rbs-mobile-stack td:last-child{border-bottom:0!important}table.rbs-mobile-stack td:before{content:attr(data-label);display:block;font-size:12px;font-weight:700;color:#a6bbd3;margin-bottom:3px}}

.rbs-tariff-benefits{margin:7px 0 12px;padding-left:20px;color:#d2def0;line-height:1.7}.rbs-tariff-benefits li{margin-bottom:5px}.rbs-tariff-benefits li::marker{color:#ff6574}.rbs-checkout-agree{display:flex;align-items:flex-start;gap:8px;padding:12px;color:#bcd2e8;font-size:13px;line-height:1.5}.rbs-checkout-agree input{flex:0 0 auto;margin-top:4px;accent-color:#ed3448}.rbs-checkout-agree:focus-within{outline:2px solid #7cb7fa;outline-offset:2px}.rbs-table-scroll:focus-visible{outline:3px solid #7cb7fa}

/* RBS login reliability and feedback (scoped, no global Bootstrap overrides). */
.rbs-auth-page { position:relative; overflow:hidden; }
.rbs-auth-page .rbs-section-head { margin-bottom:20px; }
.rbs-auth-page .rbs-section-head h2 { font-size:clamp(21px,3vw,28px); line-height:1.24; }
.rbs-auth-page .rbs-section-head p { margin-top:8px; line-height:1.55; }
.rbs-auth-eyebrow { display:inline-flex; align-items:center; gap:7px; margin-bottom:10px; padding:5px 10px; border:1px solid rgba(76,160,255,.25); border-radius:20px; background:rgba(76,160,255,.08); color:#b8d8ff; font-size:11px; letter-spacing:.06em; text-transform:uppercase; font-weight:700; }
.rbs-auth-alert { display:flex; gap:12px; align-items:flex-start; margin:14px 0 19px; padding:15px 16px; border-radius:12px; border:1px solid; text-align:left; box-shadow:0 6px 24px rgba(0,0,0,.13); }
.rbs-auth-alert-error { background:linear-gradient(125deg,rgba(128,33,46,.24),rgba(70,24,40,.15)); border-color:rgba(252,113,125,.46); color:#ffe1e4; }
.rbs-auth-alert-icon { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border-radius:10px; background:rgba(255,105,115,.13); color:#ffb6c0; font-size:19px; }
.rbs-auth-alert strong { display:block; font-size:15px; font-weight:800; line-height:1.35; color:#fff; }
.rbs-auth-alert p { margin:5px 0 6px; font-size:13px; line-height:1.55; color:#ffe1e4; }
.rbs-auth-alert small { display:block; font-size:12px; line-height:1.45; color:#ffd1d5; opacity:.85; }
.rbs-auth-page label { margin-bottom:5px; font-weight:700; }
.rbs-auth-page input[type="text"], .rbs-auth-page input[type="password"] { min-height:42px; max-width:100%; box-sizing:border-box; }
.rbs-auth-page input:focus-visible { border-color:#73b6ff; outline:2px solid rgba(74,152,255,.3); outline-offset:2px; }
.rbs-auth-tools { display:flex; justify-content:flex-end; margin:-2px 0 12px; }
.rbs-auth-show-password { display:inline-flex; align-items:center; padding:8px 4px; background:none; border:0; color:#b7d9ff; font-size:12px; font-weight:700; cursor:pointer; }
.rbs-auth-show-password:hover { color:#fff; text-decoration:underline; }
.rbs-auth-show-password:focus-visible { outline:2px solid #73b6ff; border-radius:6px; outline-offset:2px; }
.rbs-auth-page .form-actions { margin-top:16px; }
@media (max-width:620px) { .rbs-auth-page .rbs-auth-alert { padding:12px; gap:9px; } .rbs-auth-page .rbs-auth-alert-icon { flex-basis:28px; width:28px; height:28px; } .rbs-auth-page .btn-large { width:100%; box-sizing:border-box; } }

.rbs-auth-alert-success { background:linear-gradient(125deg,rgba(23,110,74,.19),rgba(15,89,74,.1)); border-color:rgba(66,208,148,.43); color:#c7f6df; }
.rbs-auth-alert-success .rbs-auth-alert-icon { background:rgba(67,197,142,.17); color:#a0ffd0; }
.rbs-auth-alert-success p { color:#d2fbe6; }

/* RBS R6.3 full UI audit: keyboard/touch navigation and safe destructive actions */
#responsive-nav-items .rbs-responsive-logout-item { margin: 5px 0 0; border-top: 1px solid var(--rbs-border); padding-top: 6px; }
#responsive-nav-items .rbs-responsive-logout { margin: 0; width: 100%; }
#responsive-nav-items .rbs-responsive-logout button { width: 100%; display: block; text-align: left; min-height: 44px; padding: 10px 12px; background: #301e29; color: #ffdce0; border: 1px solid #794152; border-radius: 8px; cursor: pointer; }
#responsive-nav-items .rbs-responsive-logout button:hover { background: #4b2633; color: #fff; }
#responsive-nav-items .rbs-responsive-logout button:focus-visible, #responsive-nav-items a:focus-visible,
.rbs-click-row:focus-visible, .rbs-server-row:focus-visible { outline: 3px solid #84baff; outline-offset: -3px; }
.rbs-safe-delete-note { margin: 0; color: #d4baca; font-size: 13px; line-height: 1.55; text-align: left; }
.rbs-safe-delete-note i { padding-right: 6px; }
@media (min-width: 768px) { .rbs-scroll-hint { display: none; } }
@media (max-width: 620px) { #responsive-nav-items a, #responsive-nav-items button { min-height: 44px; box-sizing: border-box; } }
