/* /assets/css/rbs-global.css
   RBS shared visual layer.
   Keep this file restrained: it should unify the app without crushing page-specific layouts. */

/* --------------------------------------------------------------------------
   Centralised legacy/page CSS migrated from PHP <style> blocks.
   Keep this section above the newer shared RBS rules so rbs-global.css can
   still act as the final visual authority.
   -------------------------------------------------------------------------- */

/* Migrated from /admin/database_migrations.php (page-scoped). */
body.rbs-ui.rbs-page-admin-database-migrations{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --green:#166534;
    --green-bg:#f0fdf4;
    --green-border:#bbf7d0;
    --amber:#92400e;
    --amber-bg:#fffbeb;
    --amber-border:#fde68a;
    --red:#991b1b;
    --red-bg:#fef2f2;
    --red-border:#fecaca;
}
body.rbs-ui.rbs-page-admin-database-migrations *{box-sizing:border-box}
body.rbs-ui.rbs-page-admin-database-migrations{
    margin:0;
    font-family:Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-admin-database-migrations .wrap{
    max-width:1100px;
    margin:0 auto;
    padding:28px 20px 60px;
}
body.rbs-ui.rbs-page-admin-database-migrations .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-admin-database-migrations .topbar-left{
    display:flex;
    align-items:center;
    gap:16px;
}
body.rbs-ui.rbs-page-admin-database-migrations .title h1{ margin:0 0 6px; font-size:32px; }
body.rbs-ui.rbs-page-admin-database-migrations .title p{ margin:0; color:var(--muted); font-size:15px; }
body.rbs-ui.rbs-page-admin-database-migrations .actions{ display:flex; gap:10px; flex-wrap:wrap; }
body.rbs-ui.rbs-page-admin-database-migrations .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
}
body.rbs-ui.rbs-page-admin-database-migrations .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}

/* Hero stats bar */
body.rbs-ui.rbs-page-admin-database-migrations .hero{
    background:linear-gradient(135deg, #1e293b 0%, #334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}
body.rbs-ui.rbs-page-admin-database-migrations .hero h2{ margin:0 0 10px; font-size:26px; }
body.rbs-ui.rbs-page-admin-database-migrations .hero p{ margin:0 0 20px; color:rgba(255,255,255,.85); line-height:1.6; }
body.rbs-ui.rbs-page-admin-database-migrations .stats{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:14px;
}
body.rbs-ui.rbs-page-admin-database-migrations .stat{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    padding:16px;
}
body.rbs-ui.rbs-page-admin-database-migrations .stat-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    opacity:.8;
    margin-bottom:6px;
}
body.rbs-ui.rbs-page-admin-database-migrations .stat-value{ font-size:26px; font-weight:700; }

/* Alert banners */
body.rbs-ui.rbs-page-admin-database-migrations .alert{
    border-radius:14px;
    padding:14px 18px;
    margin-bottom:20px;
    font-size:15px;
    border:1px solid;
}
body.rbs-ui.rbs-page-admin-database-migrations .alert.info{
    background:var(--amber-bg);
    border-color:var(--amber-border);
    color:var(--amber);
}
body.rbs-ui.rbs-page-admin-database-migrations .alert.ok{
    background:var(--green-bg);
    border-color:var(--green-border);
    color:var(--green);
}

/* Section heading */
body.rbs-ui.rbs-page-admin-database-migrations .section-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin:28px 0 12px;
}
body.rbs-ui.rbs-page-admin-database-migrations .section-head h2{
    margin:0;
    font-size:20px;
}
body.rbs-ui.rbs-page-admin-database-migrations .badge{
    display:inline-flex;
    align-items:center;
    padding:3px 10px;
    border-radius:20px;
    font-size:13px;
    font-weight:700;
}
body.rbs-ui.rbs-page-admin-database-migrations .badge.green{ background:var(--green-bg); color:var(--green); border:1px solid var(--green-border); }
body.rbs-ui.rbs-page-admin-database-migrations .badge.amber{ background:var(--amber-bg); color:var(--amber); border:1px solid var(--amber-border); }
body.rbs-ui.rbs-page-admin-database-migrations .badge.red{ background:var(--red-bg);   color:var(--red);   border:1px solid var(--red-border);   }
body.rbs-ui.rbs-page-admin-database-migrations .badge.muted{ background:#f1f5f9; color:var(--muted); border:1px solid var(--line); }

/* Table */
body.rbs-ui.rbs-page-admin-database-migrations .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    box-shadow:var(--shadow);
    overflow:hidden;
    margin-bottom:28px;
}
body.rbs-ui.rbs-page-admin-database-migrations table{
    width:100%;
    border-collapse:collapse;
    font-size:14px;
}
body.rbs-ui.rbs-page-admin-database-migrations th{
    background:#f8fafc;
    padding:12px 16px;
    text-align:left;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--muted);
    border-bottom:1px solid var(--line);
    font-weight:700;
}
body.rbs-ui.rbs-page-admin-database-migrations td{
    padding:13px 16px;
    border-bottom:1px solid var(--line);
    vertical-align:middle;
}
body.rbs-ui.rbs-page-admin-database-migrations tr:last-child td{ border-bottom:none; }
body.rbs-ui.rbs-page-admin-database-migrations tr:hover td{ background:#f8fafc; }
body.rbs-ui.rbs-page-admin-database-migrations .mono{ font-family:monospace; font-size:13px; word-break:break-all; }
body.rbs-ui.rbs-page-admin-database-migrations .text-muted{ color:var(--muted); font-size:13px; }
body.rbs-ui.rbs-page-admin-database-migrations .empty{
    padding:40px;
    text-align:center;
    color:var(--muted);
    font-size:15px;
}

@media (max-width:700px){
    body.rbs-ui.rbs-page-admin-database-migrations .stats{ grid-template-columns:1fr 1fr; }
    body.rbs-ui.rbs-page-admin-database-migrations .hide-mobile{ display:none; }
    body.rbs-ui.rbs-page-admin-database-migrations td, body.rbs-ui.rbs-page-admin-database-migrations th{ padding:10px 12px; }
}
@media (max-width:460px){
    body.rbs-ui.rbs-page-admin-database-migrations .stats{ grid-template-columns:1fr; }
}

/* Migrated from /admin/database_tools.php (page-scoped). */
body.rbs-ui.rbs-page-admin-database-tools{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --success-bg:#ecfdf5;
    --success-text:#166534;
    --success-line:#bbf7d0;
    --danger-bg:#fef2f2;
    --danger-text:#991b1b;
    --danger-line:#fecaca;
    --warn-bg:#fffbeb;
    --warn-text:#92400e;
    --warn-line:#fcd34d;
    --soft:#f8fafc;
}

body.rbs-ui.rbs-page-admin-database-tools *{box-sizing:border-box}

body.rbs-ui.rbs-page-admin-database-tools{
    margin:0;
    font-family:Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}

body.rbs-ui.rbs-page-admin-database-tools .wrap{
    max-width:1400px;
    margin:0 auto;
    padding:28px 20px 40px;
}

body.rbs-ui.rbs-page-admin-database-tools .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:24px;
}

body.rbs-ui.rbs-page-admin-database-tools .title h1{
    margin:0 0 6px;
    font-size:32px;
}

body.rbs-ui.rbs-page-admin-database-tools .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}

body.rbs-ui.rbs-page-admin-database-tools .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-admin-database-tools .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}

body.rbs-ui.rbs-page-admin-database-tools .btn.primary{
    background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-admin-database-tools .btn.warn{
    background:#92400e;
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-admin-database-tools .btn.danger{
    background:#991b1b;
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-admin-database-tools .btn.soft{
    background:var(--soft);
}

body.rbs-ui.rbs-page-admin-database-tools .notice, body.rbs-ui.rbs-page-admin-database-tools .flash{
    border-radius:16px;
    padding:16px 18px;
    margin-bottom:18px;
    border:1px solid var(--line);
    background:#fff;
}

body.rbs-ui.rbs-page-admin-database-tools .notice.warn{
    background:var(--warn-bg);
    color:var(--warn-text);
    border-color:var(--warn-line);
}

body.rbs-ui.rbs-page-admin-database-tools .flash.success{
    background:var(--success-bg);
    color:var(--success-text);
    border-color:var(--success-line);
}

body.rbs-ui.rbs-page-admin-database-tools .flash.error{
    background:var(--danger-bg);
    color:var(--danger-text);
    border-color:var(--danger-line);
}

body.rbs-ui.rbs-page-admin-database-tools .stats{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:16px;
    margin-bottom:22px;
}

body.rbs-ui.rbs-page-admin-database-tools .stat{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:18px;
    padding:18px;
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-admin-database-tools .stat-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--muted);
    margin-bottom:8px;
}

body.rbs-ui.rbs-page-admin-database-tools .stat-value{
    font-size:26px;
    font-weight:700;
}

body.rbs-ui.rbs-page-admin-database-tools .grid{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:20px;
}

body.rbs-ui.rbs-page-admin-database-tools .stack{
    display:flex;
    flex-direction:column;
    gap:20px;
}

body.rbs-ui.rbs-page-admin-database-tools .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-admin-database-tools .card h2{
    margin:0 0 10px;
    font-size:22px;
}

body.rbs-ui.rbs-page-admin-database-tools .card p{
    margin:0 0 14px;
    line-height:1.55;
    color:#334155;
}

body.rbs-ui.rbs-page-admin-database-tools .section-note{
    font-size:14px;
    color:var(--muted);
}

body.rbs-ui.rbs-page-admin-database-tools .tool{
    border:1px solid var(--line);
    border-radius:16px;
    padding:16px;
    background:#fff;
    margin-bottom:14px;
}

body.rbs-ui.rbs-page-admin-database-tools .tool:last-child{
    margin-bottom:0;
}

body.rbs-ui.rbs-page-admin-database-tools .tool h3{
    margin:0 0 8px;
    font-size:18px;
}

body.rbs-ui.rbs-page-admin-database-tools .tool p{
    margin:0 0 12px;
}

body.rbs-ui.rbs-page-admin-database-tools .tool.warn{
    background:var(--warn-bg);
    border-color:var(--warn-line);
}

body.rbs-ui.rbs-page-admin-database-tools .tool.danger{
    background:var(--danger-bg);
    border-color:var(--danger-line);
}

body.rbs-ui.rbs-page-admin-database-tools .row{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:center;
}

body.rbs-ui.rbs-page-admin-database-tools .field{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:12px;
}

body.rbs-ui.rbs-page-admin-database-tools .field label{
    font-weight:700;
    font-size:14px;
}

body.rbs-ui.rbs-page-admin-database-tools .field input, body.rbs-ui.rbs-page-admin-database-tools .field select{
    min-height:44px;
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px 12px;
    font:inherit;
    background:#fff;
    color:var(--text);
}

body.rbs-ui.rbs-page-admin-database-tools table{
    width:100%;
    border-collapse:collapse;
}

body.rbs-ui.rbs-page-admin-database-tools th, body.rbs-ui.rbs-page-admin-database-tools td{
    text-align:left;
    padding:10px 12px;
    border-bottom:1px solid var(--line);
    vertical-align:top;
}

body.rbs-ui.rbs-page-admin-database-tools th{
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--muted);
}

body.rbs-ui.rbs-page-admin-database-tools td.num{
    text-align:right;
    font-variant-numeric:tabular-nums;
}

body.rbs-ui.rbs-page-admin-database-tools .ok{ color:#166534; font-weight:700; }
body.rbs-ui.rbs-page-admin-database-tools .empty{ color:#92400e; font-weight:700; }
body.rbs-ui.rbs-page-admin-database-tools .missing{ color:#991b1b; font-weight:700; }
body.rbs-ui.rbs-page-admin-database-tools .zero{ color:var(--muted); }
body.rbs-ui.rbs-page-admin-database-tools .nonzero{ font-weight:700; }
body.rbs-ui.rbs-page-admin-database-tools .small{ font-size:13px; color:var(--muted); }

body.rbs-ui.rbs-page-admin-database-tools .table-wrap{
    overflow:auto;
}

@media (max-width:1100px){
    body.rbs-ui.rbs-page-admin-database-tools .grid{ grid-template-columns:1fr; }
    body.rbs-ui.rbs-page-admin-database-tools .stats{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:640px){
    body.rbs-ui.rbs-page-admin-database-tools .stats{ grid-template-columns:1fr; }
    body.rbs-ui.rbs-page-admin-database-tools .title h1{ font-size:26px; }
}

/* Migrated from /admin/email_settings.php (page-scoped). */
body.rbs-ui.rbs-page-admin-email-settings{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#0f2d63;
    --brand-dark:#091a3d;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --ok-bg:#f0fdf4;
    --ok-line:#bbf7d0;
    --ok-text:#166534;
    --err-bg:#fef2f2;
    --err-line:#fecaca;
    --err-text:#b91c1c;
}

body.rbs-ui.rbs-page-admin-email-settings *{box-sizing:border-box}

body.rbs-ui.rbs-page-admin-email-settings{
    margin:0;
    font-family:Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
}

body.rbs-ui.rbs-page-admin-email-settings .wrap{
    max-width:1100px;
    margin:0 auto;
    padding:28px 20px 40px;
}

body.rbs-ui.rbs-page-admin-email-settings .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-admin-email-settings .title h1{
    margin:0 0 6px;
    font-size:32px;
}

body.rbs-ui.rbs-page-admin-email-settings .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}

body.rbs-ui.rbs-page-admin-email-settings .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-admin-email-settings .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}

body.rbs-ui.rbs-page-admin-email-settings .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-admin-email-settings .btn.secondary{
    background:#fff;
    color:var(--text);
    border:1px solid var(--line);
}

body.rbs-ui.rbs-page-admin-email-settings .hero{
    background:linear-gradient(135deg, #1e293b 0%, #334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}

body.rbs-ui.rbs-page-admin-email-settings .hero h2{
    margin:0 0 10px;
    font-size:28px;
}

body.rbs-ui.rbs-page-admin-email-settings .hero p{
    margin:0;
    max-width:760px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}

body.rbs-ui.rbs-page-admin-email-settings .stats{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:14px;
    margin-top:24px;
}

body.rbs-ui.rbs-page-admin-email-settings .stat{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    padding:16px;
}

body.rbs-ui.rbs-page-admin-email-settings .stat-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    opacity:.8;
    margin-bottom:6px;
}

body.rbs-ui.rbs-page-admin-email-settings .stat-value{
    font-size:22px;
    font-weight:700;
    word-break:break-word;
}

body.rbs-ui.rbs-page-admin-email-settings .notice{
    border-radius:16px;
    padding:16px 18px;
    border:1px solid transparent;
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-admin-email-settings .notice.ok{
    background:var(--ok-bg);
    border-color:var(--ok-line);
    color:var(--ok-text);
}

body.rbs-ui.rbs-page-admin-email-settings .notice.error{
    background:var(--err-bg);
    border-color:var(--err-line);
    color:var(--err-text);
}

body.rbs-ui.rbs-page-admin-email-settings .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    padding:22px;
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-admin-email-settings .card h3{
    margin:0 0 16px;
    font-size:22px;
}

body.rbs-ui.rbs-page-admin-email-settings .grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
}

body.rbs-ui.rbs-page-admin-email-settings .field{
    display:flex;
    flex-direction:column;
    gap:8px;
}

body.rbs-ui.rbs-page-admin-email-settings .field.full{
    grid-column:1 / -1;
}

body.rbs-ui.rbs-page-admin-email-settings label{
    font-size:14px;
    font-weight:700;
    color:#334155;
}

body.rbs-ui.rbs-page-admin-email-settings input, body.rbs-ui.rbs-page-admin-email-settings select{
    width:100%;
    min-height:46px;
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px 12px;
    font-size:15px;
    background:#fff;
    color:var(--text);
}

body.rbs-ui.rbs-page-admin-email-settings .help{
    color:var(--muted);
    font-size:13px;
    line-height:1.5;
}

body.rbs-ui.rbs-page-admin-email-settings .footer-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:20px;
}

@media (max-width: 800px){
    body.rbs-ui.rbs-page-admin-email-settings .grid, body.rbs-ui.rbs-page-admin-email-settings .stats{
        grid-template-columns:1fr;
    }
}

@media (max-width: 640px){
    body.rbs-ui.rbs-page-admin-email-settings .title h1{ font-size:26px; }
    body.rbs-ui.rbs-page-admin-email-settings .hero h2{ font-size:24px; }
}

/* Migrated from /admin/hotel_settings.php (page-scoped). */
body.rbs-ui.rbs-page-admin-hotel-settings{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#0f2d63;
    --brand-dark:#091a3d;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --panel-bg:#f8fafc;
    --panel-line:#dbe2ea;
    --panel-text:#475569;
    --chip:#e5e7eb;
    --input:#ffffff;
    --success-bg:#f0fdf4;
    --success-line:#bbf7d0;
    --success-text:#166534;
    --error-bg:#fef2f2;
    --error-line:#fecaca;
    --error-text:#991b1b;
}
body.rbs-ui.rbs-page-admin-hotel-settings *{box-sizing:border-box}
body.rbs-ui.rbs-page-admin-hotel-settings{
    margin:0;
    font-family:Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-admin-hotel-settings .wrap{
    max-width:1200px;
    margin:0 auto;
    padding:28px 20px 40px;
}
body.rbs-ui.rbs-page-admin-hotel-settings .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-admin-hotel-settings .topbar-left{
    display: flex;
    align-items: center;
    gap: 16px;
}
body.rbs-ui.rbs-page-admin-hotel-settings .title h1{
    margin:0 0 6px;
    font-size:32px;
}
body.rbs-ui.rbs-page-admin-hotel-settings .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}
body.rbs-ui.rbs-page-admin-hotel-settings .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-admin-hotel-settings .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}
body.rbs-ui.rbs-page-admin-hotel-settings .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-admin-hotel-settings .hero{
    background:linear-gradient(135deg, #1e293b 0%, #334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}
body.rbs-ui.rbs-page-admin-hotel-settings .hero-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-admin-hotel-settings .hero h2{
    margin:0 0 10px;
    font-size:28px;
}
body.rbs-ui.rbs-page-admin-hotel-settings .hero p{
    margin:0;
    max-width:820px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}
body.rbs-ui.rbs-page-admin-hotel-settings .status-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
    background:var(--chip);
    color:#6b7280;
    border:1px solid #d1d5db;
}
body.rbs-ui.rbs-page-admin-hotel-settings .notice{
    border:1px solid #dbe2ea;
    background:#fff;
    border-radius:18px;
    padding:16px 18px;
    box-shadow:var(--shadow);
    margin-bottom:20px;
    color:#475569;
}
body.rbs-ui.rbs-page-admin-hotel-settings .notice.success{
    background:var(--success-bg);
    border-color:var(--success-line);
    color:var(--success-text);
}
body.rbs-ui.rbs-page-admin-hotel-settings .notice.error{
    background:var(--error-bg);
    border-color:var(--error-line);
    color:var(--error-text);
}
body.rbs-ui.rbs-page-admin-hotel-settings .grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:18px;
}
body.rbs-ui.rbs-page-admin-hotel-settings .panel{
    border:1px solid var(--panel-line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
    background:var(--panel-bg);
}
body.rbs-ui.rbs-page-admin-hotel-settings .panel h3{
    margin:0 0 6px;
    font-size:22px;
    color:var(--panel-text);
}
body.rbs-ui.rbs-page-admin-hotel-settings .panel-note{
    margin:0 0 16px;
    line-height:1.55;
    color:#64748b;
    font-size:14px;
}
body.rbs-ui.rbs-page-admin-hotel-settings .form-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
}
body.rbs-ui.rbs-page-admin-hotel-settings .field{
    display:flex;
    flex-direction:column;
    gap:7px;
}
body.rbs-ui.rbs-page-admin-hotel-settings .field.full{
    grid-column:1 / -1;
}
body.rbs-ui.rbs-page-admin-hotel-settings label{
    font-size:13px;
    font-weight:700;
    color:#334155;
}
body.rbs-ui.rbs-page-admin-hotel-settings input, body.rbs-ui.rbs-page-admin-hotel-settings select, body.rbs-ui.rbs-page-admin-hotel-settings textarea{
    width:100%;
    min-height:44px;
    border:1px solid #cbd5e1;
    border-radius:12px;
    padding:10px 12px;
    font:inherit;
    color:var(--text);
    background:var(--input);
}
body.rbs-ui.rbs-page-admin-hotel-settings textarea{
    min-height:92px;
    resize:vertical;
}
body.rbs-ui.rbs-page-admin-hotel-settings .foot{
    margin-top:18px;
    display:flex;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
}
@media (max-width: 900px){
    body.rbs-ui.rbs-page-admin-hotel-settings .grid, body.rbs-ui.rbs-page-admin-hotel-settings .form-grid{
        grid-template-columns:1fr;
    }
}
@media (max-width: 640px){
    body.rbs-ui.rbs-page-admin-hotel-settings .title h1{ font-size:26px; }
    body.rbs-ui.rbs-page-admin-hotel-settings .hero h2{ font-size:24px; }
}

/* Migrated from /admin/index.php (page-scoped). */
body.rbs-ui.rbs-page-admin-index{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#0f2d63;
    --brand-dark:#091a3d;
    --shadow:0 12px 30px rgba(15,23,42,.08);
}
body.rbs-ui.rbs-page-admin-index *{box-sizing:border-box}
body.rbs-ui.rbs-page-admin-index{
    margin:0;
    font-family:Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-admin-index .wrap{
    max-width:1280px;
    margin:0 auto;
    padding:28px 20px 40px;
}
body.rbs-ui.rbs-page-admin-index .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-admin-index .topbar-left{
    display:flex;
    align-items:center;
    gap:16px;
}
body.rbs-ui.rbs-page-admin-index .title h1{
    margin:0 0 6px;
    font-size:32px;
}
body.rbs-ui.rbs-page-admin-index .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}
body.rbs-ui.rbs-page-admin-index .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-admin-index .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
}
body.rbs-ui.rbs-page-admin-index .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-admin-index .hero{
    background:linear-gradient(135deg, #1e293b 0%, #334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}
body.rbs-ui.rbs-page-admin-index .hero h2{
    margin:0 0 10px;
    font-size:28px;
}
body.rbs-ui.rbs-page-admin-index .hero p{
    margin:0;
    max-width:820px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}
body.rbs-ui.rbs-page-admin-index .stats{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:14px;
    margin-top:24px;
}
body.rbs-ui.rbs-page-admin-index .stat{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    padding:16px;
}
body.rbs-ui.rbs-page-admin-index .stat-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    opacity:.8;
    margin-bottom:6px;
}
body.rbs-ui.rbs-page-admin-index .stat-value{
    font-size:22px;
    font-weight:700;
}
body.rbs-ui.rbs-page-admin-index .grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:18px;
}
body.rbs-ui.rbs-page-admin-index .card-link{
    display:block;
    text-decoration:none;
    color:inherit;
}
body.rbs-ui.rbs-page-admin-index .card-link:hover{
    text-decoration:none;
    color:inherit;
}
body.rbs-ui.rbs-page-admin-index .card{
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
    background:var(--card);
    transition:transform .15s ease, box-shadow .15s ease;
    height:100%;
}
body.rbs-ui.rbs-page-admin-index .card-link:hover .card{
    transform:translateY(-2px);
    box-shadow:0 16px 34px rgba(15,23,42,.12);
}
body.rbs-ui.rbs-page-admin-index .card-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
}
body.rbs-ui.rbs-page-admin-index .card h3{
    margin:0;
    font-size:22px;
}
body.rbs-ui.rbs-page-admin-index .card p{
    margin:0 0 18px;
    line-height:1.6;
}
body.rbs-ui.rbs-page-admin-index .card-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-admin-index .link-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 14px;
    border-radius:10px;
    font-size:14px;
    font-weight:700;
    text-decoration:none;
    border:1px solid #cbd5e1;
    background:#eef2ff;
    color:#1e293b;
}
@media (max-width: 900px){
    body.rbs-ui.rbs-page-admin-index .grid{ grid-template-columns:1fr; }
    body.rbs-ui.rbs-page-admin-index .stats{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
    body.rbs-ui.rbs-page-admin-index .stats{ grid-template-columns:1fr; }
    body.rbs-ui.rbs-page-admin-index .title h1{ font-size:26px; }
    body.rbs-ui.rbs-page-admin-index .hero h2{ font-size:24px; }
}

/* Migrated from /admin/maintenance.php (page-scoped). */
body.rbs-ui.rbs-page-admin-maintenance{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#0f2d63;
    --brand-dark:#091a3d;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --success-bg:#ecfdf5;
    --success-text:#166534;
    --success-line:#bbf7d0;
    --danger-bg:#fef2f2;
    --danger-text:#991b1b;
    --danger-line:#fecaca;
    --warn-bg:#fffbeb;
    --warn-text:#92400e;
    --warn-line:#fcd34d;
}

body.rbs-ui.rbs-page-admin-maintenance *{box-sizing:border-box}

body.rbs-ui.rbs-page-admin-maintenance{
    margin:0;
    font-family:Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}

body.rbs-ui.rbs-page-admin-maintenance .wrap{
    max-width:1100px;
    margin:0 auto;
    padding:28px 20px 40px;
}

body.rbs-ui.rbs-page-admin-maintenance .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:24px;
}

body.rbs-ui.rbs-page-admin-maintenance .title h1{
    margin:0 0 6px;
    font-size:32px;
}

body.rbs-ui.rbs-page-admin-maintenance .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}

body.rbs-ui.rbs-page-admin-maintenance .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-admin-maintenance .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}

body.rbs-ui.rbs-page-admin-maintenance .btn.primary{
    background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-admin-maintenance .btn.danger{
    background:#991b1b;
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-admin-maintenance .flash, body.rbs-ui.rbs-page-admin-maintenance .notice{
    border-radius:16px;
    padding:16px 18px;
    margin-bottom:18px;
    border:1px solid var(--line);
    background:#fff;
}

body.rbs-ui.rbs-page-admin-maintenance .flash.success{
    background:var(--success-bg);
    color:var(--success-text);
    border-color:var(--success-line);
}

body.rbs-ui.rbs-page-admin-maintenance .flash.error{
    background:var(--danger-bg);
    color:var(--danger-text);
    border-color:var(--danger-line);
}

body.rbs-ui.rbs-page-admin-maintenance .notice.warn{
    background:var(--warn-bg);
    color:var(--warn-text);
    border-color:var(--warn-line);
}

body.rbs-ui.rbs-page-admin-maintenance .grid{
    display:grid;
    grid-template-columns:1fr 320px;
    gap:20px;
}

body.rbs-ui.rbs-page-admin-maintenance .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-admin-maintenance .card h2{
    margin:0 0 12px;
    font-size:22px;
}

body.rbs-ui.rbs-page-admin-maintenance .card p{
    margin:0 0 14px;
    line-height:1.55;
    color:#334155;
}

body.rbs-ui.rbs-page-admin-maintenance .status-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:6px 12px;
    border-radius:999px;
    font-size:13px;
    font-weight:700;
    border:1px solid var(--line);
}

body.rbs-ui.rbs-page-admin-maintenance .status-badge.success{
    background:var(--success-bg);
    color:var(--success-text);
    border-color:var(--success-line);
}

body.rbs-ui.rbs-page-admin-maintenance .status-badge.danger{
    background:var(--danger-bg);
    color:var(--danger-text);
    border-color:var(--danger-line);
}

body.rbs-ui.rbs-page-admin-maintenance .field{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-bottom:16px;
}

body.rbs-ui.rbs-page-admin-maintenance .field label{
    font-weight:700;
    font-size:14px;
}

body.rbs-ui.rbs-page-admin-maintenance .field input[type="text"], body.rbs-ui.rbs-page-admin-maintenance .field textarea{
    width:100%;
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px 12px;
    font:inherit;
    background:#fff;
    color:var(--text);
}

body.rbs-ui.rbs-page-admin-maintenance .field textarea{
    min-height:140px;
    resize:vertical;
}

body.rbs-ui.rbs-page-admin-maintenance .check{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:14px;
}

body.rbs-ui.rbs-page-admin-maintenance .check input{
    width:18px;
    height:18px;
}

body.rbs-ui.rbs-page-admin-maintenance .meta{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
}

body.rbs-ui.rbs-page-admin-maintenance .meta-item{
    border:1px solid var(--line);
    border-radius:14px;
    padding:14px;
    background:#fff;
}

body.rbs-ui.rbs-page-admin-maintenance .meta-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--muted);
    margin-bottom:6px;
}

body.rbs-ui.rbs-page-admin-maintenance .meta-value{
    font-size:15px;
    font-weight:700;
    word-break:break-word;
}

body.rbs-ui.rbs-page-admin-maintenance .row{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:16px;
}

body.rbs-ui.rbs-page-admin-maintenance .small{
    font-size:13px;
    color:var(--muted);
}

body.rbs-ui.rbs-page-admin-maintenance .terminal-code{
    display:block;
    white-space:pre-wrap;
    overflow:auto;
    margin:10px 0 14px;
    padding:12px 14px;
    border-radius:12px;
    background:#0f172a;
    color:#e2e8f0;
    font-size:13px;
    line-height:1.45;
}

@media (max-width:900px){
    body.rbs-ui.rbs-page-admin-maintenance .grid{
        grid-template-columns:1fr;
    }
}

@media (max-width:640px){
    body.rbs-ui.rbs-page-admin-maintenance .title h1{
        font-size:26px;
    }
}

/* Migrated from /admin/report_modules.php (page-scoped). */
body.rbs-ui.rbs-page-admin-report-modules{--bg:#f4f7fb;--card:#fff;--text:#0f172a;--muted:#64748b;--line:#e2e8f0;--brand:#0f2d63;--brand-dark:#091a3d;--shadow:0 14px 34px rgba(15,23,42,.08);--success-bg:#f0fdf4;--success-line:#bbf7d0;--success-text:#166534;--danger-bg:#fef2f2;--danger-line:#fecaca;--danger-text:#991b1b;}
body.rbs-ui.rbs-page-admin-report-modules *{box-sizing:border-box} body.rbs-ui.rbs-page-admin-report-modules{margin:0;background:var(--bg);color:var(--text);font-family:Arial,sans-serif}
body.rbs-ui.rbs-page-admin-report-modules .wrap{max-width:1180px;margin:0 auto;padding:28px 20px 40px}
body.rbs-ui.rbs-page-admin-report-modules .topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}
body.rbs-ui.rbs-page-admin-report-modules .title h1{margin:0 0 6px;font-size:32px}body.rbs-ui.rbs-page-admin-report-modules .title p{margin:0;color:var(--muted)}
body.rbs-ui.rbs-page-admin-report-modules .actions, body.rbs-ui.rbs-page-admin-report-modules .row-actions{display:flex;gap:10px;flex-wrap:wrap}
body.rbs-ui.rbs-page-admin-report-modules .btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:12px;text-decoration:none;font-weight:700;border:1px solid var(--line);background:#fff;color:var(--text);cursor:pointer}
body.rbs-ui.rbs-page-admin-report-modules .btn.primary{background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);color:#fff;border:none}body.rbs-ui.rbs-page-admin-report-modules .btn.danger{background:#fff;border-color:#fecaca;color:#991b1b}
body.rbs-ui.rbs-page-admin-report-modules .hero{background:linear-gradient(135deg,#1e293b 0%,#334155 100%);color:#fff;border-radius:24px;padding:24px;box-shadow:var(--shadow);margin-bottom:18px}
body.rbs-ui.rbs-page-admin-report-modules .hero h2{margin:0 0 10px;font-size:28px}body.rbs-ui.rbs-page-admin-report-modules .hero p{margin:0;color:rgba(255,255,255,.88);max-width:820px}body.rbs-ui.rbs-page-admin-report-modules .stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}body.rbs-ui.rbs-page-admin-report-modules .stat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:16px}body.rbs-ui.rbs-page-admin-report-modules .stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;opacity:.82;margin-bottom:6px}body.rbs-ui.rbs-page-admin-report-modules .stat-value{font-size:22px;font-weight:700}
body.rbs-ui.rbs-page-admin-report-modules .panel{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:22px;margin-bottom:18px}body.rbs-ui.rbs-page-admin-report-modules .panel h3{margin:0 0 8px}body.rbs-ui.rbs-page-admin-report-modules .helper{margin:0;color:var(--muted)}
body.rbs-ui.rbs-page-admin-report-modules .upload-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end;margin-top:16px}body.rbs-ui.rbs-page-admin-report-modules .field label{display:block;margin-bottom:8px;font-weight:700}body.rbs-ui.rbs-page-admin-report-modules .input{width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#fff}
body.rbs-ui.rbs-page-admin-report-modules .flash{padding:14px 16px;border-radius:16px;border:1px solid transparent;margin-bottom:18px}body.rbs-ui.rbs-page-admin-report-modules .flash.success{background:var(--success-bg);border-color:var(--success-line);color:var(--success-text)}body.rbs-ui.rbs-page-admin-report-modules .flash.error{background:var(--danger-bg);border-color:var(--danger-line);color:var(--danger-text)}
body.rbs-ui.rbs-page-admin-report-modules .module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}body.rbs-ui.rbs-page-admin-report-modules .module-card{border:1px solid var(--line);border-radius:18px;padding:18px;background:#fff;display:flex;flex-direction:column;gap:12px}body.rbs-ui.rbs-page-admin-report-modules .kicker{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--muted)}body.rbs-ui.rbs-page-admin-report-modules .module-card h4{margin:0;font-size:20px}body.rbs-ui.rbs-page-admin-report-modules .tag-row{display:flex;gap:8px;flex-wrap:wrap}body.rbs-ui.rbs-page-admin-report-modules .tag{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#f8fafc;border:1px solid var(--line);font-size:12px;font-weight:700;color:#475569}body.rbs-ui.rbs-page-admin-report-modules .spacer{flex:1}body.rbs-ui.rbs-page-admin-report-modules .notice{padding:12px 14px;border-radius:14px;background:#fff7ed;border:1px solid #fdba74;color:#9a3412;font-weight:700}
@media (max-width:820px){body.rbs-ui.rbs-page-admin-report-modules .stats{grid-template-columns:1fr}body.rbs-ui.rbs-page-admin-report-modules .upload-row{grid-template-columns:1fr}}

/* Migrated from /admin/serverinfo.php (page-scoped). */
body.rbs-ui.rbs-page-admin-serverinfo{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#0f2d63;
    --brand-dark:#091a3d;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --green-bg:#f0fdf4;
    --green-line:#bbf7d0;
    --green-text:#166534;
    --green-chip:#dcfce7;
    --gray-bg:#f8fafc;
    --gray-line:#dbe2ea;
    --gray-text:#94a3b8;
    --error-bg:#fef2f2;
    --error-line:#fecaca;
    --error-text:#b91c1c;
    --success-bg:#ecfdf5;
    --success-line:#a7f3d0;
    --success-text:#065f46;
    --warning-bg:#fff7ed;
    --warning-line:#fdba74;
    --warning-text:#9a3412;
}
body.rbs-ui.rbs-page-admin-serverinfo *{box-sizing:border-box}
body.rbs-ui.rbs-page-admin-serverinfo{
    margin:0;
    font-family:Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-admin-serverinfo .wrap{
    max-width:1440px;
    margin:0 auto;
    padding:28px 20px 40px;
}
body.rbs-ui.rbs-page-admin-serverinfo .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-admin-serverinfo .topbar-left{
    display:flex;
    align-items:center;
    gap:16px;
}
body.rbs-ui.rbs-page-admin-serverinfo .title h1{
    margin:0 0 6px;
    font-size:32px;
}
body.rbs-ui.rbs-page-admin-serverinfo .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}
body.rbs-ui.rbs-page-admin-serverinfo .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-admin-serverinfo .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
    font-family:Arial, sans-serif;
    font-size:14px;
}
body.rbs-ui.rbs-page-admin-serverinfo .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-admin-serverinfo .hero{
    background:linear-gradient(135deg, #1e293b 0%, #334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}
body.rbs-ui.rbs-page-admin-serverinfo .hero h2{
    margin:0 0 10px;
    font-size:28px;
}
body.rbs-ui.rbs-page-admin-serverinfo .hero p{
    margin:0;
    max-width:950px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}
body.rbs-ui.rbs-page-admin-serverinfo .stats{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:14px;
    margin-top:24px;
}
body.rbs-ui.rbs-page-admin-serverinfo .stat{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    padding:16px;
}
body.rbs-ui.rbs-page-admin-serverinfo .stat-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    opacity:.8;
    margin-bottom:6px;
}
body.rbs-ui.rbs-page-admin-serverinfo .stat-value{
    font-size:22px;
    font-weight:700;
    line-height:1.25;
}
body.rbs-ui.rbs-page-admin-serverinfo .grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:18px;
}
body.rbs-ui.rbs-page-admin-serverinfo .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    box-shadow:var(--shadow);
    overflow:hidden;
}
body.rbs-ui.rbs-page-admin-serverinfo .card-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    padding:20px;
    border-bottom:1px solid var(--line);
}
body.rbs-ui.rbs-page-admin-serverinfo .card h3{
    margin:0;
    font-size:22px;
}
body.rbs-ui.rbs-page-admin-serverinfo .card-body{
    padding:20px;
}
body.rbs-ui.rbs-page-admin-serverinfo .metric-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px;
}
body.rbs-ui.rbs-page-admin-serverinfo .metric{
    border:1px solid var(--line);
    border-radius:16px;
    padding:14px;
    background:#fff;
}
body.rbs-ui.rbs-page-admin-serverinfo .metric .label{
    display:block;
    color:var(--muted);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.06em;
    margin-bottom:6px;
    font-weight:700;
}
body.rbs-ui.rbs-page-admin-serverinfo .metric .value{
    display:block;
    font-size:18px;
    font-weight:700;
    line-height:1.4;
    word-break:break-word;
}
body.rbs-ui.rbs-page-admin-serverinfo .notice{
    border-radius:16px;
    padding:16px 18px;
    border:1px solid transparent;
    margin-bottom:18px;
}
body.rbs-ui.rbs-page-admin-serverinfo .notice.error{ background:var(--error-bg); border-color:var(--error-line); color:var(--error-text); }
body.rbs-ui.rbs-page-admin-serverinfo .notice.success{ background:var(--success-bg); border-color:var(--success-line); color:var(--success-text); }
body.rbs-ui.rbs-page-admin-serverinfo .notice.warning{ background:var(--warning-bg); border-color:var(--warning-line); color:var(--warning-text); }
body.rbs-ui.rbs-page-admin-serverinfo .drawer{
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
    margin-top:14px;
    overflow:hidden;
}
body.rbs-ui.rbs-page-admin-serverinfo .drawer:first-child{ margin-top:0; }
body.rbs-ui.rbs-page-admin-serverinfo .drawer summary{
    list-style:none;
    cursor:pointer;
    padding:16px 18px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    font-weight:700;
    background:#f8fafc;
}
body.rbs-ui.rbs-page-admin-serverinfo .drawer summary::-webkit-details-marker{ display:none; }
body.rbs-ui.rbs-page-admin-serverinfo .drawer summary::after{
    content:"▾";
    font-size:18px;
    color:var(--brand);
    transition:transform .2s ease;
}
body.rbs-ui.rbs-page-admin-serverinfo .drawer[open] summary::after{
    transform:rotate(180deg);
}
body.rbs-ui.rbs-page-admin-serverinfo .drawer-sub{
    color:var(--muted);
    font-size:13px;
    font-weight:400;
}
body.rbs-ui.rbs-page-admin-serverinfo .drawer-body{
    padding:18px;
    border-top:1px solid var(--line);
}
body.rbs-ui.rbs-page-admin-serverinfo .table-wrap{
    width:100%;
    overflow:auto;
    border:1px solid var(--line);
    border-radius:16px;
}
body.rbs-ui.rbs-page-admin-serverinfo table{
    width:100%;
    border-collapse:collapse;
    min-width:860px;
    background:#fff;
}
body.rbs-ui.rbs-page-admin-serverinfo th, body.rbs-ui.rbs-page-admin-serverinfo td{
    padding:12px;
    text-align:left;
    vertical-align:top;
    border-bottom:1px solid var(--line);
    font-size:14px;
}
body.rbs-ui.rbs-page-admin-serverinfo th{
    background:#f8fafc;
    color:#334155;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.05em;
}
body.rbs-ui.rbs-page-admin-serverinfo tr:last-child td{ border-bottom:none; }
body.rbs-ui.rbs-page-admin-serverinfo .chip{
    display:inline-flex;
    align-items:center;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    background:var(--green-chip);
    color:var(--green-text);
    border:1px solid var(--green-line);
}
body.rbs-ui.rbs-page-admin-serverinfo .chip.gray{
    background:var(--gray-bg);
    color:#475569;
    border-color:var(--gray-line);
}
body.rbs-ui.rbs-page-admin-serverinfo .stack{ display:grid; gap:12px; }
body.rbs-ui.rbs-page-admin-serverinfo .mini-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:12px;
}
body.rbs-ui.rbs-page-admin-serverinfo .mini{
    border:1px solid var(--line);
    background:#fafafa;
    border-radius:14px;
    padding:14px;
}
body.rbs-ui.rbs-page-admin-serverinfo .mini .k{
    display:block;
    color:var(--muted);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.05em;
    margin-bottom:6px;
    font-weight:700;
}
body.rbs-ui.rbs-page-admin-serverinfo .mini .v{
    display:block;
    font-size:18px;
    font-weight:700;
}
body.rbs-ui.rbs-page-admin-serverinfo .muted{ color:var(--muted); }
body.rbs-ui.rbs-page-admin-serverinfo .empty{
    background:var(--gray-bg);
    border:1px solid var(--gray-line);
    border-radius:16px;
    padding:18px;
    color:#475569;
}
body.rbs-ui.rbs-page-admin-serverinfo .code{
    margin:0;
    white-space:pre-wrap;
    word-break:break-word;
    font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size:13px;
    background:#0f172a;
    color:#e2e8f0;
    padding:16px;
    border-radius:14px;
    overflow:auto;
}
body.rbs-ui.rbs-page-admin-serverinfo .path{
    font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size:13px;
    word-break:break-all;
}
@media (max-width: 1100px){
    body.rbs-ui.rbs-page-admin-serverinfo .stats{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
    body.rbs-ui.rbs-page-admin-serverinfo .grid{ grid-template-columns:1fr; }
    body.rbs-ui.rbs-page-admin-serverinfo .mini-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px){
    body.rbs-ui.rbs-page-admin-serverinfo .stats, body.rbs-ui.rbs-page-admin-serverinfo .metric-grid, body.rbs-ui.rbs-page-admin-serverinfo .mini-grid{ grid-template-columns:1fr; }
    body.rbs-ui.rbs-page-admin-serverinfo .title h1{ font-size:26px; }
    body.rbs-ui.rbs-page-admin-serverinfo .hero h2{ font-size:24px; }
}

/* Migrated from /admin/system_settings.php (page-scoped). */
body.rbs-ui.rbs-page-admin-system-settings{ background: #f4f6f9; font-family: Arial, sans-serif; }
    body.rbs-ui.rbs-page-admin-system-settings .wrap{ max-width: 760px; margin: 80px auto; padding: 24px; }
    body.rbs-ui.rbs-page-admin-system-settings .card{ border: 0; border-radius: 18px; box-shadow: 0 10px 30px rgba(0,0,0,.08); }

/* Migrated from /admin/system_settings.php (page-scoped). */
body.rbs-ui.rbs-page-admin-system-settings{
    --bg:#f4f7fb;
    --card:#ffffff;
    --line:#e5e7eb;
    --text:#0f172a;
    --muted:#64748b;
    --accent:#2563eb;
    --success:#15803d;
    --warning:#b45309;
    --danger:#b91c1c;
}
body.rbs-ui.rbs-page-admin-system-settings, body.rbs-ui.rbs-page-admin-system-settings{
    background: var(--bg);
    color: var(--text);
    font-family: Arial, sans-serif;
}
body.rbs-ui.rbs-page-admin-system-settings .page-wrap{
    max-width: 1300px;
    margin: 0 auto;
    padding: 28px 20px 40px;
}
body.rbs-ui.rbs-page-admin-system-settings .hero-card{
    background: linear-gradient(135deg, #0f172a 0%, #1e3a8a 100%);
    color:#fff;
    border-radius:22px;
    padding:28px;
    box-shadow:0 18px 40px rgba(15,23,42,.18);
    margin-bottom:22px;
}
body.rbs-ui.rbs-page-admin-system-settings .hero-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-admin-system-settings .hero-title{
    margin:0 0 8px;
    font-size:2rem;
    font-weight:700;
}
body.rbs-ui.rbs-page-admin-system-settings .hero-text{
    margin:0;
    max-width:820px;
    color:rgba(255,255,255,.88);
    font-size:1.02rem;
    line-height:1.5;
}
body.rbs-ui.rbs-page-admin-system-settings .toolbar{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:18px;
}
body.rbs-ui.rbs-page-admin-system-settings .btn-soft, body.rbs-ui.rbs-page-admin-system-settings .btn-primary2, body.rbs-ui.rbs-page-admin-system-settings .btn-danger2{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:10px 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}
body.rbs-ui.rbs-page-admin-system-settings .btn-soft:hover{ background:#f8fafc; color:var(--text); }
body.rbs-ui.rbs-page-admin-system-settings .btn-primary2{ border-color:var(--accent); background:var(--accent); color:#fff; }
body.rbs-ui.rbs-page-admin-system-settings .btn-primary2:hover{ background:#1d4ed8; border-color:#1d4ed8; color:#fff; }
body.rbs-ui.rbs-page-admin-system-settings .btn-danger2{ border-color:#fecaca; background:#fff1f2; color:var(--danger); }
body.rbs-ui.rbs-page-admin-system-settings .panel{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    box-shadow:0 8px 24px rgba(15,23,42,.05);
    overflow:hidden;
    margin-bottom:20px;
}
body.rbs-ui.rbs-page-admin-system-settings .panel-head{
    padding:18px 22px;
    border-bottom:1px solid var(--line);
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-admin-system-settings .panel-head h2{
    margin:0;
    font-size:1.2rem;
}
body.rbs-ui.rbs-page-admin-system-settings .panel-body{ padding:22px; }
body.rbs-ui.rbs-page-admin-system-settings .status-pill{
    display:inline-flex;
    align-items:center;
    padding:7px 12px;
    border-radius:999px;
    font-weight:700;
    font-size:.9rem;
    border:1px solid var(--line);
    background:#f8fafc;
    color:var(--text);
}
body.rbs-ui.rbs-page-admin-system-settings .status-pill.success{ background:#ecfdf5; color:var(--success); border-color:#bbf7d0; }
body.rbs-ui.rbs-page-admin-system-settings .status-pill.warning{ background:#fffbeb; color:var(--warning); border-color:#fde68a; }
body.rbs-ui.rbs-page-admin-system-settings .status-pill.danger{ background:#fef2f2; color:var(--danger); border-color:#fecaca; }
body.rbs-ui.rbs-page-admin-system-settings .metric-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:16px;
}
body.rbs-ui.rbs-page-admin-system-settings .metric-card{
    border:1px solid var(--line);
    border-radius:16px;
    padding:18px;
    background:#fff;
    min-height:120px;
}
body.rbs-ui.rbs-page-admin-system-settings .metric-label{
    color:var(--muted);
    font-size:.92rem;
    margin-bottom:8px;
}
body.rbs-ui.rbs-page-admin-system-settings .metric-value{
    font-size:1.35rem;
    font-weight:800;
    margin-bottom:8px;
}
body.rbs-ui.rbs-page-admin-system-settings .metric-help{
    color:var(--muted);
    line-height:1.45;
    margin:0;
}
body.rbs-ui.rbs-page-admin-system-settings .task-layout{
    display:grid;
    grid-template-columns:minmax(0, 1.1fr) minmax(0, .9fr);
    gap:18px;
    align-items:start;
}
body.rbs-ui.rbs-page-admin-system-settings .notice{
    border:1px solid #bfdbfe;
    background:#eff6ff;
    color:#1e3a8a;
    border-radius:14px;
    padding:14px 16px;
    line-height:1.5;
    margin-bottom:16px;
}
body.rbs-ui.rbs-page-admin-system-settings .alert-box{
    border-radius:14px;
    padding:14px 16px;
    margin-bottom:16px;
    line-height:1.5;
    border:1px solid var(--line);
}
body.rbs-ui.rbs-page-admin-system-settings .alert-box.success{ background:#ecfdf5; color:#14532d; border-color:#bbf7d0; }
body.rbs-ui.rbs-page-admin-system-settings .alert-box.warning{ background:#fffbeb; color:#92400e; border-color:#fde68a; }
body.rbs-ui.rbs-page-admin-system-settings .alert-box.danger{ background:#fef2f2; color:#991b1b; border-color:#fecaca; }
body.rbs-ui.rbs-page-admin-system-settings .command-box{
    width:100%;
    min-height:86px;
    border:1px solid var(--line);
    border-radius:14px;
    padding:12px 14px;
    background:#0f172a;
    color:#e2e8f0;
    font-family:Consolas, Monaco, monospace;
    font-size:.92rem;
    resize:vertical;
}
body.rbs-ui.rbs-page-admin-system-settings .step-list{
    margin:0;
    padding-left:20px;
    color:var(--muted);
    line-height:1.65;
}
body.rbs-ui.rbs-page-admin-system-settings .runs-table{
    width:100%;
    border-collapse:collapse;
}
body.rbs-ui.rbs-page-admin-system-settings .runs-table th, body.rbs-ui.rbs-page-admin-system-settings .runs-table td{
    padding:11px 10px;
    border-bottom:1px solid var(--line);
    text-align:left;
    vertical-align:top;
}
body.rbs-ui.rbs-page-admin-system-settings .runs-table th{
    color:var(--muted);
    font-size:.9rem;
    font-weight:700;
}
body.rbs-ui.rbs-page-admin-system-settings .runs-table td{
    font-size:.94rem;
}
body.rbs-ui.rbs-page-admin-system-settings .output-box{
    white-space:pre-wrap;
    background:#0f172a;
    color:#e2e8f0;
    border-radius:14px;
    padding:14px;
    max-height:260px;
    overflow:auto;
    font-family:Consolas, Monaco, monospace;
    font-size:.9rem;
}
@media (max-width: 992px){
    body.rbs-ui.rbs-page-admin-system-settings .metric-grid, body.rbs-ui.rbs-page-admin-system-settings .task-layout{ grid-template-columns:1fr; }
}
@media (max-width: 576px){
    body.rbs-ui.rbs-page-admin-system-settings .page-wrap{ padding:18px 14px 30px; }
    body.rbs-ui.rbs-page-admin-system-settings .hero-card{ padding:22px 18px; border-radius:18px; }
    body.rbs-ui.rbs-page-admin-system-settings .hero-title{ font-size:1.55rem; }
    body.rbs-ui.rbs-page-admin-system-settings .panel-head, body.rbs-ui.rbs-page-admin-system-settings .panel-body{ padding:16px; }
    body.rbs-ui.rbs-page-admin-system-settings .runs-table{ font-size:.86rem; }
}

/* Migrated from /booking/add_reservation.php (page-scoped). */
body.rbs-ui.rbs-page-booking-add-reservation{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --danger:#b91c1c;
    --success:#166534;
    --success-bg:#f0fdf4;
    --success-line:#bbf7d0;
    --error-bg:#fef2f2;
    --error-line:#fecaca;
    --info-bg:#eff6ff;
    --info-line:#bfdbfe;
    --info-text:#1d4ed8;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --focus:#93c5fd;
}

body.rbs-ui.rbs-page-booking-add-reservation *{box-sizing:border-box}
body.rbs-ui.rbs-page-booking-add-reservation{margin:0;font-family:Arial, sans-serif;background:var(--bg);color:var(--text)}
body.rbs-ui.rbs-page-booking-add-reservation .wrap{max-width:1400px;margin:0 auto;padding:28px 20px 40px}
body.rbs-ui.rbs-page-booking-add-reservation .topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}
body.rbs-ui.rbs-page-booking-add-reservation .topbar-left{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-width:0}
body.rbs-ui.rbs-page-booking-add-reservation .title h1{margin:0 0 6px;font-size:32px}
body.rbs-ui.rbs-page-booking-add-reservation .title p{margin:0;color:var(--muted);font-size:15px}
body.rbs-ui.rbs-page-booking-add-reservation .actions{display:flex;gap:10px;flex-wrap:wrap}
body.rbs-ui.rbs-page-booking-add-reservation .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 16px;border-radius:14px;text-decoration:none;font-weight:800;border:1px solid var(--line);background:#fff;color:var(--text);cursor:pointer;transition:transform .18s ease, box-shadow .18s ease, filter .18s ease, border-color .18s ease}
body.rbs-ui.rbs-page-booking-add-reservation .btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(15,23,42,.12)}
body.rbs-ui.rbs-page-booking-add-reservation .btn:active{transform:translateY(0)}
body.rbs-ui.rbs-page-booking-add-reservation .btn.primary{background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);color:#fff;border:none;box-shadow:0 10px 22px rgba(111,71,43,.22)}
body.rbs-ui.rbs-page-booking-add-reservation .btn.secondary{background:#fff;color:var(--brand-dark);border:1px solid #d6c2b0}
body.rbs-ui.rbs-page-booking-add-reservation .btn.success{background:linear-gradient(180deg,#22c55e 0%,#15803d 100%);color:#fff;border:none;box-shadow:0 12px 24px rgba(21,128,61,.24)}
body.rbs-ui.rbs-page-booking-add-reservation .btn.danger{background:linear-gradient(180deg,#fb923c 0%,#ea580c 100%);color:#fff;border:none;min-height:38px;padding:0 12px;font-size:13px;box-shadow:0 10px 20px rgba(234,88,12,.24)}

body.rbs-ui.rbs-page-booking-add-reservation #addRoomRowInlineBtn, body.rbs-ui.rbs-page-booking-add-reservation #addRoomRowBtn{
    background:linear-gradient(180deg,#14b8a6 0%,#0f766e 100%);
    color:#fff;
    border:none;
    box-shadow:0 12px 24px rgba(15,118,110,.26);
}

body.rbs-ui.rbs-page-booking-add-reservation #addChargeItemBtn{
    background:linear-gradient(180deg,#f97316 0%,#db2777 100%);
    color:#fff;
    border:none;
    box-shadow:0 12px 24px rgba(219,39,119,.24);
}

body.rbs-ui.rbs-page-booking-add-reservation #saveReservationBtn, body.rbs-ui.rbs-page-booking-add-reservation #topSaveReservationBtn{
    background:linear-gradient(180deg,#22c55e 0%,#15803d 100%);
    color:#fff;
    border:none;
    box-shadow:0 12px 24px rgba(21,128,61,.24);
}

body.rbs-ui.rbs-page-booking-add-reservation [data-edit-room-index]{
    background:linear-gradient(180deg,#60a5fa 0%,#2563eb 100%);
    color:#fff;
    border:none;
    box-shadow:0 10px 20px rgba(37,99,235,.22);
}

body.rbs-ui.rbs-page-booking-add-reservation [data-remove-room-index], body.rbs-ui.rbs-page-booking-add-reservation [data-remove-charge-index]{
    background:linear-gradient(180deg,#fb7185 0%,#e11d48 100%);
    color:#fff;
    border:none;
    box-shadow:0 10px 20px rgba(225,29,72,.22);
}

body.rbs-ui.rbs-page-booking-add-reservation [data-prev-tab]{
    background:linear-gradient(180deg,#c4b5fd 0%,#8b5cf6 100%);
    color:#fff;
    border:none;
    box-shadow:0 10px 20px rgba(139,92,246,.20);
}

body.rbs-ui.rbs-page-booking-add-reservation a.btn[href="/booking/index.php"], body.rbs-ui.rbs-page-booking-add-reservation a.btn[href="/booking/reservations.php"], body.rbs-ui.rbs-page-booking-add-reservation a.btn[href="/dashboard.php"]{
    box-shadow:0 8px 18px rgba(15,23,42,.08);
}

body.rbs-ui.rbs-page-booking-add-reservation #addRoomRowInlineBtn::before, body.rbs-ui.rbs-page-booking-add-reservation #addRoomRowBtn::before{content:"🛏️"}
body.rbs-ui.rbs-page-booking-add-reservation #addChargeItemBtn::before{content:"✨"}
body.rbs-ui.rbs-page-booking-add-reservation #saveReservationBtn::before, body.rbs-ui.rbs-page-booking-add-reservation #topSaveReservationBtn::before{content:"✅"}
body.rbs-ui.rbs-page-booking-add-reservation .btn.danger::before{content:"↩️"}
body.rbs-ui.rbs-page-booking-add-reservation [data-edit-room-index]::before{content:"✏️"}
body.rbs-ui.rbs-page-booking-add-reservation [data-remove-room-index]::before, body.rbs-ui.rbs-page-booking-add-reservation [data-remove-charge-index]::before{content:"🗑️"}
body.rbs-ui.rbs-page-booking-add-reservation [data-prev-tab]::before{content:"⬅️"}
body.rbs-ui.rbs-page-booking-add-reservation .hero{background:linear-gradient(135deg, #1e293b 0%, #334155 100%);color:#fff;border-radius:24px;padding:28px;box-shadow:var(--shadow);margin-bottom:24px}
body.rbs-ui.rbs-page-booking-add-reservation .hero h2{margin:0 0 10px;font-size:28px}
body.rbs-ui.rbs-page-booking-add-reservation .hero p{margin:0;max-width:820px;line-height:1.6;color:rgba(255,255,255,.88)}
body.rbs-ui.rbs-page-booking-add-reservation .hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
body.rbs-ui.rbs-page-booking-add-reservation .hero-actions .btn{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.12);color:#fff}
body.rbs-ui.rbs-page-booking-add-reservation .hero-actions .btn.primary{background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);color:#fff;border:none}
body.rbs-ui.rbs-page-booking-add-reservation .flash{padding:14px 16px;border-radius:14px;margin-bottom:18px;border:1px solid transparent}
body.rbs-ui.rbs-page-booking-add-reservation .flash.success{background:var(--success-bg);border-color:var(--success-line);color:var(--success)}
body.rbs-ui.rbs-page-booking-add-reservation .flash.info{background:var(--info-bg);border-color:var(--info-line);color:var(--info-text)}

/* LOUD error banner — cannot be missed */
body.rbs-ui.rbs-page-booking-add-reservation .flash.error{
    background:#7f1d1d;
    border:3px solid #dc2626;
    border-radius:16px;
    color:#fff;
    margin-bottom:24px;
    box-shadow:0 0 0 4px rgba(220,38,38,.25), 0 8px 32px rgba(127,29,29,.35);
    animation:error-pulse 0.4s ease;
}
@keyframes error-pulse{
    0%{transform:scale(1)}
    40%{transform:scale(1.012)}
    100%{transform:scale(1)}
}
body.rbs-ui.rbs-page-booking-add-reservation .flash.error .error-header{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:12px;
    padding-bottom:12px;
    border-bottom:1px solid rgba(255,255,255,.25);
}
body.rbs-ui.rbs-page-booking-add-reservation .flash.error .error-icon{
    flex-shrink:0;
    width:36px;
    height:36px;
    background:#dc2626;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
    font-weight:900;
}
body.rbs-ui.rbs-page-booking-add-reservation .flash.error .error-title{
    font-size:18px;
    font-weight:900;
    letter-spacing:.01em;
}
body.rbs-ui.rbs-page-booking-add-reservation .flash.error .error-list{
    margin:0;
    padding:0 0 0 20px;
    display:flex;
    flex-direction:column;
    gap:6px;
}
body.rbs-ui.rbs-page-booking-add-reservation .flash.error .error-list li{
    font-size:15px;
    font-weight:600;
    line-height:1.45;
    color:#fecaca;
}
body.rbs-ui.rbs-page-booking-add-reservation .flash.error .error-list li strong{
    color:#fff;
}
body.rbs-ui.rbs-page-booking-add-reservation .card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow)}
body.rbs-ui.rbs-page-booking-add-reservation .card h3{margin:0 0 16px;font-size:22px}
body.rbs-ui.rbs-page-booking-add-reservation .card-sub{margin:-6px 0 18px;color:var(--muted);font-size:14px;line-height:1.55}

body.rbs-ui.rbs-page-booking-add-reservation .tab-bar{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:center;
    margin-bottom:20px;
    padding-bottom:14px;
    border-bottom:1px solid var(--line);
}

body.rbs-ui.rbs-page-booking-add-reservation .tab-save-actions{
    margin-left:auto;
    display:none;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-booking-add-reservation .tab-save-actions.show{
    display:flex;
}

body.rbs-ui.rbs-page-booking-add-reservation .tab-btn{
    position:relative;
    min-height:46px;
    padding:0 16px;
    border-radius:12px;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    font-weight:800;
    cursor:pointer;
    transition:all .18s ease;
}

body.rbs-ui.rbs-page-booking-add-reservation .tab-btn.active{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border-color:transparent;
    box-shadow:0 8px 18px rgba(111,71,43,.18);
}

body.rbs-ui.rbs-page-booking-add-reservation .tab-btn.done{
    border-color:#bbf7d0;
    background:#f0fdf4;
    color:#166534;
}

body.rbs-ui.rbs-page-booking-add-reservation .tab-btn.next-ready{
    border-color:#facc15;
    background:#fef3c7;
    color:#92400e;
}

body.rbs-ui.rbs-page-booking-add-reservation .tab-btn.next-ready::before{
    content:"→";
    position:absolute;
    left:-18px;
    top:50%;
    transform:translateY(-50%);
    color:#ca8a04;
    font-size:20px;
    font-weight:900;
    line-height:1;
}

body.rbs-ui.rbs-page-booking-add-reservation .tab-btn.locked{
    border-color:#fecaca;
    background:#fef2f2;
    color:#b91c1c;
}

body.rbs-ui.rbs-page-booking-add-reservation .tab-btn:disabled{
    cursor:not-allowed;
    opacity:1;
}

body.rbs-ui.rbs-page-booking-add-reservation .tab-btn.active.done, body.rbs-ui.rbs-page-booking-add-reservation .tab-btn.active.next-ready, body.rbs-ui.rbs-page-booking-add-reservation .tab-btn.active.locked{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border-color:transparent;
}

body.rbs-ui.rbs-page-booking-add-reservation .tab-panel{display:none}
body.rbs-ui.rbs-page-booking-add-reservation .tab-panel.active{display:block}

body.rbs-ui.rbs-page-booking-add-reservation .tab-head{
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-booking-add-reservation .tab-head h4{margin:0;font-size:20px}
body.rbs-ui.rbs-page-booking-add-reservation .tab-head p{margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.55}

body.rbs-ui.rbs-page-booking-add-reservation .form-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:14px}
body.rbs-ui.rbs-page-booking-add-reservation .field{display:flex;flex-direction:column;gap:8px;margin-bottom:0}
body.rbs-ui.rbs-page-booking-add-reservation .field.span-2{ grid-column:span 2; }
body.rbs-ui.rbs-page-booking-add-reservation .field.span-3{ grid-column:span 3; }
body.rbs-ui.rbs-page-booking-add-reservation .field label{font-size:14px;font-weight:700;color:#334155}
body.rbs-ui.rbs-page-booking-add-reservation .field input, body.rbs-ui.rbs-page-booking-add-reservation .field select, body.rbs-ui.rbs-page-booking-add-reservation .field textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);font-size:14px}
body.rbs-ui.rbs-page-booking-add-reservation .field input, body.rbs-ui.rbs-page-booking-add-reservation .field select{min-height:46px;padding:0 12px}
body.rbs-ui.rbs-page-booking-add-reservation .field textarea{min-height:120px;padding:12px;resize:vertical}
body.rbs-ui.rbs-page-booking-add-reservation .field input:focus, body.rbs-ui.rbs-page-booking-add-reservation .field select:focus, body.rbs-ui.rbs-page-booking-add-reservation .field textarea:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px rgba(147,197,253,.20)}

body.rbs-ui.rbs-page-booking-add-reservation .email-lookup-note, body.rbs-ui.rbs-page-booking-add-reservation .room-availability-note{
    font-size:13px;
    color:var(--muted);
    min-height:18px;
}

body.rbs-ui.rbs-page-booking-add-reservation .email-lookup-note.found, body.rbs-ui.rbs-page-booking-add-reservation .room-availability-note.found{
    color:var(--info-text);
    font-weight:700;
}

body.rbs-ui.rbs-page-booking-add-reservation .availability-box{
    grid-column:span 3;
    border:1px solid var(--line);
    border-radius:16px;
    background:#f8fafc;
    padding:16px;
}

body.rbs-ui.rbs-page-booking-add-reservation .availability-box h5{
    margin:0 0 8px;
    font-size:16px;
}

body.rbs-ui.rbs-page-booking-add-reservation .availability-subtext{
    margin:0 0 12px;
    color:var(--muted);
    font-size:13px;
    line-height:1.5;
}

body.rbs-ui.rbs-page-booking-add-reservation .availability-list{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:flex-start;
}

body.rbs-ui.rbs-page-booking-add-reservation .availability-chip{
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:42px;
    padding:10px 12px;
    border-radius:14px;
    background:#fff;
    border:1px solid var(--line);
    font-size:14px;
    font-weight:700;
    width:auto;
    min-width:220px;
    max-width:320px;
    flex:0 1 320px;
}

body.rbs-ui.rbs-page-booking-add-reservation .availability-chip strong{
    color:var(--text);
}

body.rbs-ui.rbs-page-booking-add-reservation .availability-chip.total{
    background:var(--info-bg);
    border-color:var(--info-line);
    color:var(--info-text);
}

body.rbs-ui.rbs-page-booking-add-reservation .availability-empty{
    color:var(--muted);
    font-size:14px;
}

body.rbs-ui.rbs-page-booking-add-reservation .summary-box{
    margin-top:18px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#f8fafc;
    padding:16px;
}

body.rbs-ui.rbs-page-booking-add-reservation .summary-box h5{
    margin:0 0 12px;
    font-size:16px;
}

body.rbs-ui.rbs-page-booking-add-reservation .summary-inline-note{
    border:1px solid var(--line);
    background:#f8fafc;
    color:var(--muted);
    border-radius:14px;
    padding:12px 14px;
    font-size:14px;
    line-height:1.5;
}
body.rbs-ui.rbs-page-booking-add-reservation .summary-inline-note.good{
    background:#f0fdf4;
    border-color:#bbf7d0;
    color:#166534;
}


body.rbs-ui.rbs-page-booking-add-reservation .room-pick-action{
    display:flex;
    align-items:flex-end;
    justify-content:flex-end;
}

body.rbs-ui.rbs-page-booking-add-reservation #addRoomRowInlineWrap{
    display:none;
    width:100%;
}

body.rbs-ui.rbs-page-booking-add-reservation #addRoomRowInlineWrap.show{
    display:flex;
}

body.rbs-ui.rbs-page-booking-add-reservation #addRoomRowInlineBtn{
    width:100%;
}
body.rbs-ui.rbs-page-booking-add-reservation .summary-inline-note.warn{
    background:#fff7ed;
    border-color:#fed7aa;
    color:#c2410c;
}

body.rbs-ui.rbs-page-booking-add-reservation .is-hidden{display:none !important}

body.rbs-ui.rbs-page-booking-add-reservation .stay-step-flow{
    display:flex;
    flex-direction:column;
    gap:16px;
}

body.rbs-ui.rbs-page-booking-add-reservation .stay-step-card{
    border:1px solid var(--line);
    border-radius:22px;
    background:#fff;
    box-shadow:0 14px 34px rgba(15,23,42,.06);
    overflow:hidden;
    transition:border-color .22s ease, box-shadow .22s ease, opacity .22s ease, transform .22s ease;
}

body.rbs-ui.rbs-page-booking-add-reservation .stay-step-card.is-open{
    border-color:#d6c2b0;
    box-shadow:0 18px 40px rgba(111,71,43,.12);
}

body.rbs-ui.rbs-page-booking-add-reservation .stay-step-card.is-collapsed{
    border-color:#dbeafe;
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
    box-shadow:0 12px 28px rgba(37,99,235,.08);
}

body.rbs-ui.rbs-page-booking-add-reservation .stay-step-card.is-locked{
    border-style:dashed;
    background:#f8fafc;
    box-shadow:none;
    opacity:.72;
}

body.rbs-ui.rbs-page-booking-add-reservation .stay-step-body{
    max-height:0;
    opacity:0;
    overflow:hidden;
    padding:0 20px;
    transform:translateY(-8px);
    transition:max-height .34s ease, opacity .22s ease, padding .22s ease, transform .22s ease;
}

body.rbs-ui.rbs-page-booking-add-reservation .stay-step-card.is-open .stay-step-body{
    max-height:4200px;
    opacity:1;
    padding:20px;
    transform:translateY(0);
}

body.rbs-ui.rbs-page-booking-add-reservation .stay-step-summary{
    display:none;
    position:relative;
    min-height:84px;
    align-items:center;
    padding:16px 62px 16px 18px;
}

body.rbs-ui.rbs-page-booking-add-reservation .stay-step-card.is-collapsed .stay-step-summary{
    display:flex;
}

body.rbs-ui.rbs-page-booking-add-reservation .stay-step-summary-text{
    font-size:15px;
    font-weight:800;
    color:var(--text);
    line-height:1.45;
}

body.rbs-ui.rbs-page-booking-add-reservation .stay-step-title{
    margin:0 0 16px;
    font-size:20px;
}

body.rbs-ui.rbs-page-booking-add-reservation .stay-step-grid-dates, body.rbs-ui.rbs-page-booking-add-reservation .stay-step-grid-guests{
    grid-template-columns:repeat(2, minmax(0, 1fr));
}

body.rbs-ui.rbs-page-booking-add-reservation .stay-step-card .form-grid{
    margin:0;
}

body.rbs-ui.rbs-page-booking-add-reservation .stay-step-summary-line{
    margin:0;
    color:var(--muted);
    font-size:14px;
    line-height:1.55;
}

body.rbs-ui.rbs-page-booking-add-reservation .stay-step-head-grid{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 360px;
    gap:16px;
    align-items:start;
    margin:0 0 16px;
}

body.rbs-ui.rbs-page-booking-add-reservation .stay-step-footer{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid var(--line);
}

body.rbs-ui.rbs-page-booking-add-reservation .stay-room-next-box{
    border:1px solid #d6c2b0;
    border-radius:18px;
    background:linear-gradient(180deg,#fffaf5 0%,#ffffff 100%);
    box-shadow:0 14px 30px rgba(111,71,43,.08);
    padding:18px;
}

body.rbs-ui.rbs-page-booking-add-reservation .stay-room-next-label{
    font-size:13px;
    font-weight:800;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.05em;
    margin-bottom:8px;
}

body.rbs-ui.rbs-page-booking-add-reservation .stay-room-next-value{
    font-size:22px;
    font-weight:800;
    color:var(--text);
    line-height:1.35;
}

body.rbs-ui.rbs-page-booking-add-reservation .stay-go-charges-btn{
    width:100%;
}

body.rbs-ui.rbs-page-booking-add-reservation .step-reopen-btn{
    position:absolute;
    right:14px;
    bottom:14px;
    width:36px;
    height:36px;
    border-radius:999px;
    border:1px solid #cbd5e1;
    background:#fff;
    color:var(--text);
    font-size:16px;
    line-height:1;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(15,23,42,.08);
    transition:transform .18s ease, box-shadow .18s ease;
}

body.rbs-ui.rbs-page-booking-add-reservation .step-reopen-btn:hover{
    transform:translateY(-1px);
    box-shadow:0 12px 22px rgba(15,23,42,.12);
}

body.rbs-ui.rbs-page-booking-add-reservation .stay-step-builder-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:14px;
}

body.rbs-ui.rbs-page-booking-add-reservation .room-choice-stack{
    display:flex;
    flex-direction:column;
    gap:14px;
}

body.rbs-ui.rbs-page-booking-add-reservation .room-choice-subfield{
    display:flex;
    flex-direction:column;
    gap:8px;
}

body.rbs-ui.rbs-page-booking-add-reservation .stay-step-meta-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
    margin-top:14px;
}

body.rbs-ui.rbs-page-booking-add-reservation .availability-box{
    grid-column:span 3;
    border:1px solid var(--line);
    border-radius:16px;
    background:#f8fafc;
    padding:16px;
}

body.rbs-ui.rbs-page-booking-add-reservation .availability-box h5{
    margin:0 0 10px;
    font-size:16px;
}

body.rbs-ui.rbs-page-booking-add-reservation .availability-list{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:flex-start;
}

body.rbs-ui.rbs-page-booking-add-reservation .availability-chip{
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:42px;
    padding:10px 12px;
    border-radius:14px;
    background:#fff;
    border:1px solid var(--line);
    font-size:14px;
    font-weight:700;
    width:auto;
    min-width:220px;
    max-width:320px;
    flex:0 1 320px;
}

body.rbs-ui.rbs-page-booking-add-reservation .availability-chip strong{
    color:var(--text);
}

body.rbs-ui.rbs-page-booking-add-reservation .availability-chip.total{
    background:var(--info-bg);
    border-color:var(--info-line);
    color:var(--info-text);
}

body.rbs-ui.rbs-page-booking-add-reservation .availability-empty{
    color:var(--muted);
    font-size:14px;
}

body.rbs-ui.rbs-page-booking-add-reservation .room-pick-action{
    display:flex;
    align-items:flex-end;
    justify-content:flex-end;
}

body.rbs-ui.rbs-page-booking-add-reservation #addRoomRowInlineWrap{
    display:none;
    width:100%;
}

body.rbs-ui.rbs-page-booking-add-reservation #addRoomRowInlineWrap.show{
    display:flex;
}

body.rbs-ui.rbs-page-booking-add-reservation #addRoomRowInlineBtn{
    width:100%;
}
body.rbs-ui.rbs-page-booking-add-reservation .charge-builder{
    margin-top:18px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#f8fafc;
    padding:16px;
}

body.rbs-ui.rbs-page-booking-add-reservation .charge-builder h5{
    margin:0 0 8px;
    font-size:16px;
}

body.rbs-ui.rbs-page-booking-add-reservation .charge-builder p{
    margin:0 0 14px;
    color:var(--muted);
    font-size:14px;
    line-height:1.5;
}

body.rbs-ui.rbs-page-booking-add-reservation .charge-tab-stack{
    display:flex;
    flex-direction:column;
    gap:18px;
}

body.rbs-ui.rbs-page-booking-add-reservation .charge-simple-grid{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) auto;
    gap:14px;
    align-items:end;
}

body.rbs-ui.rbs-page-booking-add-reservation .charge-simple-action{
    display:flex;
    align-items:flex-end;
    justify-content:flex-end;
}

body.rbs-ui.rbs-page-booking-add-reservation .charge-simple-action .btn, body.rbs-ui.rbs-page-booking-add-reservation .charge-custom-actions .btn{
    width:100%;
}

body.rbs-ui.rbs-page-booking-add-reservation .charge-custom-toggle-row{
    display:flex;
    justify-content:flex-start;
    margin-top:14px;
}

body.rbs-ui.rbs-page-booking-add-reservation .charge-custom-panel{
    display:none;
    margin-top:16px;
    padding-top:16px;
    border-top:1px solid var(--line);
}

body.rbs-ui.rbs-page-booking-add-reservation .charge-custom-panel.show{
    display:block;
}

body.rbs-ui.rbs-page-booking-add-reservation .charge-custom-actions{
    display:flex;
    justify-content:flex-end;
    margin-top:14px;
}

body.rbs-ui.rbs-page-booking-add-reservation .charge-item-table{
    margin-top:16px;
    border:1px solid var(--line);
    border-radius:16px;
    overflow:hidden;
    background:#fff;
}

body.rbs-ui.rbs-page-booking-add-reservation .charge-item-table table{
    width:100%;
    border-collapse:collapse;
}

body.rbs-ui.rbs-page-booking-add-reservation .charge-item-table th, body.rbs-ui.rbs-page-booking-add-reservation .charge-item-table td{
    padding:10px 12px;
    border-bottom:1px solid #e5e7eb;
    text-align:left;
    font-size:13px;
    vertical-align:top;
}

body.rbs-ui.rbs-page-booking-add-reservation .charge-item-table th{
    background:#f8fafc;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.04em;
    font-size:12px;
}

body.rbs-ui.rbs-page-booking-add-reservation .charge-item-table tr:last-child td{
    border-bottom:0;
}

body.rbs-ui.rbs-page-booking-add-reservation .charge-item-empty{
    color:var(--muted);
    text-align:center;
    padding:16px;
}

body.rbs-ui.rbs-page-booking-add-reservation .charge-mini-actions{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    margin-top:12px;
}

body.rbs-ui.rbs-page-booking-add-reservation .charge-added-total{
    font-weight:800;
    color:var(--brand-dark);
}

body.rbs-ui.rbs-page-booking-add-reservation .summary-row{
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:8px 0;
    border-bottom:1px solid #e5e7eb;
    font-size:14px;
}

body.rbs-ui.rbs-page-booking-add-reservation .summary-row:last-child{border-bottom:0}
body.rbs-ui.rbs-page-booking-add-reservation .summary-row.total{
    font-weight:800;
    font-size:15px;
}

body.rbs-ui.rbs-page-booking-add-reservation .step-actions, body.rbs-ui.rbs-page-booking-add-reservation .form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}

body.rbs-ui.rbs-page-booking-add-reservation .step-actions{
    justify-content:space-between;
    align-items:center;
    border-top:1px solid var(--line);
    padding-top:18px;
}

body.rbs-ui.rbs-page-booking-add-reservation .step-actions .left, body.rbs-ui.rbs-page-booking-add-reservation .step-actions .right, body.rbs-ui.rbs-page-booking-add-reservation .form-actions .left, body.rbs-ui.rbs-page-booking-add-reservation .form-actions .right{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

body.rbs-ui.rbs-page-booking-add-reservation .save-wrap{display:none}
body.rbs-ui.rbs-page-booking-add-reservation .save-wrap.show{display:flex}

body.rbs-ui.rbs-page-booking-add-reservation .step-help{
    margin-top:14px;
    padding:12px 14px;
    border-radius:12px;
    background:#f8fafc;
    border:1px solid var(--line);
    color:var(--muted);
    font-size:14px;
    line-height:1.5;
}

@media (max-width: 860px){
    body.rbs-ui.rbs-page-booking-add-reservation .stay-step-body{
        padding:0 16px;
    }
    body.rbs-ui.rbs-page-booking-add-reservation .stay-step-card.is-open .stay-step-body{
        padding:16px;
    }
    body.rbs-ui.rbs-page-booking-add-reservation .stay-step-head-grid, body.rbs-ui.rbs-page-booking-add-reservation .stay-step-meta-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width: 1100px){
    body.rbs-ui.rbs-page-booking-add-reservation .form-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
    body.rbs-ui.rbs-page-booking-add-reservation .stay-step-builder-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
    body.rbs-ui.rbs-page-booking-add-reservation .charge-simple-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
    body.rbs-ui.rbs-page-booking-add-reservation .charge-simple-action{grid-column:span 2}
    body.rbs-ui.rbs-page-booking-add-reservation .field.span-3, body.rbs-ui.rbs-page-booking-add-reservation .availability-box{grid-column:span 2}
}

@media (max-width: 700px){
    body.rbs-ui.rbs-page-booking-add-reservation .wrap{padding:20px 16px 32px}
    body.rbs-ui.rbs-page-booking-add-reservation .title h1{font-size:26px}
    body.rbs-ui.rbs-page-booking-add-reservation .hero h2{font-size:24px}
    body.rbs-ui.rbs-page-booking-add-reservation .form-grid, body.rbs-ui.rbs-page-booking-add-reservation .stay-step-builder-grid, body.rbs-ui.rbs-page-booking-add-reservation .stay-step-grid-dates, body.rbs-ui.rbs-page-booking-add-reservation .stay-step-grid-guests, body.rbs-ui.rbs-page-booking-add-reservation .charge-simple-grid{grid-template-columns:1fr}
    body.rbs-ui.rbs-page-booking-add-reservation .charge-simple-action{grid-column:span 1}
    body.rbs-ui.rbs-page-booking-add-reservation .field.span-2, body.rbs-ui.rbs-page-booking-add-reservation .field.span-3, body.rbs-ui.rbs-page-booking-add-reservation .availability-box{grid-column:span 1}
}

/* Migrated from /booking/calendar.php (page-scoped). */
body.rbs-ui.rbs-page-booking-calendar{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#0f2d63;
    --brand-dark:#091a3d;
    --danger:#b91c1c;
    --success:#166534;
    --success-bg:#f0fdf4;
    --success-line:#bbf7d0;
    --warning:#92400e;
    --warning-bg:#fffbeb;
    --warning-line:#fde68a;
    --info-bg:#eff6ff;
    --info-line:#bfdbfe;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --focus:#93c5fd;
}

body.rbs-ui.rbs-page-booking-calendar *{box-sizing:border-box}

body.rbs-ui.rbs-page-booking-calendar{
    margin:0;
    font-family:Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
}

body.rbs-ui.rbs-page-booking-calendar .wrap{
    max-width:1500px;
    margin:0 auto;
    padding:28px 20px 40px;
}

body.rbs-ui.rbs-page-booking-calendar .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-booking-calendar .topbar-left{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    min-width:0;
}

body.rbs-ui.rbs-page-booking-calendar .title h1{
    margin:0 0 6px;
    font-size:32px;
}

body.rbs-ui.rbs-page-booking-calendar .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}

body.rbs-ui.rbs-page-booking-calendar .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-booking-calendar .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}

body.rbs-ui.rbs-page-booking-calendar button.btn{
    font-family:inherit;
}

body.rbs-ui.rbs-page-booking-calendar .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-booking-calendar .btn.secondary{
    background:#fff;
    color:var(--brand-dark);
    border:1px solid #d6c2b0;
}

body.rbs-ui.rbs-page-booking-calendar .btn.warn{
    background:#fff7ed;
    color:#9a3412;
    border-color:#fdba74;
}

body.rbs-ui.rbs-page-booking-calendar .btn.danger{
    background:#fef2f2;
    color:#991b1b;
    border-color:#fecaca;
}

body.rbs-ui.rbs-page-booking-calendar .hero{
    background:linear-gradient(135deg, #1e293b 0%, #334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}

body.rbs-ui.rbs-page-booking-calendar .hero h2{
    margin:0 0 10px;
    font-size:28px;
}

body.rbs-ui.rbs-page-booking-calendar .hero p{
    margin:0;
    max-width:860px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}

body.rbs-ui.rbs-page-booking-calendar .hero-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:18px;
}

body.rbs-ui.rbs-page-booking-calendar .hero-actions .btn{
    border-color:rgba(255,255,255,.18);
    background:rgba(255,255,255,.12);
    color:#fff;
}

body.rbs-ui.rbs-page-booking-calendar .hero-actions .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-booking-calendar .stats{
    display:grid;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    gap:14px;
    margin:24px 0;
}

body.rbs-ui.rbs-page-booking-calendar .stat{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    padding:16px;
}

body.rbs-ui.rbs-page-booking-calendar .stat-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    opacity:.8;
    margin-bottom:6px;
}

body.rbs-ui.rbs-page-booking-calendar .stat-value{
    font-size:22px;
    font-weight:700;
}

body.rbs-ui.rbs-page-booking-calendar .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}

body.rbs-ui.rbs-page-booking-calendar .card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
    margin-bottom:16px;
}

body.rbs-ui.rbs-page-booking-calendar .card h3{
    margin:0;
    font-size:22px;
}

body.rbs-ui.rbs-page-booking-calendar .card-sub{
    margin:6px 0 0;
    color:var(--muted);
    font-size:14px;
    line-height:1.55;
}

body.rbs-ui.rbs-page-booking-calendar .filters-form{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:14px;
    align-items:end;
}

body.rbs-ui.rbs-page-booking-calendar .field{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-bottom:0;
}

body.rbs-ui.rbs-page-booking-calendar .field label{
    font-size:14px;
    font-weight:700;
    color:#334155;
}

body.rbs-ui.rbs-page-booking-calendar .field input, body.rbs-ui.rbs-page-booking-calendar .field select{
    width:100%;
    min-height:46px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    color:var(--text);
    font-size:14px;
    padding:0 12px;
}

body.rbs-ui.rbs-page-booking-calendar .field input:focus, body.rbs-ui.rbs-page-booking-calendar .field select:focus{
    outline:none;
    border-color:var(--focus);
    box-shadow:0 0 0 3px rgba(147,197,253,.20);
}

body.rbs-ui.rbs-page-booking-calendar .nav-row{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:16px;
}

body.rbs-ui.rbs-page-booking-calendar .legend{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

body.rbs-ui.rbs-page-booking-calendar .legend-item{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 10px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#fff;
    font-size:13px;
    font-weight:600;
    color:#475569;
}

body.rbs-ui.rbs-page-booking-calendar .legend-swatch{
    width:12px;
    height:12px;
    border-radius:999px;
    display:inline-block;
}

body.rbs-ui.rbs-page-booking-calendar .swatch-available{ background:#22c55e; }
body.rbs-ui.rbs-page-booking-calendar .swatch-occupied{ background:#3b82f6; }
body.rbs-ui.rbs-page-booking-calendar .swatch-arrival{ background:#eab308; }
body.rbs-ui.rbs-page-booking-calendar .swatch-departure{ background:#8b5cf6; }
body.rbs-ui.rbs-page-booking-calendar .swatch-ooo{ background:#ef4444; }

body.rbs-ui.rbs-page-booking-calendar .calendar-wrap{
    width:100%;
    overflow:auto;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
}

body.rbs-ui.rbs-page-booking-calendar table{
    width:100%;
    min-width:980px;
    border-collapse:separate;
    border-spacing:0;
}

body.rbs-ui.rbs-page-booking-calendar thead th{
    position:sticky;
    top:0;
    z-index:1;
    background:#f8fafc;
    color:var(--muted);
    font-size:13px;
    text-align:left;
    padding:14px 16px;
    border-bottom:1px solid var(--line);
    white-space:nowrap;
}

body.rbs-ui.rbs-page-booking-calendar tbody td{
    padding:14px 16px;
    border-bottom:1px solid var(--line);
    vertical-align:middle;
    font-size:14px;
    background:#fff;
}

body.rbs-ui.rbs-page-booking-calendar tbody tr:hover td{
    background:#fbfdff;
}

body.rbs-ui.rbs-page-booking-calendar tbody tr:last-child td{
    border-bottom:none;
}

body.rbs-ui.rbs-page-booking-calendar .room-col{
    min-width:120px;
    font-weight:700;
    color:var(--text);
    position:sticky;
    left:0;
    z-index:1;
    background:#fff;
}

body.rbs-ui.rbs-page-booking-calendar tbody tr:hover .room-col{
    background:#fbfdff;
}

body.rbs-ui.rbs-page-booking-calendar .type-col{
    min-width:180px;
    color:var(--muted);
    position:sticky;
    left:120px;
    z-index:1;
    background:#fff;
}

body.rbs-ui.rbs-page-booking-calendar tbody tr:hover .type-col{
    background:#fbfdff;
}

body.rbs-ui.rbs-page-booking-calendar .day-cell{
    min-width:130px;
}

body.rbs-ui.rbs-page-booking-calendar .cell-button{
    display:block;
    width:100%;
    border:none;
    padding:0;
    background:transparent;
    cursor:pointer;
}

body.rbs-ui.rbs-page-booking-calendar .cell-button[disabled]{
    cursor:default;
}

body.rbs-ui.rbs-page-booking-calendar .cell-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:40px;
    padding:8px 10px;
    border-radius:12px;
    font-size:12px;
    font-weight:700;
    text-align:center;
    border:1px solid transparent;
}

body.rbs-ui.rbs-page-booking-calendar .cell-available{
    background:var(--success-bg);
    color:var(--success);
    border-color:var(--success-line);
}

body.rbs-ui.rbs-page-booking-calendar .cell-occupied{
    background:var(--info-bg);
    color:#1d4ed8;
    border-color:var(--info-line);
}

body.rbs-ui.rbs-page-booking-calendar .cell-arrival{
    background:var(--warning-bg);
    color:var(--warning);
    border-color:var(--warning-line);
}

body.rbs-ui.rbs-page-booking-calendar .cell-departure{
    background:#f5f3ff;
    color:#6d28d9;
    border-color:#ddd6fe;
}

body.rbs-ui.rbs-page-booking-calendar .cell-ooo{
    background:#fef2f2;
    color:var(--danger);
    border-color:#fecaca;
}

body.rbs-ui.rbs-page-booking-calendar .flash{
    margin-bottom:20px;
    padding:14px 16px;
    border-radius:14px;
    border:1px solid var(--line);
    font-weight:700;
}

body.rbs-ui.rbs-page-booking-calendar .flash.success{
    background:#f0fdf4;
    color:#166534;
    border-color:#bbf7d0;
}

body.rbs-ui.rbs-page-booking-calendar .flash.error{
    background:#fef2f2;
    color:#991b1b;
    border-color:#fecaca;
}

body.rbs-ui.rbs-page-booking-calendar .empty-state{
    padding:28px 20px;
    color:var(--muted);
}

body.rbs-ui.rbs-page-booking-calendar .modal-backdrop{
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.55);
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
    z-index:9999;
}

body.rbs-ui.rbs-page-booking-calendar .modal-backdrop.open{
    display:flex;
}

body.rbs-ui.rbs-page-booking-calendar .modal{
    width:min(980px, 100%);
    max-height:90vh;
    overflow:auto;
    background:#fff;
    border-radius:22px;
    box-shadow:0 24px 60px rgba(15,23,42,.25);
    border:1px solid var(--line);
}

body.rbs-ui.rbs-page-booking-calendar .modal-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    padding:20px 20px 16px;
    border-bottom:1px solid var(--line);
}

body.rbs-ui.rbs-page-booking-calendar .modal-title{
    margin:0;
    font-size:24px;
}

body.rbs-ui.rbs-page-booking-calendar .modal-sub{
    margin:6px 0 0;
    color:var(--muted);
    font-size:14px;
}

body.rbs-ui.rbs-page-booking-calendar .modal-close{
    min-width:44px;
    min-height:44px;
    border-radius:12px;
    border:1px solid var(--line);
    background:#fff;
    font-size:22px;
    line-height:1;
    cursor:pointer;
}

body.rbs-ui.rbs-page-booking-calendar .modal-body{
    padding:20px;
}

body.rbs-ui.rbs-page-booking-calendar .detail-list{
    display:grid;
    gap:16px;
}

body.rbs-ui.rbs-page-booking-calendar .detail-card{
    border:1px solid var(--line);
    border-radius:18px;
    padding:16px;
    background:#fff;
}

body.rbs-ui.rbs-page-booking-calendar .detail-card.block-card{
    background:#fff7ed;
    border-color:#fed7aa;
}

body.rbs-ui.rbs-page-booking-calendar .detail-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:12px;
}

body.rbs-ui.rbs-page-booking-calendar .detail-title{
    margin:0;
    font-size:18px;
}

body.rbs-ui.rbs-page-booking-calendar .badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:32px;
    padding:0 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    border:1px solid var(--line);
    background:#f8fafc;
    color:#334155;
}

body.rbs-ui.rbs-page-booking-calendar .badge.occupied{ background:#eff6ff; color:#1d4ed8; border-color:#bfdbfe; }
body.rbs-ui.rbs-page-booking-calendar .badge.arrival{ background:#fffbeb; color:#92400e; border-color:#fde68a; }
body.rbs-ui.rbs-page-booking-calendar .badge.departure{ background:#f5f3ff; color:#6d28d9; border-color:#ddd6fe; }
body.rbs-ui.rbs-page-booking-calendar .badge.checkedin{ background:#ecfdf5; color:#166534; border-color:#bbf7d0; }
body.rbs-ui.rbs-page-booking-calendar .badge.cancelled{ background:#fef2f2; color:#991b1b; border-color:#fecaca; }

body.rbs-ui.rbs-page-booking-calendar .detail-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px;
    margin-bottom:14px;
}

body.rbs-ui.rbs-page-booking-calendar .detail-item{
    background:#f8fafc;
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px 12px;
}

body.rbs-ui.rbs-page-booking-calendar .detail-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--muted);
    margin-bottom:4px;
}

body.rbs-ui.rbs-page-booking-calendar .detail-value{
    font-weight:700;
    color:var(--text);
    word-break:break-word;
}

body.rbs-ui.rbs-page-booking-calendar .action-row{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:flex-end;
}

body.rbs-ui.rbs-page-booking-calendar .inline-form{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:flex-end;
}

body.rbs-ui.rbs-page-booking-calendar .inline-form .field{
    min-width:240px;
}

body.rbs-ui.rbs-page-booking-calendar .action-note{
    color:var(--muted);
    font-size:13px;
    margin-top:10px;
}

@media (max-width: 1200px){
    body.rbs-ui.rbs-page-booking-calendar .stats{
        grid-template-columns:repeat(3, minmax(0, 1fr));
    }

    body.rbs-ui.rbs-page-booking-calendar .filters-form{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    body.rbs-ui.rbs-page-booking-calendar .type-col{
        left:120px;
    }
}

@media (max-width: 700px){
    body.rbs-ui.rbs-page-booking-calendar .wrap{
        padding:20px 16px 32px;
    }

    body.rbs-ui.rbs-page-booking-calendar .title h1{
        font-size:26px;
    }

    body.rbs-ui.rbs-page-booking-calendar .hero h2{
        font-size:24px;
    }

    body.rbs-ui.rbs-page-booking-calendar .stats, body.rbs-ui.rbs-page-booking-calendar .filters-form, body.rbs-ui.rbs-page-booking-calendar .detail-grid{
        grid-template-columns:1fr;
    }

    body.rbs-ui.rbs-page-booking-calendar .stat-value{
        font-size:20px;
    }

    body.rbs-ui.rbs-page-booking-calendar .room-col, body.rbs-ui.rbs-page-booking-calendar .type-col{
        position:static;
    }

    body.rbs-ui.rbs-page-booking-calendar .modal{
        max-height:95vh;
    }
}

/* Migrated from /booking/check_in_out.php (page-scoped). */
body.rbs-ui.rbs-page-booking-check-in-out{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --danger:#b91c1c;
    --success:#166534;
    --success-bg:#f0fdf4;
    --success-line:#bbf7d0;
    --warning:#92400e;
    --warning-bg:#fffbeb;
    --warning-line:#fde68a;
    --info-bg:#eff6ff;
    --info-line:#bfdbfe;
    --shadow:0 12px 30px rgba(15,23,42,.08);
}
body.rbs-ui.rbs-page-booking-check-in-out *{box-sizing:border-box}
body.rbs-ui.rbs-page-booking-check-in-out{
    margin:0;
    font-family:Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-booking-check-in-out .wrap{
    max-width:1400px;
    margin:0 auto;
    padding:28px 20px 40px;
}
body.rbs-ui.rbs-page-booking-check-in-out .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-booking-check-in-out .topbar-left{
    display: flex;
    align-items: center;
    gap: 16px;
}
body.rbs-ui.rbs-page-booking-check-in-out .title h1{
    margin:0 0 6px;
    font-size:32px;
}
body.rbs-ui.rbs-page-booking-check-in-out .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}
body.rbs-ui.rbs-page-booking-check-in-out .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-booking-check-in-out .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}
body.rbs-ui.rbs-page-booking-check-in-out .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-booking-check-in-out .btn.secondary{
    background:#fff;
    color:var(--brand-dark);
    border:1px solid #d6c2b0;
}
body.rbs-ui.rbs-page-booking-check-in-out .action-buttons{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-booking-check-in-out .hero{
    background:linear-gradient(135deg, #1e293b 0%, #334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}
body.rbs-ui.rbs-page-booking-check-in-out .hero h2{
    margin:0 0 10px;
    font-size:28px;
}
body.rbs-ui.rbs-page-booking-check-in-out .hero p{
    margin:0;
    max-width:860px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}
body.rbs-ui.rbs-page-booking-check-in-out .hero-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:18px;
}
body.rbs-ui.rbs-page-booking-check-in-out .hero-actions .btn{
    border-color:rgba(255,255,255,.18);
    background:rgba(255,255,255,.12);
    color:#fff;
}
body.rbs-ui.rbs-page-booking-check-in-out .hero-actions .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-booking-check-in-out .stats{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:14px;
    margin:24px 0;
}
body.rbs-ui.rbs-page-booking-check-in-out .stat{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    padding:16px;
}
body.rbs-ui.rbs-page-booking-check-in-out .stat-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    opacity:.8;
    margin-bottom:6px;
}
body.rbs-ui.rbs-page-booking-check-in-out .stat-value{
    font-size:22px;
    font-weight:700;
}
body.rbs-ui.rbs-page-booking-check-in-out .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}
body.rbs-ui.rbs-page-booking-check-in-out .card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
    margin-bottom:16px;
}
body.rbs-ui.rbs-page-booking-check-in-out .card h3{
    margin:0;
    font-size:22px;
}
body.rbs-ui.rbs-page-booking-check-in-out .card-sub{
    margin:6px 0 0;
    color:var(--muted);
    font-size:14px;
    line-height:1.55;
}
body.rbs-ui.rbs-page-booking-check-in-out .table-wrap{
    width:100%;
    overflow:auto;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
}
body.rbs-ui.rbs-page-booking-check-in-out table{
    width:100%;
    min-width:900px;
    border-collapse:separate;
    border-spacing:0;
}
body.rbs-ui.rbs-page-booking-check-in-out thead th{
    text-align:left;
    font-size:13px;
    color:var(--muted);
    background:#f8fafc;
    border-bottom:1px solid var(--line);
    padding:14px 16px;
    white-space:nowrap;
}
body.rbs-ui.rbs-page-booking-check-in-out tbody td{
    border-bottom:1px solid var(--line);
    padding:16px;
    vertical-align:middle;
    font-size:14px;
    background:#fff;
}
body.rbs-ui.rbs-page-booking-check-in-out tbody tr:hover td{
    background:#fbfdff;
}
body.rbs-ui.rbs-page-booking-check-in-out tbody tr:last-child td{
    border-bottom:none;
}
body.rbs-ui.rbs-page-booking-check-in-out .status-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:96px;
    padding:7px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    border:1px solid transparent;
}
body.rbs-ui.rbs-page-booking-check-in-out .status-blue{
    background:var(--info-bg);
    color:#1d4ed8;
    border-color:var(--info-line);
}
body.rbs-ui.rbs-page-booking-check-in-out .status-green{
    background:var(--success-bg);
    color:var(--success);
    border-color:var(--success-line);
}
body.rbs-ui.rbs-page-booking-check-in-out .status-red{
    background:#fef2f2;
    color:var(--danger);
    border-color:#fecaca;
}
body.rbs-ui.rbs-page-booking-check-in-out .status-yellow{
    background:var(--warning-bg);
    color:var(--warning);
    border-color:var(--warning-line);
}
body.rbs-ui.rbs-page-booking-check-in-out .status-gray{
    background:#f3f4f6;
    color:#4b5563;
    border-color:#d1d5db;
}
body.rbs-ui.rbs-page-booking-check-in-out .empty-row td{
    color:var(--muted);
}
@media (max-width: 1100px){
    body.rbs-ui.rbs-page-booking-check-in-out .stats{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 700px){
    body.rbs-ui.rbs-page-booking-check-in-out .wrap{
        padding:20px 16px 32px;
    }
    body.rbs-ui.rbs-page-booking-check-in-out .title h1{
        font-size:26px;
    }
    body.rbs-ui.rbs-page-booking-check-in-out .hero h2{
        font-size:24px;
    }
    body.rbs-ui.rbs-page-booking-check-in-out .stats{
        grid-template-columns:1fr;
    }
    body.rbs-ui.rbs-page-booking-check-in-out .stat-value{
        font-size:20px;
    }
}

/* Migrated from /booking/edit_guest.php (page-scoped). */
body.rbs-ui.rbs-page-booking-edit-guest{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#0f2d63;
    --brand-dark:#091a3d;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --ok-bg:#ecfdf5;
    --ok-line:#bbf7d0;
    --ok-text:#166534;
    --bad-bg:#fef2f2;
    --bad-line:#fecaca;
    --bad-text:#991b1b;
}
body.rbs-ui.rbs-page-booking-edit-guest *{box-sizing:border-box}
body.rbs-ui.rbs-page-booking-edit-guest{
    margin:0;
    font-family:Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-booking-edit-guest a{color:inherit;text-decoration:none}
body.rbs-ui.rbs-page-booking-edit-guest .page{
    max-width:1100px;
    margin:0 auto;
    padding:24px;
}
body.rbs-ui.rbs-page-booking-edit-guest .crumbs{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    color:var(--muted);
    font-size:13px;
    margin-bottom:10px;
}
body.rbs-ui.rbs-page-booking-edit-guest .crumbs a:hover{color:var(--brand)}
body.rbs-ui.rbs-page-booking-edit-guest .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:20px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-booking-edit-guest .topbar-left{
    display: flex;
    align-items: center;
    gap: 16px;
}
body.rbs-ui.rbs-page-booking-edit-guest .title{
    margin:0;
    font-size:32px;
    line-height:1.1;
    font-weight:800;
}
body.rbs-ui.rbs-page-booking-edit-guest .subtext{
    margin:8px 0 0;
    color:var(--muted);
    font-size:14px;
}
body.rbs-ui.rbs-page-booking-edit-guest .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-booking-edit-guest .btn{
    appearance:none;
    border:none;
    border-radius:12px;
    padding:12px 16px;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    transition:.15s ease;
}
body.rbs-ui.rbs-page-booking-edit-guest .btn-primary{
    background:var(--brand);
    color:#fff;
}
body.rbs-ui.rbs-page-booking-edit-guest .btn-primary:hover{background:var(--brand-dark)}
body.rbs-ui.rbs-page-booking-edit-guest .btn-secondary{
    background:#fff;
    color:var(--text);
    border:1px solid var(--line);
}
body.rbs-ui.rbs-page-booking-edit-guest .btn-secondary:hover{background:#f8fafc}
body.rbs-ui.rbs-page-booking-edit-guest .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:22px;
    box-shadow:var(--shadow);
    overflow:hidden;
}
body.rbs-ui.rbs-page-booking-edit-guest .card-head{
    padding:18px 20px;
    border-bottom:1px solid var(--line);
}
body.rbs-ui.rbs-page-booking-edit-guest .card-title{
    margin:0;
    font-size:18px;
    font-weight:800;
}
body.rbs-ui.rbs-page-booking-edit-guest .card-body{
    padding:20px;
}
body.rbs-ui.rbs-page-booking-edit-guest .alert{
    border-radius:14px;
    padding:14px 16px;
    margin-bottom:16px;
    font-size:14px;
    font-weight:700;
}
body.rbs-ui.rbs-page-booking-edit-guest .alert-error{
    background:var(--bad-bg);
    color:var(--bad-text);
    border:1px solid var(--bad-line);
}
body.rbs-ui.rbs-page-booking-edit-guest .form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
body.rbs-ui.rbs-page-booking-edit-guest .field{
    display:flex;
    flex-direction:column;
    gap:8px;
}
body.rbs-ui.rbs-page-booking-edit-guest .field.full{
    grid-column:1 / -1;
}
body.rbs-ui.rbs-page-booking-edit-guest label{
    font-size:13px;
    font-weight:700;
    color:var(--text);
}
body.rbs-ui.rbs-page-booking-edit-guest input, body.rbs-ui.rbs-page-booking-edit-guest select, body.rbs-ui.rbs-page-booking-edit-guest textarea{
    width:100%;
    border:1px solid var(--line);
    border-radius:12px;
    padding:12px 14px;
    font-size:14px;
    font-family:Arial,sans-serif;
    color:var(--text);
    background:#fff;
}
body.rbs-ui.rbs-page-booking-edit-guest textarea{
    min-height:120px;
    resize:vertical;
}
body.rbs-ui.rbs-page-booking-edit-guest input:focus, body.rbs-ui.rbs-page-booking-edit-guest select:focus, body.rbs-ui.rbs-page-booking-edit-guest textarea:focus{
    outline:none;
    border-color:var(--brand);
    box-shadow:0 0 0 3px rgba(139,94,60,.12);
}
body.rbs-ui.rbs-page-booking-edit-guest .form-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:20px;
}
@media (max-width: 760px){
    body.rbs-ui.rbs-page-booking-edit-guest .page{padding:16px}
    body.rbs-ui.rbs-page-booking-edit-guest .topbar{
        flex-direction:column;
        align-items:stretch;
    }
    body.rbs-ui.rbs-page-booking-edit-guest .actions{width:100%}
    body.rbs-ui.rbs-page-booking-edit-guest .actions .btn{flex:1}
    body.rbs-ui.rbs-page-booking-edit-guest .form-grid{
        grid-template-columns:1fr;
    }
}

/* Migrated from /booking/edit_reservation_popup.php (page-scoped). */
body.rbs-ui.rbs-page-booking-edit-reservation-popup{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#0f2d63;
    --brand-dark:#091a3d;
    --danger:#b91c1c;
    --success:#166534;
    --success-bg:#f0fdf4;
    --success-line:#bbf7d0;
    --error-bg:#fef2f2;
    --error-line:#fecaca;
    --shadow:0 12px 30px rgba(15,23,42,.08);
}
body.rbs-ui.rbs-page-booking-edit-reservation-popup *{box-sizing:border-box}
body.rbs-ui.rbs-page-booking-edit-reservation-popup{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--text)}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .wrap{max-width:1400px;margin:0 auto;padding:28px 20px 40px}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .topbar-left{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-width:0}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .title h1{margin:0 0 6px;font-size:32px}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .title p{margin:0;color:var(--muted);font-size:15px}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .actions{display:flex;gap:10px;flex-wrap:wrap}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:12px;text-decoration:none;font-weight:700;border:1px solid var(--line);background:#fff;color:var(--text);cursor:pointer}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .btn.primary{background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);color:#fff;border:none}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .btn.secondary{background:#fff;color:var(--brand-dark);border:1px solid #d6c2b0}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .hero{background:linear-gradient(135deg,#1e293b 0%,#334155 100%);color:#fff;border-radius:24px;padding:28px;box-shadow:var(--shadow);margin-bottom:24px}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .hero h2{margin:0 0 10px;font-size:28px}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .hero p{margin:0;max-width:820px;line-height:1.6;color:rgba(255,255,255,.88)}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .hero-actions .btn{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.12);color:#fff}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .hero-actions .btn.primary{background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);color:#fff;border:none}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .flash{padding:14px 16px;border-radius:14px;margin-bottom:18px;border:1px solid transparent;line-height:1.55}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .flash.success{background:var(--success-bg);border-color:var(--success-line);color:var(--success)}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .flash.error{background:var(--error-bg);border-color:var(--error-line);color:var(--danger)}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow)}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .card h3{margin:0 0 16px;font-size:22px}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .card-sub{margin:-6px 0 18px;color:var(--muted);font-size:14px;line-height:1.55}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .helper-card{max-width:860px;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:var(--shadow)}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .helper-card h3{margin:0 0 10px;font-size:24px}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .helper-card p{margin:0 0 18px;color:var(--muted);line-height:1.55}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .popup-top-actions{display:flex;justify-content:flex-start;align-items:center;gap:10px;margin-bottom:16px}

body.rbs-ui.rbs-page-booking-edit-reservation-popup .modal-backdrop{display:none !important}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .modal{position:static !important;inset:auto !important;display:block !important;padding:0 !important;z-index:auto !important}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .modal[hidden]{display:block !important}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .modal-dialog{width:100% !important;max-height:none !important;overflow:visible !important;background:transparent !important;border:none !important;box-shadow:none !important;border-radius:0 !important}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .modal-head{background:transparent !important;border-bottom:1px solid var(--line) !important;padding:0 0 16px 0 !important;margin-bottom:18px !important}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .modal-head h3{font-size:26px !important;color:var(--text) !important}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .modal-sub{color:var(--muted) !important}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .modal-close{display:none !important}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .modal-body{padding:0 !important;overflow:visible !important}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .modal-section{border:1px solid var(--line) !important;border-radius:18px !important;padding:18px !important;margin-bottom:16px !important;background:#fff !important;box-shadow:0 8px 20px rgba(15,23,42,.04) !important}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .modal-section h4{margin:0 0 6px !important;font-size:18px !important}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .modal-section p{margin:0 0 16px !important;font-size:14px !important;color:var(--muted) !important}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .form-grid{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:14px !important}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .field{display:flex !important;flex-direction:column !important;gap:8px !important}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .field span-2{grid-column:span 2}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .field span-3{grid-column:span 3}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .field label{font-size:14px !important;font-weight:700 !important;color:#334155 !important}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .field input, body.rbs-ui.rbs-page-booking-edit-reservation-popup .field select, body.rbs-ui.rbs-page-booking-edit-reservation-popup .field textarea{width:100% !important;border:1px solid var(--line) !important;border-radius:12px !important;background:#fff !important;color:var(--text) !important;font-size:14px !important}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .field input, body.rbs-ui.rbs-page-booking-edit-reservation-popup .field select{min-height:46px !important;padding:0 12px !important}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .field textarea{min-height:110px !important;padding:12px !important;resize:vertical !important}
body.rbs-ui.rbs-page-booking-edit-reservation-popup .form-actions{display:flex !important;flex-wrap:wrap !important;gap:10px !important;margin-top:18px !important}

@media (max-width:1100px){
    body.rbs-ui.rbs-page-booking-edit-reservation-popup .form-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media (max-width:700px){
    body.rbs-ui.rbs-page-booking-edit-reservation-popup .wrap{padding:20px 16px 32px}
    body.rbs-ui.rbs-page-booking-edit-reservation-popup .title h1{font-size:26px}
    body.rbs-ui.rbs-page-booking-edit-reservation-popup .hero h2{font-size:24px}
    body.rbs-ui.rbs-page-booking-edit-reservation-popup .form-grid{grid-template-columns:1fr !important}
}

/* Migrated from /booking/guest_directory.php (page-scoped). */
body.rbs-ui.rbs-page-booking-guest-directory{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --danger:#b91c1c;
    --success:#166534;
    --success-bg:#f0fdf4;
    --success-line:#bbf7d0;
    --warning:#92400e;
    --warning-bg:#fffbeb;
    --warning-line:#fde68a;
    --info-bg:#eff6ff;
    --info-line:#bfdbfe;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --focus:#93c5fd;
}
body.rbs-ui.rbs-page-booking-guest-directory *{box-sizing:border-box}
body.rbs-ui.rbs-page-booking-guest-directory{
    margin:0;
    font-family:Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-booking-guest-directory .wrap{
    max-width:1400px;
    margin:0 auto;
    padding:28px 20px 40px;
}
body.rbs-ui.rbs-page-booking-guest-directory .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-booking-guest-directory .topbar-left{
    display: flex;
    align-items: center;
    gap: 16px;
}
body.rbs-ui.rbs-page-booking-guest-directory .title h1{
    margin:0 0 6px;
    font-size:32px;
}
body.rbs-ui.rbs-page-booking-guest-directory .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}
body.rbs-ui.rbs-page-booking-guest-directory .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-booking-guest-directory .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:46px;
    padding:0 16px;
    border-radius:14px;
    text-decoration:none;
    font-weight:800;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
    transition:transform .18s ease, box-shadow .18s ease, filter .18s ease, border-color .18s ease;
    box-shadow:0 8px 18px rgba(15,23,42,.08);
}
body.rbs-ui.rbs-page-booking-guest-directory .btn:hover{
    transform:translateY(-1px);
    box-shadow:0 12px 24px rgba(15,23,42,.14);
}
body.rbs-ui.rbs-page-booking-guest-directory .btn:active{
    transform:translateY(0);
}
body.rbs-ui.rbs-page-booking-guest-directory .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
    box-shadow:0 12px 24px rgba(111,71,43,.22);
}
body.rbs-ui.rbs-page-booking-guest-directory .btn.secondary{
    background:#fff;
    color:var(--brand-dark);
    border:1px solid #d6c2b0;
}
body.rbs-ui.rbs-page-booking-guest-directory .actions .btn[href="/booking/index.php"], body.rbs-ui.rbs-page-booking-guest-directory .hero-actions .btn[href="/booking/index.php"]{
    background:linear-gradient(180deg,#60a5fa 0%,#2563eb 100%);
    color:#fff;
    border:none;
    box-shadow:0 12px 24px rgba(37,99,235,.22);
}
body.rbs-ui.rbs-page-booking-guest-directory .actions .btn[href="/dashboard.php"], body.rbs-ui.rbs-page-booking-guest-directory .hero-actions .btn[href="/dashboard.php"]{
    background:linear-gradient(180deg,#a78bfa 0%,#7c3aed 100%);
    color:#fff;
    border:none;
    box-shadow:0 12px 24px rgba(124,58,237,.22);
}
body.rbs-ui.rbs-page-booking-guest-directory .hero-actions .btn[href="/booking/reservations.php"]{
    background:linear-gradient(180deg,#14b8a6 0%,#0f766e 100%);
    color:#fff;
    border:none;
    box-shadow:0 12px 24px rgba(15,118,110,.22);
}
body.rbs-ui.rbs-page-booking-guest-directory .hero-actions .btn.primary, body.rbs-ui.rbs-page-booking-guest-directory .actions .btn.primary{
    background:linear-gradient(180deg,#22c55e 0%,#15803d 100%);
    color:#fff;
    border:none;
    box-shadow:0 12px 24px rgba(21,128,61,.24);
}
body.rbs-ui.rbs-page-booking-guest-directory .filters-form .btn.primary{
    background:linear-gradient(180deg,#f97316 0%,#db2777 100%);
    color:#fff;
    border:none;
    box-shadow:0 12px 24px rgba(219,39,119,.22);
}
body.rbs-ui.rbs-page-booking-guest-directory .table-wrap .btn.secondary{
    background:linear-gradient(180deg,#eff6ff 0%,#dbeafe 100%);
    color:#1d4ed8;
    border:1px solid #93c5fd;
    box-shadow:0 10px 20px rgba(37,99,235,.14);
}
body.rbs-ui.rbs-page-booking-guest-directory .btn .btn-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
    border-radius:999px;
    background:rgba(255,255,255,.18);
    flex:0 0 auto;
    font-size:13px;
    line-height:1;
}
body.rbs-ui.rbs-page-booking-guest-directory .btn.secondary .btn-icon{
    background:#eef2ff;
    color:#4f46e5;
}
body.rbs-ui.rbs-page-booking-guest-directory .hero{
    background:linear-gradient(135deg, #1e293b 0%, #334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}
body.rbs-ui.rbs-page-booking-guest-directory .hero h2{
    margin:0 0 10px;
    font-size:28px;
}
body.rbs-ui.rbs-page-booking-guest-directory .hero p{
    margin:0;
    max-width:860px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}
body.rbs-ui.rbs-page-booking-guest-directory .hero-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:18px;
}
body.rbs-ui.rbs-page-booking-guest-directory .hero-actions .btn{
    border-color:rgba(255,255,255,.18);
    background:rgba(255,255,255,.12);
    color:#fff;
}
body.rbs-ui.rbs-page-booking-guest-directory .hero-actions .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-booking-guest-directory .stats{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:14px;
    margin:24px 0;
}
body.rbs-ui.rbs-page-booking-guest-directory .stat{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    padding:16px;
}
body.rbs-ui.rbs-page-booking-guest-directory .stat-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    opacity:.8;
    margin-bottom:6px;
}
body.rbs-ui.rbs-page-booking-guest-directory .stat-value{
    font-size:22px;
    font-weight:700;
}
body.rbs-ui.rbs-page-booking-guest-directory .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}
body.rbs-ui.rbs-page-booking-guest-directory .card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
    margin-bottom:16px;
}
body.rbs-ui.rbs-page-booking-guest-directory .card h3{
    margin:0;
    font-size:22px;
}
body.rbs-ui.rbs-page-booking-guest-directory .card-sub{
    margin:6px 0 0;
    color:var(--muted);
    font-size:14px;
    line-height:1.55;
}
body.rbs-ui.rbs-page-booking-guest-directory .filters-form{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:14px;
    align-items:end;
}
body.rbs-ui.rbs-page-booking-guest-directory .field{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-bottom:0;
}
body.rbs-ui.rbs-page-booking-guest-directory .field label{
    font-size:14px;
    font-weight:700;
    color:#334155;
}
body.rbs-ui.rbs-page-booking-guest-directory .field input{
    width:100%;
    min-height:46px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    color:#0f172a;
    font-size:14px;
    padding:0 12px;
}
body.rbs-ui.rbs-page-booking-guest-directory .field input:focus{
    outline:none;
    border-color:var(--focus);
    box-shadow:0 0 0 3px rgba(147,197,253,.20);
}
body.rbs-ui.rbs-page-booking-guest-directory .table-wrap{
    width:100%;
    overflow:auto;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
}
body.rbs-ui.rbs-page-booking-guest-directory table{
    width:100%;
    min-width:1000px;
    border-collapse:separate;
    border-spacing:0;
}
body.rbs-ui.rbs-page-booking-guest-directory thead th{
    text-align:left;
    font-size:13px;
    color:var(--muted);
    background:#f8fafc;
    border-bottom:1px solid var(--line);
    padding:14px 16px;
    white-space:nowrap;
}
body.rbs-ui.rbs-page-booking-guest-directory tbody td{
    border-bottom:1px solid var(--line);
    padding:16px;
    vertical-align:middle;
    font-size:14px;
    background:#fff;
}
body.rbs-ui.rbs-page-booking-guest-directory tbody tr:hover td{
    background:#fbfdff;
}
body.rbs-ui.rbs-page-booking-guest-directory tbody tr:last-child td{
    border-bottom:none;
}
body.rbs-ui.rbs-page-booking-guest-directory .status-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:96px;
    padding:7px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    border:1px solid transparent;
}
body.rbs-ui.rbs-page-booking-guest-directory .status-green{
    background:var(--success-bg);
    color:var(--success);
    border-color:var(--success-line);
}
body.rbs-ui.rbs-page-booking-guest-directory .status-blue{
    background:var(--info-bg);
    color:#1d4ed8;
    border-color:var(--info-line);
}
body.rbs-ui.rbs-page-booking-guest-directory .status-yellow{
    background:var(--warning-bg);
    color:var(--warning);
    border-color:var(--warning-line);
}
body.rbs-ui.rbs-page-booking-guest-directory .status-red{
    background:#fef2f2;
    color:var(--danger);
    border-color:#fecaca;
}
body.rbs-ui.rbs-page-booking-guest-directory .empty-row td{
    color:var(--muted);
}
@media (max-width: 1100px){
    body.rbs-ui.rbs-page-booking-guest-directory .stats{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
    body.rbs-ui.rbs-page-booking-guest-directory .filters-form{
        grid-template-columns:1fr;
    }
}
@media (max-width: 700px){
    body.rbs-ui.rbs-page-booking-guest-directory .wrap{
        padding:20px 16px 32px;
    }
    body.rbs-ui.rbs-page-booking-guest-directory .title h1{
        font-size:26px;
    }
    body.rbs-ui.rbs-page-booking-guest-directory .hero h2{
        font-size:24px;
    }
    body.rbs-ui.rbs-page-booking-guest-directory .stats{
        grid-template-columns:1fr;
    }
    body.rbs-ui.rbs-page-booking-guest-directory .stat-value{
        font-size:20px;
    }
}

/* Migrated from /booking/index.php (page-scoped). */
body.rbs-ui.rbs-page-booking-index{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#0f2d63;
    --brand-dark:#091a3d;
    --shadow:0 12px 30px rgba(15,23,42,.08);
}
body.rbs-ui.rbs-page-booking-index *{box-sizing:border-box}
body.rbs-ui.rbs-page-booking-index{
    margin:0;
    font-family:Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-booking-index .wrap{
    max-width:1400px;
    margin:0 auto;
    padding:28px 20px 40px;
}
body.rbs-ui.rbs-page-booking-index .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-booking-index .title h1{
    margin:0 0 6px;
    font-size:32px;
}
body.rbs-ui.rbs-page-booking-index .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}
body.rbs-ui.rbs-page-booking-index .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-booking-index .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}
body.rbs-ui.rbs-page-booking-index .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-booking-index .hero{
    background:linear-gradient(135deg, #1e293b 0%, #334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}
body.rbs-ui.rbs-page-booking-index .hero-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:18px;
}
body.rbs-ui.rbs-page-booking-index .hero h2{
    margin:0 0 10px;
    font-size:28px;
}
body.rbs-ui.rbs-page-booking-index .hero p{
    margin:0;
    max-width:760px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}
body.rbs-ui.rbs-page-booking-index .hero-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:18px;
}
body.rbs-ui.rbs-page-booking-index .hero-actions .btn{
    border-color:rgba(255,255,255,.18);
    background:rgba(255,255,255,.12);
    color:#fff;
}
body.rbs-ui.rbs-page-booking-index .hero-actions .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-booking-index .stats{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:14px;
    margin:24px 0;
}
body.rbs-ui.rbs-page-booking-index .stat{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    padding:16px;
}
body.rbs-ui.rbs-page-booking-index .stat-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    opacity:.8;
    margin-bottom:6px;
}
body.rbs-ui.rbs-page-booking-index .stat-value{
    font-size:22px;
    font-weight:700;
}
body.rbs-ui.rbs-page-booking-index .section-title{
    margin:0 0 8px;
    font-size:22px;
}
body.rbs-ui.rbs-page-booking-index .section-subtitle{
    margin:0 0 20px;
    color:var(--muted);
    line-height:1.55;
}
body.rbs-ui.rbs-page-booking-index .card-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:18px;
    margin-bottom:28px;
}
body.rbs-ui.rbs-page-booking-index .nav-card{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-height:210px;
    text-decoration:none;
    background:var(--card);
    color:var(--text);
    border:1px solid var(--line);
    border-radius:20px;
    box-shadow:var(--shadow);
    padding:20px;
    transition:border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
body.rbs-ui.rbs-page-booking-index .nav-card:hover{
    transform:translateY(-3px);
    border-color:#d6c2b0;
    box-shadow:0 14px 34px rgba(15,23,42,.10);
}
body.rbs-ui.rbs-page-booking-index .nav-card-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:18px;
}
body.rbs-ui.rbs-page-booking-index .nav-icon{
    font-size:28px;
    line-height:1;
}
body.rbs-ui.rbs-page-booking-index .nav-arrow{
    font-size:20px;
    color:var(--brand);
    font-weight:700;
}
body.rbs-ui.rbs-page-booking-index .nav-card h3{
    margin:0 0 8px;
    font-size:19px;
    line-height:1.2;
}
body.rbs-ui.rbs-page-booking-index .nav-card p{
    margin:0;
    color:var(--muted);
    line-height:1.55;
    font-size:14px;
}
body.rbs-ui.rbs-page-booking-index .booking-nav-card{
    min-height:168px;
    gap:18px;
}
body.rbs-ui.rbs-page-booking-index .booking-nav-card-body{
    display:block;
}
body.rbs-ui.rbs-page-booking-index .booking-nav-card-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    align-self:flex-start;
    min-height:34px;
    padding:0 14px;
    border-radius:999px;
    background:#f8fafc;
    border:1px solid var(--line);
    color:var(--brand);
    font-size:13px;
    font-weight:800;
    margin-top:auto;
}
body.rbs-ui.rbs-page-booking-index .booking-nav-card:hover .booking-nav-card-action{
    background:var(--brand);
    border-color:var(--brand);
    color:#fff;
}
@media (max-width: 1200px){
    body.rbs-ui.rbs-page-booking-index .stats, body.rbs-ui.rbs-page-booking-index .card-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 800px){
    body.rbs-ui.rbs-page-booking-index .wrap{
        padding:20px 16px 32px;
    }
    body.rbs-ui.rbs-page-booking-index .title h1{
        font-size:26px;
    }
    body.rbs-ui.rbs-page-booking-index .hero h2{
        font-size:24px;
    }
    body.rbs-ui.rbs-page-booking-index .stats, body.rbs-ui.rbs-page-booking-index .card-grid{
        grid-template-columns:1fr;
    }
    body.rbs-ui.rbs-page-booking-index .stat-value{
        font-size:20px;
    }
}

/* Migrated from /booking/rates_packages.php (page-scoped). */
body.rbs-ui.rbs-page-booking-rates-packages{--bg:#f4f7fb;--card:#fff;--text:#0f172a;--muted:#64748b;--line:#e2e8f0;--brand:#0f2d63;--brand-dark:#091a3d;--shadow:0 12px 30px rgba(15,23,42,.08);--ok-bg:#ecfdf5;--ok-line:#bbf7d0;--ok-text:#166534;--warn-bg:#fff7ed;--warn-line:#fed7aa;--warn-text:#9a3412;--err-bg:#fef2f2;--err-line:#fecaca;--err-text:#b91c1c}
body.rbs-ui.rbs-page-booking-rates-packages *{box-sizing:border-box}body.rbs-ui.rbs-page-booking-rates-packages{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--text)}
body.rbs-ui.rbs-page-booking-rates-packages .wrap{max-width:1380px;margin:0 auto;padding:28px 20px 40px}body.rbs-ui.rbs-page-booking-rates-packages .topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:24px}body.rbs-ui.rbs-page-booking-rates-packages .title h1{margin:0 0 6px;font-size:32px}body.rbs-ui.rbs-page-booking-rates-packages .title p{margin:0;color:var(--muted)}body.rbs-ui.rbs-page-booking-rates-packages .actions{display:flex;gap:10px;flex-wrap:wrap}body.rbs-ui.rbs-page-booking-rates-packages .btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:12px;text-decoration:none;font-weight:700;border:1px solid var(--line);background:#fff;color:var(--text);cursor:pointer}body.rbs-ui.rbs-page-booking-rates-packages .btn.primary{background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);color:#fff;border:none}body.rbs-ui.rbs-page-booking-rates-packages .btn.secondary{color:var(--brand-dark);border-color:#d6c2b0}body.rbs-ui.rbs-page-booking-rates-packages .hero{background:linear-gradient(135deg,#1e293b 0%,#334155 100%);color:#fff;border-radius:24px;padding:26px;box-shadow:var(--shadow);margin-bottom:24px}body.rbs-ui.rbs-page-booking-rates-packages .hero h2{margin:0 0 10px;font-size:28px}body.rbs-ui.rbs-page-booking-rates-packages .hero p{margin:0;max-width:860px;line-height:1.6;color:rgba(255,255,255,.88)}
body.rbs-ui.rbs-page-booking-rates-packages .flash{padding:14px 16px;border-radius:14px;margin-bottom:18px;border:1px solid transparent;line-height:1.55}body.rbs-ui.rbs-page-booking-rates-packages .flash.success{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok-text)}body.rbs-ui.rbs-page-booking-rates-packages .flash.error{background:var(--err-bg);border-color:var(--err-line);color:var(--err-text)}
body.rbs-ui.rbs-page-booking-rates-packages .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}body.rbs-ui.rbs-page-booking-rates-packages .stat{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}body.rbs-ui.rbs-page-booking-rates-packages .stat span{display:block;color:var(--muted);font-size:13px;margin-bottom:8px}body.rbs-ui.rbs-page-booking-rates-packages .stat strong{font-size:28px}
body.rbs-ui.rbs-page-booking-rates-packages .layout{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:24px}body.rbs-ui.rbs-page-booking-rates-packages .card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow)}body.rbs-ui.rbs-page-booking-rates-packages .card h3{margin:0 0 10px;font-size:22px}body.rbs-ui.rbs-page-booking-rates-packages .card-sub{margin:0 0 18px;color:var(--muted);line-height:1.55}body.rbs-ui.rbs-page-booking-rates-packages .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}body.rbs-ui.rbs-page-booking-rates-packages .field{display:flex;flex-direction:column;gap:6px}body.rbs-ui.rbs-page-booking-rates-packages .field.span-2{grid-column:span 2}body.rbs-ui.rbs-page-booking-rates-packages .field label{font-weight:700;font-size:14px}body.rbs-ui.rbs-page-booking-rates-packages input, body.rbs-ui.rbs-page-booking-rates-packages select, body.rbs-ui.rbs-page-booking-rates-packages textarea{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:11px 12px;font:inherit;background:#fff}body.rbs-ui.rbs-page-booking-rates-packages textarea{min-height:110px;resize:vertical}body.rbs-ui.rbs-page-booking-rates-packages .helper{font-size:12px;color:var(--muted);line-height:1.45}body.rbs-ui.rbs-page-booking-rates-packages .save-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}body.rbs-ui.rbs-page-booking-rates-packages .list{display:grid;gap:16px}body.rbs-ui.rbs-page-booking-rates-packages .package-card{border:1px solid var(--line);border-radius:18px;padding:18px;background:#fff}body.rbs-ui.rbs-page-booking-rates-packages .package-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start}body.rbs-ui.rbs-page-booking-rates-packages .package-head h4{margin:0 0 6px;font-size:20px}body.rbs-ui.rbs-page-booking-rates-packages .pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}body.rbs-ui.rbs-page-booking-rates-packages .pill.active{background:#ecfdf5;color:#166534}body.rbs-ui.rbs-page-booking-rates-packages .pill.draft{background:#fffbeb;color:#92400e}body.rbs-ui.rbs-page-booking-rates-packages .pill.inactive{background:#fef2f2;color:#b91c1c}body.rbs-ui.rbs-page-booking-rates-packages .meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin-top:14px}body.rbs-ui.rbs-page-booking-rates-packages .meta div{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}body.rbs-ui.rbs-page-booking-rates-packages .meta strong{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}body.rbs-ui.rbs-page-booking-rates-packages .package-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}body.rbs-ui.rbs-page-booking-rates-packages .empty{padding:24px;border:1px dashed #cbd5e1;border-radius:16px;color:var(--muted);background:#fff}
@media (max-width:1100px){body.rbs-ui.rbs-page-booking-rates-packages .layout{grid-template-columns:1fr}body.rbs-ui.rbs-page-booking-rates-packages .stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){body.rbs-ui.rbs-page-booking-rates-packages .stats{grid-template-columns:1fr}body.rbs-ui.rbs-page-booking-rates-packages .form-grid{grid-template-columns:1fr}body.rbs-ui.rbs-page-booking-rates-packages .field.span-2{grid-column:span 1}body.rbs-ui.rbs-page-booking-rates-packages .meta{grid-template-columns:1fr}}

/* Migrated from /booking/reports.php (page-scoped). */
body.rbs-ui.rbs-page-booking-reports{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#0f2d63;
    --brand-dark:#091a3d;
    --danger:#b91c1c;
    --success:#166534;
    --success-bg:#f0fdf4;
    --success-line:#bbf7d0;
    --warning:#92400e;
    --warning-bg:#fffbeb;
    --warning-line:#fde68a;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --focus:#93c5fd;
}
body.rbs-ui.rbs-page-booking-reports *{box-sizing:border-box}
body.rbs-ui.rbs-page-booking-reports{
    margin:0;
    font-family:Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-booking-reports .wrap{
    max-width:1400px;
    margin:0 auto;
    padding:28px 20px 40px;
}
body.rbs-ui.rbs-page-booking-reports .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-booking-reports .topbar-left{
    display: flex;
    align-items: center;
    gap: 16px;
}
body.rbs-ui.rbs-page-booking-reports .title h1{
    margin:0 0 6px;
    font-size:32px;
}
body.rbs-ui.rbs-page-booking-reports .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}
body.rbs-ui.rbs-page-booking-reports .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-booking-reports .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:#0f172a;
    cursor:pointer;
}
body.rbs-ui.rbs-page-booking-reports .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-booking-reports .btn.secondary{
    background:#fff;
    color:var(--brand-dark);
    border:1px solid #d6c2b0;
}
body.rbs-ui.rbs-page-booking-reports .hero{
    background:linear-gradient(135deg, #1e293b 0%, #334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}
body.rbs-ui.rbs-page-booking-reports .hero h2{
    margin:0 0 10px;
    font-size:28px;
}
body.rbs-ui.rbs-page-booking-reports .hero p{
    margin:0;
    max-width:860px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}
body.rbs-ui.rbs-page-booking-reports .hero-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:18px;
}
body.rbs-ui.rbs-page-booking-reports .hero-actions .btn{
    border-color:rgba(255,255,255,.18);
    background:rgba(255,255,255,.12);
    color:#fff;
}
body.rbs-ui.rbs-page-booking-reports .hero-actions .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-booking-reports .stats{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:14px;
    margin:24px 0;
}
body.rbs-ui.rbs-page-booking-reports .stat{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    padding:16px;
}
body.rbs-ui.rbs-page-booking-reports .stat-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    opacity:.8;
    margin-bottom:6px;
}
body.rbs-ui.rbs-page-booking-reports .stat-value{
    font-size:22px;
    font-weight:700;
}
body.rbs-ui.rbs-page-booking-reports .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}
body.rbs-ui.rbs-page-booking-reports .card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
    margin-bottom:16px;
}
body.rbs-ui.rbs-page-booking-reports .card h3{
    margin:0;
    font-size:22px;
}
body.rbs-ui.rbs-page-booking-reports .card-sub{
    margin:6px 0 0;
    color:var(--muted);
    font-size:14px;
    line-height:1.55;
}
body.rbs-ui.rbs-page-booking-reports .filters-form{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
    align-items:end;
}
body.rbs-ui.rbs-page-booking-reports .field{
    display:flex;
    flex-direction:column;
    gap:8px;
}
body.rbs-ui.rbs-page-booking-reports .field label{
    font-size:14px;
    font-weight:700;
    color:#334155;
}
body.rbs-ui.rbs-page-booking-reports .field select{
    width:100%;
    min-height:46px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    padding:0 12px;
    font-size:14px;
    color:var(--text);
    outline:none;
}
body.rbs-ui.rbs-page-booking-reports .field select:focus{
    border-color:var(--focus);
    box-shadow:0 0 0 3px rgba(147,197,253,.20);
}
body.rbs-ui.rbs-page-booking-reports .card-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:18px;
}
body.rbs-ui.rbs-page-booking-reports .mini-card{
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
    padding:18px;
    box-shadow:0 8px 20px rgba(15,23,42,.04);
}
body.rbs-ui.rbs-page-booking-reports .mini-card h4{
    margin:0 0 8px;
    font-size:18px;
}
body.rbs-ui.rbs-page-booking-reports .mini-card p{
    margin:0 0 12px;
    color:var(--muted);
    line-height:1.55;
}
body.rbs-ui.rbs-page-booking-reports .mini-value{
    font-size:28px;
    font-weight:800;
    line-height:1;
    margin:0;
}
body.rbs-ui.rbs-page-booking-reports .table-wrap{
    width:100%;
    overflow:auto;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
}
body.rbs-ui.rbs-page-booking-reports table{
    width:100%;
    min-width:900px;
    border-collapse:separate;
    border-spacing:0;
}
body.rbs-ui.rbs-page-booking-reports thead th{
    text-align:left;
    font-size:13px;
    color:var(--muted);
    background:#f8fafc;
    border-bottom:1px solid var(--line);
    padding:14px 16px;
    white-space:nowrap;
}
body.rbs-ui.rbs-page-booking-reports tbody td{
    border-bottom:1px solid var(--line);
    padding:16px;
    vertical-align:middle;
    font-size:14px;
    background:#fff;
}
body.rbs-ui.rbs-page-booking-reports tbody tr:hover td{
    background:#fbfdff;
}
body.rbs-ui.rbs-page-booking-reports tbody tr:last-child td{
    border-bottom:none;
}
body.rbs-ui.rbs-page-booking-reports .status-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:96px;
    padding:7px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    border:1px solid transparent;
}
body.rbs-ui.rbs-page-booking-reports .status-green{
    background:var(--success-bg);
    color:var(--success);
    border-color:var(--success-line);
}
body.rbs-ui.rbs-page-booking-reports .status-yellow{
    background:var(--warning-bg);
    color:var(--warning);
    border-color:var(--warning-line);
}
body.rbs-ui.rbs-page-booking-reports .status-red{
    background:#fef2f2;
    color:var(--danger);
    border-color:#fecaca;
}
body.rbs-ui.rbs-page-booking-reports .empty-state{
    padding:20px;
    color:var(--muted);
}
@media (max-width: 1200px){
    body.rbs-ui.rbs-page-booking-reports .stats{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
    body.rbs-ui.rbs-page-booking-reports .filters-form, body.rbs-ui.rbs-page-booking-reports .card-grid{
        grid-template-columns:1fr;
    }
}
@media (max-width: 800px){
    body.rbs-ui.rbs-page-booking-reports .wrap{
        padding:20px 16px 32px;
    }
    body.rbs-ui.rbs-page-booking-reports .title h1{
        font-size:26px;
    }
    body.rbs-ui.rbs-page-booking-reports .hero h2{
        font-size:24px;
    }
    body.rbs-ui.rbs-page-booking-reports .stats{
        grid-template-columns:1fr;
    }
    body.rbs-ui.rbs-page-booking-reports .stat-value{
        font-size:20px;
    }
    body.rbs-ui.rbs-page-booking-reports .mini-value{
        font-size:24px;
    }
}

/* Migrated from /booking/reservations.php (page-scoped). */
body.rbs-ui.rbs-page-booking-reservations{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#0f2d63;
    --brand-dark:#091a3d;
    --danger:#b91c1c;
    --success:#166534;
    --success-bg:#f0fdf4;
    --success-line:#bbf7d0;
    --warning:#92400e;
    --warning-bg:#fffbeb;
    --warning-line:#fde68a;
    --info-bg:#eff6ff;
    --info-line:#bfdbfe;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --focus:#93c5fd;
}

body.rbs-ui.rbs-page-booking-reservations *{box-sizing:border-box}

body.rbs-ui.rbs-page-booking-reservations{
    margin:0;
    font-family:Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
}

body.rbs-ui.rbs-page-booking-reservations{
    overflow-x:hidden;
    overflow-y:auto;
}

body.rbs-ui.rbs-page-booking-reservations .wrap{
    max-width:1400px;
    margin:0 auto;
    padding:28px 20px 40px;
}

body.rbs-ui.rbs-page-booking-reservations .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-booking-reservations .topbar-left{
    display:flex;
    align-items:center;
    gap:16px;
}

body.rbs-ui.rbs-page-booking-reservations .title h1{
    margin:0 0 6px;
    font-size:32px;
}

body.rbs-ui.rbs-page-booking-reservations .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}

body.rbs-ui.rbs-page-booking-reservations .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-booking-reservations .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:46px;
    padding:0 16px;
    border-radius:14px;
    text-decoration:none;
    font-weight:800;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
    box-shadow:0 10px 24px rgba(15,23,42,.08);
}

body.rbs-ui.rbs-page-booking-reservations .btn:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 30px rgba(15,23,42,.12);
}

body.rbs-ui.rbs-page-booking-reservations .btn:active{
    transform:translateY(0);
}

body.rbs-ui.rbs-page-booking-reservations .btn.primary{
    background:linear-gradient(135deg, #8b5e3c 0%, #6f472b 100%);
    color:#fff;
    border:none;
    box-shadow:0 14px 28px rgba(111,71,43,.24);
}

body.rbs-ui.rbs-page-booking-reservations .btn.secondary{
    background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    color:var(--brand-dark);
    border:1px solid #d6c2b0;
}

body.rbs-ui.rbs-page-booking-reservations .btn.active-view{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-booking-reservations .actions .btn[href="/booking/index.php"]{
    background:linear-gradient(135deg, #0f766e 0%, #14b8a6 100%);
    color:#fff;
    border:none;
    box-shadow:0 14px 28px rgba(20,184,166,.22);
}

body.rbs-ui.rbs-page-booking-reservations .actions .btn[href="/dashboard.php"]{
    background:linear-gradient(135deg, #2563eb 0%, #60a5fa 100%);
    color:#fff;
    border:none;
    box-shadow:0 14px 28px rgba(37,99,235,.22);
}

body.rbs-ui.rbs-page-booking-reservations .actions .btn.primary[href="/logout.php"]{
    background:linear-gradient(135deg, #f97316 0%, #ea580c 100%);
    color:#fff;
    border:none;
    box-shadow:0 14px 28px rgba(234,88,12,.22);
}

body.rbs-ui.rbs-page-booking-reservations .hero-actions .btn[href="/booking/index.php"]{
    background:linear-gradient(135deg, #0f766e 0%, #14b8a6 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-booking-reservations .hero-actions .btn[href="/dashboard.php"]{
    background:linear-gradient(135deg, #2563eb 0%, #60a5fa 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-booking-reservations .hero-actions .btn.primary[href="/booking/add_reservation.php"]{
    background:linear-gradient(135deg, #22c55e 0%, #15803d 100%);
    color:#fff;
    border:none;
    box-shadow:0 14px 28px rgba(21,128,61,.24);
}

body.rbs-ui.rbs-page-booking-reservations .filters-actions .btn.primary{
    background:linear-gradient(135deg, #7c3aed 0%, #a855f7 100%);
    color:#fff;
    border:none;
    box-shadow:0 14px 28px rgba(124,58,237,.22);
}

body.rbs-ui.rbs-page-booking-reservations .filters-actions .btn.secondary{
    background:linear-gradient(180deg, #fff7ed 0%, #ffedd5 100%);
    color:#c2410c;
    border-color:#fdba74;
}

body.rbs-ui.rbs-page-booking-reservations .action-group .btn.secondary[href*="/booking/view_reservation.php"]{
    background:linear-gradient(135deg, #2563eb 0%, #60a5fa 100%);
    color:#fff;
    border:none;
    box-shadow:0 12px 22px rgba(37,99,235,.20);
}

body.rbs-ui.rbs-page-booking-reservations .action-group .open-edit-modal{
    background:linear-gradient(135deg, #8b5cf6 0%, #ec4899 100%);
    color:#fff;
    border:none;
    box-shadow:0 12px 22px rgba(236,72,153,.20);
}

body.rbs-ui.rbs-page-booking-reservations .action-group form .btn{
    background:linear-gradient(135deg, #fb7185 0%, #e11d48 100%) !important;
    color:#fff !important;
    border:none !important;
    box-shadow:0 12px 22px rgba(225,29,72,.20);
}

body.rbs-ui.rbs-page-booking-reservations .hero{
    background:linear-gradient(135deg, #1e293b 0%, #334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}

body.rbs-ui.rbs-page-booking-reservations .hero h2{
    margin:0 0 10px;
    font-size:28px;
}

body.rbs-ui.rbs-page-booking-reservations .hero p{
    margin:0;
    max-width:850px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}

body.rbs-ui.rbs-page-booking-reservations .hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
}

body.rbs-ui.rbs-page-booking-reservations .hero-actions .btn{
    border-color:rgba(255,255,255,.18);
    background:rgba(255,255,255,.12);
    color:#fff;
    box-shadow:0 12px 24px rgba(15,23,42,.18);
}

body.rbs-ui.rbs-page-booking-reservations .hero-actions .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-booking-reservations .stats{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:14px;
    margin:24px 0;
}

body.rbs-ui.rbs-page-booking-reservations .stat{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    padding:16px;
}

body.rbs-ui.rbs-page-booking-reservations .stat-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    opacity:.8;
    margin-bottom:6px;
}

body.rbs-ui.rbs-page-booking-reservations .stat-value{
    font-size:22px;
    font-weight:700;
}

body.rbs-ui.rbs-page-booking-reservations .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}

body.rbs-ui.rbs-page-booking-reservations .card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
    margin-bottom:16px;
}

body.rbs-ui.rbs-page-booking-reservations .card h3{
    margin:0;
    font-size:22px;
}

body.rbs-ui.rbs-page-booking-reservations .card-sub{
    margin:6px 0 0;
    color:var(--muted);
    font-size:14px;
    line-height:1.55;
}

body.rbs-ui.rbs-page-booking-reservations .quick-view-buttons{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:10px;
}

body.rbs-ui.rbs-page-booking-reservations .quick-view-btn{
    position:relative;
    gap:10px;
    min-height:54px;
    padding:0 18px;
    border-radius:16px;
    border:1px solid var(--line);
    background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow:0 10px 24px rgba(15,23,42,.06);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

body.rbs-ui.rbs-page-booking-reservations .quick-view-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(15,23,42,.10);
}

body.rbs-ui.rbs-page-booking-reservations .quick-view-btn .quick-view-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border-radius:999px;
    background:rgba(255,255,255,.92);
    border:1px solid rgba(148,163,184,.28);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
    font-size:16px;
    line-height:1;
    flex:0 0 30px;
}

body.rbs-ui.rbs-page-booking-reservations .quick-view-btn .quick-view-label{
    font-weight:800;
    letter-spacing:.01em;
}

body.rbs-ui.rbs-page-booking-reservations .quick-view-btn.qv-new{
    border-color:#dbeafe;
    background:linear-gradient(180deg, #ffffff 0%, #eff6ff 100%);
}

body.rbs-ui.rbs-page-booking-reservations .quick-view-btn.qv-checked-in{
    border-color:#bbf7d0;
    background:linear-gradient(180deg, #ffffff 0%, #ecfdf5 100%);
}

body.rbs-ui.rbs-page-booking-reservations .quick-view-btn.qv-checked-out{
    border-color:#cbd5e1;
    background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

body.rbs-ui.rbs-page-booking-reservations .quick-view-btn.qv-cancelled{
    border-color:#fecaca;
    background:linear-gradient(180deg, #ffffff 0%, #fef2f2 100%);
}

body.rbs-ui.rbs-page-booking-reservations .quick-view-btn.qv-no-show{
    border-color:#fed7aa;
    background:linear-gradient(180deg, #ffffff 0%, #fff7ed 100%);
}

body.rbs-ui.rbs-page-booking-reservations .quick-view-btn.qv-all{
    border-color:#ddd6fe;
    background:linear-gradient(180deg, #ffffff 0%, #f5f3ff 100%);
}

body.rbs-ui.rbs-page-booking-reservations .quick-view-btn.active-view{
    background:linear-gradient(135deg, #8b5e3c 0%, #6f472b 100%);
    color:#fff;
    border-color:transparent;
    box-shadow:0 16px 34px rgba(111,71,43,.26);
}

body.rbs-ui.rbs-page-booking-reservations .quick-view-btn.active-view .quick-view-icon{
    background:rgba(255,255,255,.18);
    border-color:rgba(255,255,255,.24);
    color:#fff;
    box-shadow:none;
}

body.rbs-ui.rbs-page-booking-reservations .btn .btn-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:26px;
    height:26px;
    border-radius:999px;
    background:rgba(255,255,255,.18);
    font-size:14px;
    line-height:1;
    flex:0 0 26px;
}

body.rbs-ui.rbs-page-booking-reservations .btn.secondary .btn-icon{
    background:#eef2ff;
    color:#4f46e5;
}

body.rbs-ui.rbs-page-booking-reservations .filters-actions .btn.secondary .btn-icon{
    background:#fed7aa;
    color:#c2410c;
}

body.rbs-ui.rbs-page-booking-reservations .filters{
    display:grid;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    gap:14px;
}

body.rbs-ui.rbs-page-booking-reservations .field{
    display:flex;
    flex-direction:column;
    gap:8px;
}

body.rbs-ui.rbs-page-booking-reservations .field.span-2{ grid-column:span 2; }
body.rbs-ui.rbs-page-booking-reservations .field.span-3{ grid-column:span 3; }

body.rbs-ui.rbs-page-booking-reservations .field label{
    font-size:14px;
    font-weight:700;
    color:#334155;
}

body.rbs-ui.rbs-page-booking-reservations .field input, body.rbs-ui.rbs-page-booking-reservations .field select, body.rbs-ui.rbs-page-booking-reservations .field textarea{
    width:100%;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    font-size:14px;
    color:var(--text);
    outline:none;
}

body.rbs-ui.rbs-page-booking-reservations .field input, body.rbs-ui.rbs-page-booking-reservations .field select{
    min-height:46px;
    padding:0 12px;
}

body.rbs-ui.rbs-page-booking-reservations .field textarea{
    min-height:110px;
    padding:12px;
    resize:vertical;
}

body.rbs-ui.rbs-page-booking-reservations .field input:focus, body.rbs-ui.rbs-page-booking-reservations .field select:focus, body.rbs-ui.rbs-page-booking-reservations .field textarea:focus{
    border-color:var(--focus);
    box-shadow:0 0 0 3px rgba(147,197,253,.20);
}

body.rbs-ui.rbs-page-booking-reservations .filters-actions, body.rbs-ui.rbs-page-booking-reservations .form-actions{
    margin-top:16px;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

body.rbs-ui.rbs-page-booking-reservations .table-wrap{
    width:100%;
    overflow:auto;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
}

body.rbs-ui.rbs-page-booking-reservations table{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    min-width:980px;
}

body.rbs-ui.rbs-page-booking-reservations thead th{
    text-align:left;
    font-size:13px;
    color:var(--muted);
    background:#f8fafc;
    border-bottom:1px solid var(--line);
    padding:14px 16px;
    white-space:nowrap;
}

body.rbs-ui.rbs-page-booking-reservations tbody td{
    border-bottom:1px solid var(--line);
    padding:16px;
    vertical-align:middle;
    font-size:14px;
    background:#fff;
}

body.rbs-ui.rbs-page-booking-reservations tbody tr:hover td{
    background:#fbfdff;
}

body.rbs-ui.rbs-page-booking-reservations tbody tr.row-check-in-today td{
    background:#ecfdf5;
}

body.rbs-ui.rbs-page-booking-reservations tbody tr.row-check-in-today:hover td{
    background:#dcfce7;
}

body.rbs-ui.rbs-page-booking-reservations tbody tr.row-check-out-today td{
    background:#eff6ff;
}

body.rbs-ui.rbs-page-booking-reservations tbody tr.row-check-out-today:hover td{
    background:#dbeafe;
}

body.rbs-ui.rbs-page-booking-reservations tbody tr.row-stale-reservation td{
    background:#fef2f2;
}

body.rbs-ui.rbs-page-booking-reservations tbody tr.row-stale-reservation:hover td{
    background:#fee2e2;
}

body.rbs-ui.rbs-page-booking-reservations tbody tr:last-child td{
    border-bottom:none;
}

body.rbs-ui.rbs-page-booking-reservations .status-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:96px;
    padding:7px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    border:1px solid transparent;
}

body.rbs-ui.rbs-page-booking-reservations .status-blue{
    background:var(--info-bg);
    color:#1d4ed8;
    border-color:var(--info-line);
}

body.rbs-ui.rbs-page-booking-reservations .status-green{
    background:var(--success-bg);
    color:var(--success);
    border-color:var(--success-line);
}

body.rbs-ui.rbs-page-booking-reservations .status-red{
    background:#fef2f2;
    color:var(--danger);
    border-color:#fecaca;
}

body.rbs-ui.rbs-page-booking-reservations .status-yellow{
    background:var(--warning-bg);
    color:var(--warning);
    border-color:var(--warning-line);
}

body.rbs-ui.rbs-page-booking-reservations .status-gray{
    background:#f3f4f6;
    color:#4b5563;
    border-color:#d1d5db;
}

body.rbs-ui.rbs-page-booking-reservations .empty-note{
    padding:16px 20px 20px;
    color:var(--muted);
    line-height:1.55;
}

body.rbs-ui.rbs-page-booking-reservations .flash{
    padding:14px 16px;
    border-radius:14px;
    margin-bottom:18px;
    border:1px solid transparent;
}

body.rbs-ui.rbs-page-booking-reservations .flash.success{
    background:var(--success-bg);
    border-color:var(--success-line);
    color:var(--success);
}

body.rbs-ui.rbs-page-booking-reservations .flash.error{
    background:#fef2f2;
    border-color:#fecaca;
    color:var(--danger);
}

body.rbs-ui.rbs-page-booking-reservations .action-group{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-booking-reservations .today-split{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:20px;
    margin-bottom:24px;
}

body.rbs-ui.rbs-page-booking-reservations .today-card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-booking-reservations .today-card.check-in-card{
    border-color:var(--success-line);
    background:linear-gradient(180deg, #ffffff 0%, #f7fff9 100%);
}

body.rbs-ui.rbs-page-booking-reservations .today-card.check-out-card{
    border-color:var(--info-line);
    background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

body.rbs-ui.rbs-page-booking-reservations .today-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
}

body.rbs-ui.rbs-page-booking-reservations .today-card-head h3{
    margin:0;
    font-size:22px;
}

body.rbs-ui.rbs-page-booking-reservations .today-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:44px;
    min-height:44px;
    padding:0 12px;
    border-radius:999px;
    font-size:18px;
    font-weight:800;
    border:1px solid var(--line);
    background:#fff;
}

body.rbs-ui.rbs-page-booking-reservations .today-list{
    display:flex;
    flex-direction:column;
    gap:12px;
}

body.rbs-ui.rbs-page-booking-reservations .today-item{
    border:1px solid var(--line);
    border-radius:16px;
    padding:14px;
    background:#fff;
}

body.rbs-ui.rbs-page-booking-reservations .today-item.row-check-in-today{
    border-color:var(--success-line);
    background:var(--success-bg);
}

body.rbs-ui.rbs-page-booking-reservations .today-item.row-check-out-today{
    border-color:var(--info-line);
    background:var(--info-bg);
}

body.rbs-ui.rbs-page-booking-reservations .today-main{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
}

body.rbs-ui.rbs-page-booking-reservations .today-title{
    margin:0 0 6px;
    font-size:16px;
    font-weight:800;
}

body.rbs-ui.rbs-page-booking-reservations .today-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px 10px;
    color:var(--muted);
    font-size:13px;
}

body.rbs-ui.rbs-page-booking-reservations .today-meta strong{
    color:var(--text);
}

body.rbs-ui.rbs-page-booking-reservations .today-empty{
    border:1px dashed var(--line);
    border-radius:16px;
    padding:18px;
    color:var(--muted);
    background:rgba(255,255,255,.72);
}

body.rbs-ui.rbs-page-booking-reservations .today-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:10px;
}

body.rbs-ui.rbs-page-booking-reservations .today-actions .btn{
    min-height:40px;
    padding:0 14px;
    border-radius:12px;
    font-size:13px;
}

body.rbs-ui.rbs-page-booking-reservations .modal-backdrop{
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.58);
    z-index:9998;
}

body.rbs-ui.rbs-page-booking-reservations .modal{
    position:fixed;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    z-index:9999;
}

body.rbs-ui.rbs-page-booking-reservations .modal[hidden], body.rbs-ui.rbs-page-booking-reservations .modal-backdrop[hidden]{
    display:none !important;
}

body.rbs-ui.rbs-page-booking-reservations .modal-dialog{
    width:min(1200px, 100%);
    max-height:90vh;
    overflow:hidden;
    background:#fff;
    border-radius:22px;
    box-shadow:0 24px 60px rgba(15,23,42,.24);
    border:1px solid var(--line);
    display:flex;
    flex-direction:column;
}

body.rbs-ui.rbs-page-booking-reservations .modal-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:20px 22px;
    border-bottom:1px solid var(--line);
    background:#f8fafc;
}

body.rbs-ui.rbs-page-booking-reservations .modal-head h3{
    margin:0;
    font-size:24px;
}

body.rbs-ui.rbs-page-booking-reservations .modal-sub{
    margin:4px 0 0;
    color:var(--muted);
    font-size:14px;
}

body.rbs-ui.rbs-page-booking-reservations .modal-close{
    min-width:44px;
    min-height:44px;
    border:1px solid var(--line);
    background:#fff;
    border-radius:12px;
    font-size:22px;
    line-height:1;
    cursor:pointer;
}

body.rbs-ui.rbs-page-booking-reservations .modal-body{
    padding:20px 22px 24px;
    overflow:auto;
}

body.rbs-ui.rbs-page-booking-reservations .modal-section{
    border:1px solid var(--line);
    border-radius:16px;
    padding:16px;
    margin-bottom:16px;
    background:#fff;
}

body.rbs-ui.rbs-page-booking-reservations .modal-section h4{
    margin:0 0 6px;
    font-size:18px;
}

body.rbs-ui.rbs-page-booking-reservations .modal-section p{
    margin:0 0 16px;
    font-size:14px;
    color:var(--muted);
}

body.rbs-ui.rbs-page-booking-reservations .form-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:14px;
}

@media (max-width: 1200px){
    body.rbs-ui.rbs-page-booking-reservations .stats{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    body.rbs-ui.rbs-page-booking-reservations .filters, body.rbs-ui.rbs-page-booking-reservations .form-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    body.rbs-ui.rbs-page-booking-reservations .field.span-3{
        grid-column:span 2;
    }
}

@media (max-width: 800px){
    body.rbs-ui.rbs-page-booking-reservations .wrap{
        padding:20px 16px 32px;
    }

    body.rbs-ui.rbs-page-booking-reservations .title h1{
        font-size:26px;
    }

    body.rbs-ui.rbs-page-booking-reservations .hero h2{
        font-size:24px;
    }

    body.rbs-ui.rbs-page-booking-reservations .stats, body.rbs-ui.rbs-page-booking-reservations .filters, body.rbs-ui.rbs-page-booking-reservations .form-grid, body.rbs-ui.rbs-page-booking-reservations .today-split{
        grid-template-columns:1fr;
    }

    body.rbs-ui.rbs-page-booking-reservations .field.span-2, body.rbs-ui.rbs-page-booking-reservations .field.span-3{
        grid-column:span 1;
    }

    body.rbs-ui.rbs-page-booking-reservations .modal{
        padding:12px;
    }

    body.rbs-ui.rbs-page-booking-reservations .modal-dialog{
        max-height:94vh;
    }

    body.rbs-ui.rbs-page-booking-reservations .modal-head{
        padding:16px;
    }

    body.rbs-ui.rbs-page-booking-reservations .modal-body{
        padding:16px;
    }
}

/* Migrated from /booking/room_availability.php (page-scoped). */
body.rbs-ui.rbs-page-booking-room-availability{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#0f2d63;
    --brand-dark:#091a3d;
    --danger:#b91c1c;
    --success:#166534;
    --success-bg:#f0fdf4;
    --success-line:#bbf7d0;
    --warning:#92400e;
    --warning-bg:#fffbeb;
    --warning-line:#fde68a;
    --info-bg:#eff6ff;
    --info-line:#bfdbfe;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --focus:#93c5fd;
}
body.rbs-ui.rbs-page-booking-room-availability *{box-sizing:border-box}
body.rbs-ui.rbs-page-booking-room-availability{
    margin:0;
    font-family:Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-booking-room-availability .wrap{
    max-width:1400px;
    margin:0 auto;
    padding:28px 20px 40px;
}
body.rbs-ui.rbs-page-booking-room-availability .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-booking-room-availability .topbar-left{
    display: flex;
    align-items: center;
    gap: 16px;
}
body.rbs-ui.rbs-page-booking-room-availability .title h1{
    margin:0 0 6px;
    font-size:32px;
}
body.rbs-ui.rbs-page-booking-room-availability .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}
body.rbs-ui.rbs-page-booking-room-availability .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-booking-room-availability .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}
body.rbs-ui.rbs-page-booking-room-availability .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-booking-room-availability .btn.secondary{
    background:#fff;
    color:var(--brand-dark);
    border:1px solid #d6c2b0;
}
body.rbs-ui.rbs-page-booking-room-availability .hero{
    background:linear-gradient(135deg, #1e293b 0%, #334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}
body.rbs-ui.rbs-page-booking-room-availability .hero h2{
    margin:0 0 10px;
    font-size:28px;
}
body.rbs-ui.rbs-page-booking-room-availability .hero p{
    margin:0;
    max-width:860px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}
body.rbs-ui.rbs-page-booking-room-availability .hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
}
body.rbs-ui.rbs-page-booking-room-availability .hero-actions .btn{
    border-color:rgba(255,255,255,.18);
    background:rgba(255,255,255,.12);
    color:#fff;
}
body.rbs-ui.rbs-page-booking-room-availability .hero-actions .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-booking-room-availability .stats{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:14px;
    margin:24px 0;
}
body.rbs-ui.rbs-page-booking-room-availability .stat{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    padding:16px;
}
body.rbs-ui.rbs-page-booking-room-availability .stat-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    opacity:.8;
    margin-bottom:6px;
}
body.rbs-ui.rbs-page-booking-room-availability .stat-value{
    font-size:22px;
    font-weight:700;
}
body.rbs-ui.rbs-page-booking-room-availability .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}
body.rbs-ui.rbs-page-booking-room-availability .card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
    margin-bottom:16px;
}
body.rbs-ui.rbs-page-booking-room-availability .card h3{
    margin:0;
    font-size:22px;
}
body.rbs-ui.rbs-page-booking-room-availability .card-sub{
    margin:6px 0 0;
    color:var(--muted);
    font-size:14px;
    line-height:1.55;
}
body.rbs-ui.rbs-page-booking-room-availability .filters-form{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
    align-items:end;
}
body.rbs-ui.rbs-page-booking-room-availability .field{
    display:flex;
    flex-direction:column;
    gap:8px;
}
body.rbs-ui.rbs-page-booking-room-availability .field label{
    font-size:14px;
    font-weight:700;
    color:#334155;
}
body.rbs-ui.rbs-page-booking-room-availability .field input, body.rbs-ui.rbs-page-booking-room-availability .field select{
    width:100%;
    min-height:46px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    padding:0 12px;
    font-size:14px;
    color:var(--text);
    outline:none;
}
body.rbs-ui.rbs-page-booking-room-availability .field input:focus, body.rbs-ui.rbs-page-booking-room-availability .field select:focus{
    border-color:var(--focus);
    box-shadow:0 0 0 3px rgba(147,197,253,.20);
}
body.rbs-ui.rbs-page-booking-room-availability .table-wrap{
    width:100%;
    overflow:auto;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
}
body.rbs-ui.rbs-page-booking-room-availability table{
    width:100%;
    min-width:850px;
    border-collapse:separate;
    border-spacing:0;
}
body.rbs-ui.rbs-page-booking-room-availability thead th{
    text-align:left;
    font-size:13px;
    color:var(--muted);
    background:#f8fafc;
    border-bottom:1px solid var(--line);
    padding:14px 16px;
    white-space:nowrap;
}
body.rbs-ui.rbs-page-booking-room-availability tbody td{
    border-bottom:1px solid var(--line);
    padding:16px;
    vertical-align:middle;
    font-size:14px;
    background:#fff;
}
body.rbs-ui.rbs-page-booking-room-availability tbody tr:hover td{
    background:#fbfdff;
}
body.rbs-ui.rbs-page-booking-room-availability tbody tr:last-child td{
    border-bottom:none;
}
body.rbs-ui.rbs-page-booking-room-availability .status-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:110px;
    padding:7px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    border:1px solid transparent;
}
body.rbs-ui.rbs-page-booking-room-availability .status-green{
    background:var(--success-bg);
    color:var(--success);
    border-color:var(--success-line);
}
body.rbs-ui.rbs-page-booking-room-availability .status-blue{
    background:var(--info-bg);
    color:#1d4ed8;
    border-color:var(--info-line);
}
body.rbs-ui.rbs-page-booking-room-availability .status-yellow{
    background:var(--warning-bg);
    color:var(--warning);
    border-color:var(--warning-line);
}
body.rbs-ui.rbs-page-booking-room-availability .status-red{
    background:#fef2f2;
    color:var(--danger);
    border-color:#fecaca;
}
body.rbs-ui.rbs-page-booking-room-availability .empty-state{
    padding:20px;
    color:var(--muted);
}
@media (max-width: 1200px){
    body.rbs-ui.rbs-page-booking-room-availability .stats{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
    body.rbs-ui.rbs-page-booking-room-availability .filters-form{
        grid-template-columns:1fr;
    }
}
@media (max-width: 800px){
    body.rbs-ui.rbs-page-booking-room-availability .wrap{
        padding:20px 16px 32px;
    }
    body.rbs-ui.rbs-page-booking-room-availability .title h1{
        font-size:26px;
    }
    body.rbs-ui.rbs-page-booking-room-availability .hero h2{
        font-size:24px;
    }
    body.rbs-ui.rbs-page-booking-room-availability .stats{
        grid-template-columns:1fr;
    }
    body.rbs-ui.rbs-page-booking-room-availability .stat-value{
        font-size:20px;
    }
}

/* Migrated from /booking/settings.php (page-scoped). */
body.rbs-ui.rbs-page-booking-settings{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#0f2d63;
    --brand-dark:#091a3d;
    --danger:#b91c1c;
    --danger-bg:#fef2f2;
    --danger-line:#fecaca;
    --success:#166534;
    --success-bg:#f0fdf4;
    --success-line:#bbf7d0;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --focus:#93c5fd;
}
body.rbs-ui.rbs-page-booking-settings *{box-sizing:border-box}
body.rbs-ui.rbs-page-booking-settings{
    margin:0;
    font-family:Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-booking-settings .wrap{
    max-width:1400px;
    margin:0 auto;
    padding:28px 20px 40px;
}
body.rbs-ui.rbs-page-booking-settings .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-booking-settings .topbar-left{
    display: flex;
    align-items: center;
    gap: 16px;
}
body.rbs-ui.rbs-page-booking-settings .title h1{
    margin:0 0 6px;
    font-size:32px;
}
body.rbs-ui.rbs-page-booking-settings .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}
body.rbs-ui.rbs-page-booking-settings .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-booking-settings .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}
body.rbs-ui.rbs-page-booking-settings .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-booking-settings .btn.secondary{
    background:#fff;
    color:var(--brand-dark);
    border:1px solid #d6c2b0;
}
body.rbs-ui.rbs-page-booking-settings .hero{
    background:linear-gradient(135deg, #1e293b 0%, #334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}
body.rbs-ui.rbs-page-booking-settings .hero h2{
    margin:0 0 10px;
    font-size:28px;
}
body.rbs-ui.rbs-page-booking-settings .hero p{
    margin:0;
    max-width:860px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}
body.rbs-ui.rbs-page-booking-settings .hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
}
body.rbs-ui.rbs-page-booking-settings .hero-actions .btn{
    border-color:rgba(255,255,255,.18);
    background:rgba(255,255,255,.12);
    color:#fff;
}
body.rbs-ui.rbs-page-booking-settings .hero-actions .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-booking-settings .stats{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:14px;
    margin:24px 0;
}
body.rbs-ui.rbs-page-booking-settings .stat{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    padding:16px;
}
body.rbs-ui.rbs-page-booking-settings .stat-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    opacity:.8;
    margin-bottom:6px;
}
body.rbs-ui.rbs-page-booking-settings .stat-value{
    font-size:22px;
    font-weight:700;
}
body.rbs-ui.rbs-page-booking-settings .flash{
    padding:14px 16px;
    border-radius:14px;
    margin-bottom:18px;
    border:1px solid transparent;
}
body.rbs-ui.rbs-page-booking-settings .flash.success{
    background:var(--success-bg);
    border-color:var(--success-line);
    color:var(--success);
}
body.rbs-ui.rbs-page-booking-settings .flash.error{
    background:var(--danger-bg);
    border-color:var(--danger-line);
    color:var(--danger);
}
body.rbs-ui.rbs-page-booking-settings .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}
body.rbs-ui.rbs-page-booking-settings .card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
    margin-bottom:16px;
}
body.rbs-ui.rbs-page-booking-settings .card h3{
    margin:0;
    font-size:22px;
}
body.rbs-ui.rbs-page-booking-settings .card-sub{
    margin:6px 0 0;
    color:var(--muted);
    line-height:1.55;
    font-size:14px;
}
body.rbs-ui.rbs-page-booking-settings .form-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:16px;
}
body.rbs-ui.rbs-page-booking-settings .field{
    display:flex;
    flex-direction:column;
    gap:8px;
}
body.rbs-ui.rbs-page-booking-settings .field.span-3{
    grid-column:span 3;
}
body.rbs-ui.rbs-page-booking-settings .field label{
    font-size:14px;
    font-weight:700;
    color:#334155;
}
body.rbs-ui.rbs-page-booking-settings .field input, body.rbs-ui.rbs-page-booking-settings .field select, body.rbs-ui.rbs-page-booking-settings .field textarea{
    width:100%;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    font-size:14px;
    color:var(--text);
    outline:none;
}
body.rbs-ui.rbs-page-booking-settings .field input, body.rbs-ui.rbs-page-booking-settings .field select{
    min-height:46px;
    padding:0 12px;
}
body.rbs-ui.rbs-page-booking-settings .field textarea{
    min-height:120px;
    padding:12px;
    resize:vertical;
}
body.rbs-ui.rbs-page-booking-settings .field input:focus, body.rbs-ui.rbs-page-booking-settings .field select:focus, body.rbs-ui.rbs-page-booking-settings .field textarea:focus{
    border-color:var(--focus);
    box-shadow:0 0 0 3px rgba(147,197,253,.20);
}
body.rbs-ui.rbs-page-booking-settings .form-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:20px;
}
@media (max-width: 1200px){
    body.rbs-ui.rbs-page-booking-settings .stats{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
    body.rbs-ui.rbs-page-booking-settings .form-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
    body.rbs-ui.rbs-page-booking-settings .field.span-3{
        grid-column:span 2;
    }
}
@media (max-width: 800px){
    body.rbs-ui.rbs-page-booking-settings .wrap{
        padding:20px 16px 32px;
    }
    body.rbs-ui.rbs-page-booking-settings .title h1{
        font-size:26px;
    }
    body.rbs-ui.rbs-page-booking-settings .hero h2{
        font-size:24px;
    }
    body.rbs-ui.rbs-page-booking-settings .stats, body.rbs-ui.rbs-page-booking-settings .form-grid{
        grid-template-columns:1fr;
    }
    body.rbs-ui.rbs-page-booking-settings .field.span-3{
        grid-column:span 1;
    }
    body.rbs-ui.rbs-page-booking-settings .stat-value{
        font-size:20px;
    }
}

/* Migrated from /booking/view_guest.php (page-scoped). */
body.rbs-ui.rbs-page-booking-view-guest{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --ok-bg:#ecfdf5;
    --ok-line:#bbf7d0;
    --ok-text:#166534;
    --warn-bg:#fff7ed;
    --warn-line:#fed7aa;
    --warn-text:#9a3412;
    --bad-bg:#fef2f2;
    --bad-line:#fecaca;
    --bad-text:#991b1b;
    --soft-bg:#eff6ff;
    --soft-line:#bfdbfe;
    --soft-text:#1d4ed8;
}
body.rbs-ui.rbs-page-booking-view-guest *{box-sizing:border-box}
body.rbs-ui.rbs-page-booking-view-guest{
    margin:0;
    font-family:Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-booking-view-guest a{color:inherit;text-decoration:none}
body.rbs-ui.rbs-page-booking-view-guest .page{
    max-width:1400px;
    margin:0 auto;
    padding:24px;
}
body.rbs-ui.rbs-page-booking-view-guest .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:20px;
}
body.rbs-ui.rbs-page-booking-view-guest .topbar-left{
    display:flex;
    align-items:center;
    gap:16px;
}
body.rbs-ui.rbs-page-booking-view-guest .crumbs{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    color:var(--muted);
    font-size:13px;
    margin-bottom:10px;
}
body.rbs-ui.rbs-page-booking-view-guest .crumbs a:hover{color:var(--brand)}
body.rbs-ui.rbs-page-booking-view-guest .title{
    margin:0;
    font-size:32px;
    line-height:1.1;
    font-weight:800;
    color:var(--text);
}
body.rbs-ui.rbs-page-booking-view-guest .subtext{
    margin:8px 0 0;
    color:var(--muted);
    font-size:14px;
}
body.rbs-ui.rbs-page-booking-view-guest .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-booking-view-guest .btn{
    appearance:none;
    border:none;
    border-radius:12px;
    padding:12px 16px;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:8px;
    transition:.15s ease;
}
body.rbs-ui.rbs-page-booking-view-guest .btn-primary{
    background:var(--brand);
    color:#fff;
}
body.rbs-ui.rbs-page-booking-view-guest .btn-primary:hover{background:var(--brand-dark)}
body.rbs-ui.rbs-page-booking-view-guest .btn-secondary{
    background:#fff;
    color:var(--text);
    border:1px solid var(--line);
}
body.rbs-ui.rbs-page-booking-view-guest .btn-secondary:hover{background:#f8fafc}
body.rbs-ui.rbs-page-booking-view-guest .btn-success{
    background:var(--ok-bg);
    color:var(--ok-text);
    border:1px solid var(--ok-line);
}
body.rbs-ui.rbs-page-booking-view-guest .btn-success:hover{
    background:#dcfce7;
}
body.rbs-ui.rbs-page-booking-view-guest .hero{
    background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);
    border:1px solid var(--line);
    border-radius:22px;
    box-shadow:var(--shadow);
    padding:24px;
    margin-bottom:20px;
}
body.rbs-ui.rbs-page-booking-view-guest .hero-grid{
    display:grid;
    grid-template-columns:1.4fr .9fr;
    gap:18px;
}
body.rbs-ui.rbs-page-booking-view-guest .identity{
    display:flex;
    gap:18px;
    align-items:flex-start;
}
body.rbs-ui.rbs-page-booking-view-guest .avatar{
    width:74px;
    height:74px;
    min-width:74px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    font-weight:800;
    color:#fff;
    background:linear-gradient(135deg,var(--brand),var(--brand-dark));
    box-shadow:0 10px 25px rgba(111,71,43,.20);
}
body.rbs-ui.rbs-page-booking-view-guest .identity h2{
    margin:0 0 8px;
    font-size:28px;
    line-height:1.1;
}
body.rbs-ui.rbs-page-booking-view-guest .meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:12px;
}
body.rbs-ui.rbs-page-booking-view-guest .pill{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:8px 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    letter-spacing:.02em;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
}
body.rbs-ui.rbs-page-booking-view-guest .status-active{
    background:var(--ok-bg);
    border-color:var(--ok-line);
    color:var(--ok-text);
}
body.rbs-ui.rbs-page-booking-view-guest .status-inactive{
    background:var(--warn-bg);
    border-color:var(--warn-line);
    color:var(--warn-text);
}
body.rbs-ui.rbs-page-booking-view-guest .status-blacklisted{
    background:var(--bad-bg);
    border-color:var(--bad-line);
    color:var(--bad-text);
}
body.rbs-ui.rbs-page-booking-view-guest .contact-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:14px;
}
body.rbs-ui.rbs-page-booking-view-guest .contact-item{
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    padding:12px 14px;
}
body.rbs-ui.rbs-page-booking-view-guest .contact-label{
    font-size:12px;
    color:var(--muted);
    margin-bottom:4px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.03em;
}
body.rbs-ui.rbs-page-booking-view-guest .contact-value{
    font-size:14px;
    color:var(--text);
    word-break:break-word;
}
body.rbs-ui.rbs-page-booking-view-guest .summary-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    padding:18px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    align-content:start;
}
body.rbs-ui.rbs-page-booking-view-guest .stat{
    border:1px solid var(--line);
    border-radius:14px;
    padding:14px;
    background:#fff;
}
body.rbs-ui.rbs-page-booking-view-guest .stat-label{
    font-size:12px;
    color:var(--muted);
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.03em;
    margin-bottom:8px;
}
body.rbs-ui.rbs-page-booking-view-guest .stat-value{
    font-size:26px;
    font-weight:800;
    line-height:1;
}
body.rbs-ui.rbs-page-booking-view-guest .stat-sub{
    margin-top:8px;
    font-size:12px;
    color:var(--muted);
}
body.rbs-ui.rbs-page-booking-view-guest .content-grid{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:20px;
    align-items:start;
}
body.rbs-ui.rbs-page-booking-view-guest .stack{
    display:grid;
    gap:20px;
}
body.rbs-ui.rbs-page-booking-view-guest .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:22px;
    box-shadow:var(--shadow);
    overflow:hidden;
}
body.rbs-ui.rbs-page-booking-view-guest .card-head{
    padding:18px 20px;
    border-bottom:1px solid var(--line);
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
}
body.rbs-ui.rbs-page-booking-view-guest .card-title{
    margin:0;
    font-size:18px;
    font-weight:800;
}
body.rbs-ui.rbs-page-booking-view-guest .card-body{
    padding:20px;
}
body.rbs-ui.rbs-page-booking-view-guest .info-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
body.rbs-ui.rbs-page-booking-view-guest .info-box{
    border:1px solid var(--line);
    border-radius:14px;
    padding:14px;
    background:#fff;
}
body.rbs-ui.rbs-page-booking-view-guest .info-label{
    font-size:12px;
    color:var(--muted);
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.03em;
    margin-bottom:6px;
}
body.rbs-ui.rbs-page-booking-view-guest .info-value{
    font-size:14px;
    color:var(--text);
    white-space:pre-wrap;
    word-break:break-word;
}
body.rbs-ui.rbs-page-booking-view-guest .info-box.full{
    grid-column:1 / -1;
}
body.rbs-ui.rbs-page-booking-view-guest .payment-summary{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-bottom:16px;
}
body.rbs-ui.rbs-page-booking-view-guest .payment-table-wrap{
    width:100%;
    overflow-x:auto;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
}
body.rbs-ui.rbs-page-booking-view-guest .payment-table{
    width:100%;
    min-width:980px;
    border-collapse:separate;
    border-spacing:0;
}
body.rbs-ui.rbs-page-booking-view-guest .payment-table thead th{
    position:sticky;
    top:0;
    z-index:1;
    background:#f8fafc;
    color:var(--muted);
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.03em;
    text-align:left;
    padding:12px 14px;
    border-bottom:1px solid var(--line);
    white-space:nowrap;
}
body.rbs-ui.rbs-page-booking-view-guest .payment-table tbody td{
    padding:12px 14px;
    font-size:14px;
    color:var(--text);
    border-bottom:1px solid var(--line);
    vertical-align:top;
}
body.rbs-ui.rbs-page-booking-view-guest .payment-table tbody tr:last-child td{
    border-bottom:none;
}
body.rbs-ui.rbs-page-booking-view-guest .payment-table tbody tr:nth-child(even){
    background:#fcfcfd;
}
body.rbs-ui.rbs-page-booking-view-guest .payment-table tbody tr.payment-row-refund{
    background:#fff7f7;
}
body.rbs-ui.rbs-page-booking-view-guest .payment-table tbody tr.payment-row-payment{
    background:#f8fff9;
}
body.rbs-ui.rbs-page-booking-view-guest .payment-table .amount-col{
    text-align:right;
    white-space:nowrap;
    font-weight:800;
}
body.rbs-ui.rbs-page-booking-view-guest .payment-table .muted{
    color:var(--muted);
}
body.rbs-ui.rbs-page-booking-view-guest .payment-type-badge, body.rbs-ui.rbs-page-booking-view-guest .payment-status-badge{
    display:inline-flex;
    align-items:center;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    line-height:1;
    border:1px solid var(--line);
    white-space:nowrap;
}
body.rbs-ui.rbs-page-booking-view-guest .payment-notes{
    min-width:220px;
    white-space:pre-wrap;
    word-break:break-word;
}
body.rbs-ui.rbs-page-booking-view-guest .document-list{
    display:grid;
    gap:12px;
}
body.rbs-ui.rbs-page-booking-view-guest .document-item{
    border:1px solid var(--line);
    border-radius:16px;
    padding:16px;
    background:#fff;
}
body.rbs-ui.rbs-page-booking-view-guest .document-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    margin-bottom:12px;
}
body.rbs-ui.rbs-page-booking-view-guest .document-title{
    margin:0;
    font-size:17px;
    font-weight:800;
}
body.rbs-ui.rbs-page-booking-view-guest .document-sub{
    margin-top:5px;
    color:var(--muted);
    font-size:13px;
}
body.rbs-ui.rbs-page-booking-view-guest .document-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}
body.rbs-ui.rbs-page-booking-view-guest .document-box{
    border:1px solid var(--line);
    border-radius:12px;
    padding:12px;
    background:#f8fafc;
}
body.rbs-ui.rbs-page-booking-view-guest .document-box .label{
    display:block;
    font-size:11px;
    font-weight:800;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.03em;
    margin-bottom:5px;
}
body.rbs-ui.rbs-page-booking-view-guest .document-box .value{
    font-size:14px;
    color:var(--text);
    word-break:break-word;
}
body.rbs-ui.rbs-page-booking-view-guest .reservation-list{
    display:flex;
    flex-direction:column;
    gap:14px;
}
body.rbs-ui.rbs-page-booking-view-guest .reservation{
    border:1px solid var(--line);
    border-radius:16px;
    padding:16px;
    background:#fff;
}
body.rbs-ui.rbs-page-booking-view-guest .payment-top, body.rbs-ui.rbs-page-booking-view-guest .reservation-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    margin-bottom:12px;
}
body.rbs-ui.rbs-page-booking-view-guest .payment-title, body.rbs-ui.rbs-page-booking-view-guest .reservation-title{
    margin:0;
    font-size:18px;
    font-weight:800;
}
body.rbs-ui.rbs-page-booking-view-guest .payment-sub, body.rbs-ui.rbs-page-booking-view-guest .reservation-sub{
    margin-top:5px;
    color:var(--muted);
    font-size:13px;
}
body.rbs-ui.rbs-page-booking-view-guest .payment-pills, body.rbs-ui.rbs-page-booking-view-guest .reservation-pills{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    justify-content:flex-end;
}
body.rbs-ui.rbs-page-booking-view-guest .pill-soft{
    background:var(--soft-bg);
    border-color:var(--soft-line);
    color:var(--soft-text);
}
body.rbs-ui.rbs-page-booking-view-guest .pill-warn{
    background:var(--warn-bg);
    border-color:var(--warn-line);
    color:var(--warn-text);
}
body.rbs-ui.rbs-page-booking-view-guest .pill-bad{
    background:var(--bad-bg);
    border-color:var(--bad-line);
    color:var(--bad-text);
}
body.rbs-ui.rbs-page-booking-view-guest .pill-ok{
    background:var(--ok-bg);
    border-color:var(--ok-line);
    color:var(--ok-text);
}
body.rbs-ui.rbs-page-booking-view-guest .payment-grid, body.rbs-ui.rbs-page-booking-view-guest .reservation-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-bottom:12px;
}
body.rbs-ui.rbs-page-booking-view-guest .payment-box, body.rbs-ui.rbs-page-booking-view-guest .reservation-box{
    border:1px solid var(--line);
    border-radius:12px;
    padding:12px;
    background:#f8fafc;
}
body.rbs-ui.rbs-page-booking-view-guest .payment-box .label, body.rbs-ui.rbs-page-booking-view-guest .reservation-box .label{
    display:block;
    font-size:11px;
    font-weight:800;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.03em;
    margin-bottom:5px;
}
body.rbs-ui.rbs-page-booking-view-guest .payment-box .value, body.rbs-ui.rbs-page-booking-view-guest .reservation-box .value{
    font-size:14px;
    color:var(--text);
    word-break:break-word;
}
body.rbs-ui.rbs-page-booking-view-guest .reservation-actions{
    display:flex;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:10px;
    margin-top:12px;
}
body.rbs-ui.rbs-page-booking-view-guest .action-panel{
    margin-top:12px;
    border:1px solid var(--line);
    border-radius:14px;
    padding:14px;
    background:#f8fafc;
}
body.rbs-ui.rbs-page-booking-view-guest .action-panel[hidden]{
    display:none !important;
}
body.rbs-ui.rbs-page-booking-view-guest .action-panel-title{
    margin:0 0 8px;
    font-size:16px;
    font-weight:800;
}
body.rbs-ui.rbs-page-booking-view-guest .action-panel-helper{
    margin:0 0 12px;
    font-size:13px;
    color:var(--muted);
    line-height:1.5;
}
body.rbs-ui.rbs-page-booking-view-guest .action-panel-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-bottom:12px;
}
body.rbs-ui.rbs-page-booking-view-guest .action-field{
    display:flex;
    flex-direction:column;
    gap:6px;
}
body.rbs-ui.rbs-page-booking-view-guest .action-field.full{
    grid-column:1 / -1;
}
body.rbs-ui.rbs-page-booking-view-guest .action-field label{
    font-size:12px;
    font-weight:800;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.03em;
}
body.rbs-ui.rbs-page-booking-view-guest .action-input, body.rbs-ui.rbs-page-booking-view-guest .action-select, body.rbs-ui.rbs-page-booking-view-guest .action-textarea{
    width:100%;
    min-height:42px;
    padding:10px 12px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    color:var(--text);
    font:inherit;
}
body.rbs-ui.rbs-page-booking-view-guest .action-textarea{
    min-height:96px;
    resize:vertical;
}
body.rbs-ui.rbs-page-booking-view-guest .action-summary{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-bottom:12px;
}
body.rbs-ui.rbs-page-booking-view-guest .action-summary-box{
    border:1px solid var(--line);
    border-radius:12px;
    padding:12px;
    background:#fff;
}
body.rbs-ui.rbs-page-booking-view-guest .action-summary-box .label{
    display:block;
    font-size:11px;
    font-weight:800;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.03em;
    margin-bottom:5px;
}
body.rbs-ui.rbs-page-booking-view-guest .action-summary-box .value{
    font-size:14px;
    color:var(--text);
    word-break:break-word;
}
body.rbs-ui.rbs-page-booking-view-guest .action-card-fields{
    border:1px solid var(--warn-line);
    border-radius:12px;
    padding:12px;
    background:#fffaf5;
    margin-bottom:12px;
}
body.rbs-ui.rbs-page-booking-view-guest .action-card-fields[hidden]{
    display:none !important;
}
body.rbs-ui.rbs-page-booking-view-guest .action-add-form{
    border:1px solid var(--line);
    border-radius:12px;
    padding:12px;
    background:#fff;
    margin-bottom:12px;
}
body.rbs-ui.rbs-page-booking-view-guest .action-preview{
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    margin-bottom:12px;
    overflow:auto;
}
body.rbs-ui.rbs-page-booking-view-guest .action-preview table{
    width:100%;
    border-collapse:collapse;
}
body.rbs-ui.rbs-page-booking-view-guest .action-preview th, body.rbs-ui.rbs-page-booking-view-guest .action-preview td{
    padding:10px 12px;
    border-bottom:1px solid var(--line);
    text-align:left;
    vertical-align:top;
    font-size:13px;
}
body.rbs-ui.rbs-page-booking-view-guest .action-preview th{
    background:#f8fafc;
    color:var(--muted);
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.03em;
}
body.rbs-ui.rbs-page-booking-view-guest .action-preview tr:last-child td{
    border-bottom:none;
}
body.rbs-ui.rbs-page-booking-view-guest .action-preview-empty{
    padding:12px;
    border:1px dashed var(--line);
    border-radius:12px;
    background:#fff;
    color:var(--muted);
    margin-bottom:12px;
}
body.rbs-ui.rbs-page-booking-view-guest .action-preview-totals{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-bottom:12px;
}
body.rbs-ui.rbs-page-booking-view-guest .action-preview-total{
    border:1px solid var(--line);
    border-radius:12px;
    padding:12px;
    background:#fff;
}
body.rbs-ui.rbs-page-booking-view-guest .action-preview-total .label{
    display:block;
    font-size:11px;
    font-weight:800;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.03em;
    margin-bottom:5px;
}
body.rbs-ui.rbs-page-booking-view-guest .action-preview-total .value{
    font-size:14px;
    font-weight:700;
    color:var(--text);
}
body.rbs-ui.rbs-page-booking-view-guest .action-inline-form{
    margin:0;
}
body.rbs-ui.rbs-page-booking-view-guest .action-inline-delete{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:32px;
    padding:0 10px;
    border-radius:10px;
    border:1px solid #fecaca;
    background:#fff;
    color:#b91c1c;
    font:inherit;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
}
body.rbs-ui.rbs-page-booking-view-guest .action-divider{
    height:1px;
    background:var(--line);
    margin:14px 0;
}
body.rbs-ui.rbs-page-booking-view-guest .action-panel-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:flex-end;
}
body.rbs-ui.rbs-page-booking-view-guest .notes{
    display:grid;
    gap:10px;
}
body.rbs-ui.rbs-page-booking-view-guest .note{
    border:1px solid var(--line);
    border-radius:12px;
    padding:12px 14px;
    background:#fcfcfd;
}
body.rbs-ui.rbs-page-booking-view-guest .note .label{
    font-size:11px;
    font-weight:800;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.03em;
    margin-bottom:6px;
}
body.rbs-ui.rbs-page-booking-view-guest .note .value{
    font-size:14px;
    color:var(--text);
    white-space:pre-wrap;
    word-break:break-word;
}
body.rbs-ui.rbs-page-booking-view-guest .empty{
    padding:28px;
    text-align:center;
    color:var(--muted);
    border:1px dashed var(--line);
    border-radius:16px;
    background:#fff;
}
@media (max-width: 1100px){
    body.rbs-ui.rbs-page-booking-view-guest .hero-grid, body.rbs-ui.rbs-page-booking-view-guest .content-grid{
        grid-template-columns:1fr;
    }
}
@media (max-width: 760px){
    body.rbs-ui.rbs-page-booking-view-guest .page{padding:16px}
    body.rbs-ui.rbs-page-booking-view-guest .topbar{
        flex-direction:column;
        align-items:stretch;
    }
    body.rbs-ui.rbs-page-booking-view-guest .topbar-left{
        margin-bottom:16px;
    }
    body.rbs-ui.rbs-page-booking-view-guest .actions{width:100%}
    body.rbs-ui.rbs-page-booking-view-guest .actions .btn{flex:1;justify-content:center}
    body.rbs-ui.rbs-page-booking-view-guest .identity{
        flex-direction:column;
        align-items:flex-start;
    }
    body.rbs-ui.rbs-page-booking-view-guest .contact-list, body.rbs-ui.rbs-page-booking-view-guest .info-grid, body.rbs-ui.rbs-page-booking-view-guest .payment-summary, body.rbs-ui.rbs-page-booking-view-guest .payment-grid, body.rbs-ui.rbs-page-booking-view-guest .reservation-grid, body.rbs-ui.rbs-page-booking-view-guest .summary-card, body.rbs-ui.rbs-page-booking-view-guest .document-grid, body.rbs-ui.rbs-page-booking-view-guest .action-panel-grid, body.rbs-ui.rbs-page-booking-view-guest .action-summary{
        grid-template-columns:1fr;
    }
    body.rbs-ui.rbs-page-booking-view-guest .payment-table-wrap{
        border-radius:14px;
    }
    body.rbs-ui.rbs-page-booking-view-guest .payment-top, body.rbs-ui.rbs-page-booking-view-guest .reservation-top, body.rbs-ui.rbs-page-booking-view-guest .document-top{
        flex-direction:column;
    }
    body.rbs-ui.rbs-page-booking-view-guest .payment-pills, body.rbs-ui.rbs-page-booking-view-guest .reservation-pills{
        justify-content:flex-start;
    }
    body.rbs-ui.rbs-page-booking-view-guest .reservation-actions .btn{
        width:100%;
        justify-content:center;
    }
}

/* Migrated from /booking/view_reservation.php (page-scoped). */
body.rbs-ui.rbs-page-booking-view-reservation{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --warn-bg:#fffbeb;
    --warn-text:#92400e;
    --warn-line:#fde68a;
    --danger:#b91c1c;
    --danger-bg:#fef2f2;
    --danger-line:#fecaca;
    --success:#166534;
    --success-bg:#f0fdf4;
    --success-line:#bbf7d0;
    --info-bg:#eff6ff;
    --info-line:#bfdbfe;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --focus:#93c5fd;
}

body.rbs-ui.rbs-page-booking-view-reservation *{box-sizing:border-box}

body.rbs-ui.rbs-page-booking-view-reservation{
    margin:0;
    font-family:Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
}

body.rbs-ui.rbs-page-booking-view-reservation{
overflow-x:hidden;
overflow-y:auto;
}

body.rbs-ui.rbs-page-booking-view-reservation .wrap{
    max-width:1400px;
    margin:0 auto;
    padding:28px 20px 40px;
}

body.rbs-ui.rbs-page-booking-view-reservation .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-booking-view-reservation .topbar-left{
    display:flex;
    align-items:center;
    gap:16px;
}

body.rbs-ui.rbs-page-booking-view-reservation .title h1{
    margin:0 0 6px;
    font-size:32px;
}

body.rbs-ui.rbs-page-booking-view-reservation .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}

body.rbs-ui.rbs-page-booking-view-reservation .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-booking-view-reservation .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}

body.rbs-ui.rbs-page-booking-view-reservation button.btn{
    font:inherit;
}

body.rbs-ui.rbs-page-booking-view-reservation .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-booking-view-reservation .btn.secondary{
    background:#fff;
    color:var(--brand-dark);
    border:1px solid #d6c2b0;
}

body.rbs-ui.rbs-page-booking-view-reservation .btn.success{
    background:linear-gradient(180deg, #166534 0%, #14532d 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-booking-view-reservation .btn.danger{
    background:linear-gradient(180deg, #b91c1c 0%, #991b1b 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-booking-view-reservation .btn.refund-again{
    box-shadow:0 0 0 4px rgba(245,158,11,.28), 0 8px 22px rgba(185,28,28,.32);
    border:1px solid #f59e0b;
}

body.rbs-ui.rbs-page-booking-view-reservation .refund-warning-panel{
    margin:18px 0 0;
    padding:14px 16px;
    border-radius:16px;
    background:#fffbeb;
    border:1px solid #f59e0b;
    color:#78350f;
    font-weight:800;
    line-height:1.5;
}

body.rbs-ui.rbs-page-booking-view-reservation .refund-warning-panel span{
    display:block;
    margin-top:4px;
    font-weight:700;
    color:#92400e;
}

body.rbs-ui.rbs-page-booking-view-reservation .btn.warn{
    background:linear-gradient(180deg, #b45309 0%, #92400e 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-booking-view-reservation .hero{
    background:linear-gradient(135deg, #1e293b 0%, #334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}

body.rbs-ui.rbs-page-booking-view-reservation .hero-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-booking-view-reservation .hero h2{
    margin:0 0 10px;
    font-size:28px;
}

body.rbs-ui.rbs-page-booking-view-reservation .hero p{
    margin:0;
    max-width:860px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}

body.rbs-ui.rbs-page-booking-view-reservation .hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
}

body.rbs-ui.rbs-page-booking-view-reservation .hero-actions .btn{
    border-color:rgba(255,255,255,.18);
    background:rgba(255,255,255,.12);
    color:#fff;
}

body.rbs-ui.rbs-page-booking-view-reservation .hero-actions .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-booking-view-reservation .hero-actions .btn.success{
    background:linear-gradient(180deg, #166534 0%, #14532d 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-booking-view-reservation .hero-actions .btn.danger{
    background:linear-gradient(180deg, #b91c1c 0%, #991b1b 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-booking-view-reservation .hero-actions .btn.warn{
    background:linear-gradient(180deg, #b45309 0%, #92400e 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-booking-view-reservation .btn-checkin-today{
    background:linear-gradient(180deg, #15803d 0%, #14532d 100%);
    color:#fff !important;
    border:none !important;
    font-size:16px !important;
    font-weight:900 !important;
    min-height:52px !important;
    padding:0 22px !important;
    border-radius:14px !important;
    box-shadow:0 0 0 4px rgba(21,128,61,.25), 0 6px 20px rgba(21,128,61,.35) !important;
    animation:pulse-green 1.8s ease-in-out infinite;
    letter-spacing:-.01em;
}

body.rbs-ui.rbs-page-booking-view-reservation .btn-checkout-today{
    background:linear-gradient(180deg, #b91c1c 0%, #7f1d1d 100%);
    color:#fff !important;
    border:none !important;
    font-size:16px !important;
    font-weight:900 !important;
    min-height:52px !important;
    padding:0 22px !important;
    border-radius:14px !important;
    box-shadow:0 0 0 4px rgba(185,28,28,.25), 0 6px 20px rgba(185,28,28,.35) !important;
    animation:pulse-red 1.8s ease-in-out infinite;
    letter-spacing:-.01em;
}

@keyframes pulse-green{
    0%,100%{box-shadow:0 0 0 4px rgba(21,128,61,.25), 0 6px 20px rgba(21,128,61,.35);}
    50%{box-shadow:0 0 0 8px rgba(21,128,61,.15), 0 8px 28px rgba(21,128,61,.45);}
}

@keyframes pulse-red{
    0%,100%{box-shadow:0 0 0 4px rgba(185,28,28,.25), 0 6px 20px rgba(185,28,28,.35);}
    50%{box-shadow:0 0 0 8px rgba(185,28,28,.15), 0 8px 28px rgba(185,28,28,.45);}
}

body.rbs-ui.rbs-page-booking-view-reservation .hero-actions form, body.rbs-ui.rbs-page-booking-view-reservation .card-actions form{
    margin:0;
}

body.rbs-ui.rbs-page-booking-view-reservation .status-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:110px;
    padding:8px 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    border:1px solid transparent;
}

body.rbs-ui.rbs-page-booking-view-reservation .status-blue{
    background:var(--info-bg);
    color:#1d4ed8;
    border-color:var(--info-line);
}

body.rbs-ui.rbs-page-booking-view-reservation .status-green{
    background:var(--success-bg);
    color:var(--success);
    border-color:var(--success-line);
}

body.rbs-ui.rbs-page-booking-view-reservation .status-red{
    background:#fef2f2;
    color:var(--danger);
    border-color:#fecaca;
}

body.rbs-ui.rbs-page-booking-view-reservation .status-yellow{
    background:#fffbeb;
    color:#a16207;
    border-color:#fde68a;
}

body.rbs-ui.rbs-page-booking-view-reservation .status-gray{
    background:#f3f4f6;
    color:#4b5563;
    border-color:#d1d5db;
}

body.rbs-ui.rbs-page-booking-view-reservation .booking-summary-box{
    margin:0 0 20px;
    padding:20px 22px;
    border:1px solid #c7d2fe;
    border-radius:18px;
    background:#f8faff;
}

body.rbs-ui.rbs-page-booking-view-reservation .booking-summary-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    margin-bottom:12px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-booking-view-reservation .booking-summary-title{
    margin:0;
    font-size:13px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#3730a3;
}

body.rbs-ui.rbs-page-booking-view-reservation .booking-summary-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:10px 18px;
    border-radius:14px;
    font-size:28px;
    font-weight:800;
    line-height:1;
}

body.rbs-ui.rbs-page-booking-view-reservation .booking-summary-status.cancelled{
    background:var(--danger-bg);
    border:1px solid var(--danger-line);
    color:var(--danger);
}

body.rbs-ui.rbs-page-booking-view-reservation .booking-summary-status.checked-in{
    background:var(--success-bg);
    border:1px solid var(--success-line);
    color:var(--success);
}

body.rbs-ui.rbs-page-booking-view-reservation .booking-summary-status.checked-out{
    background:var(--info-bg);
    border:1px solid var(--info-line);
    color:#1d4ed8;
}

body.rbs-ui.rbs-page-booking-view-reservation .booking-summary-lines{
    display:grid;
    gap:10px;
}

body.rbs-ui.rbs-page-booking-view-reservation .booking-summary-total{
    font-size:18px;
    font-weight:800;
    color:#0f172a;
}

body.rbs-ui.rbs-page-booking-view-reservation .booking-summary-room, body.rbs-ui.rbs-page-booking-view-reservation .booking-summary-extra, body.rbs-ui.rbs-page-booking-view-reservation .booking-summary-link{
    font-size:16px;
    color:#0f172a;
}

body.rbs-ui.rbs-page-booking-view-reservation .booking-summary-link a{
    font-weight:800;
    color:#1d4ed8;
    text-decoration:none;
}

body.rbs-ui.rbs-page-booking-view-reservation .booking-summary-link a:hover{
    text-decoration:underline;
}

body.rbs-ui.rbs-page-booking-view-reservation .flash{
    border-radius:14px;
    padding:14px 16px;
    margin-bottom:18px;
    line-height:1.55;
    border:1px solid transparent;
}

body.rbs-ui.rbs-page-booking-view-reservation .flash.error{
    background:var(--danger-bg);
    color:var(--danger);
    border-color:var(--danger-line);
}

body.rbs-ui.rbs-page-booking-view-reservation .flash.success{
    background:var(--success-bg);
    color:var(--success);
    border-color:var(--success-line);
}

body.rbs-ui.rbs-page-booking-view-reservation .stats{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:14px;
    margin:24px 0;
}

body.rbs-ui.rbs-page-booking-view-reservation .stat{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    padding:16px;
}

body.rbs-ui.rbs-page-booking-view-reservation .stat-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    opacity:.8;
    margin-bottom:6px;
}

body.rbs-ui.rbs-page-booking-view-reservation .stat-value{
    font-size:22px;
    font-weight:700;
    line-height:1.2;
    margin:0;
}

body.rbs-ui.rbs-page-booking-view-reservation .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}

body.rbs-ui.rbs-page-booking-view-reservation .card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
    margin-bottom:16px;
}

body.rbs-ui.rbs-page-booking-view-reservation .card h3{
    margin:0;
    font-size:22px;
}

body.rbs-ui.rbs-page-booking-view-reservation .card-sub{
    margin:6px 0 0;
    color:var(--muted);
    line-height:1.55;
    font-size:14px;
}

body.rbs-ui.rbs-page-booking-view-reservation .card-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
    margin-left:auto;
}

body.rbs-ui.rbs-page-booking-view-reservation .btn-make-bill{
    background:linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%);
    color:#fff !important;
    border:none !important;
    font-weight:800 !important;
    box-shadow:0 6px 20px rgba(37,99,235,.25);
}

body.rbs-ui.rbs-page-booking-view-reservation .btn-make-bill:hover{
    transform:translateY(-1px);
    box-shadow:0 10px 24px rgba(37,99,235,.3);
}

body.rbs-ui.rbs-page-booking-view-reservation .bill-status-chip{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:44px;
    padding:10px 14px;
    border-radius:14px;
    font-size:14px;
    font-weight:800;
    line-height:1.2;
    border:1px solid transparent;
}

body.rbs-ui.rbs-page-booking-view-reservation .bill-status-chip.paid{
    background:var(--success-bg);
    border-color:var(--success-line);
    color:var(--success);
}

body.rbs-ui.rbs-page-booking-view-reservation .bill-status-chip.unpaid{
    background:#fff7ed;
    border-color:#fdba74;
    color:#c2410c;
}

body.rbs-ui.rbs-page-booking-view-reservation .booking-summary-bill{
    margin-top:4px;
    padding:12px 14px;
    border-radius:14px;
    background:#ffffff;
    border:1px solid #dbeafe;
    display:grid;
    gap:8px;
}

body.rbs-ui.rbs-page-booking-view-reservation .booking-summary-bill strong{
    color:#0f172a;
}

body.rbs-ui.rbs-page-booking-view-reservation .detail-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:18px;
}

body.rbs-ui.rbs-page-booking-view-reservation .detail-card{
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
    padding:18px;
    box-shadow:0 8px 20px rgba(15,23,42,.04);
}

body.rbs-ui.rbs-page-booking-view-reservation .detail-card h4{
    margin:0 0 14px;
    font-size:18px;
}

body.rbs-ui.rbs-page-booking-view-reservation .detail-list{
    display:grid;
    grid-template-columns:180px 1fr;
    gap:10px 12px;
    margin:0;
}

body.rbs-ui.rbs-page-booking-view-reservation .detail-list dt{
    font-weight:700;
    color:var(--muted);
}

body.rbs-ui.rbs-page-booking-view-reservation .detail-list dd{
    margin:0;
    word-break:break-word;
}

body.rbs-ui.rbs-page-booking-view-reservation .charge-table-wrap{
    overflow:auto;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
}

body.rbs-ui.rbs-page-booking-view-reservation .charge-table{
    width:100%;
    border-collapse:collapse;
}

body.rbs-ui.rbs-page-booking-view-reservation .charge-table th, body.rbs-ui.rbs-page-booking-view-reservation .charge-table td{
    padding:12px 14px;
    border-bottom:1px solid #e2e8f0;
    text-align:left;
    vertical-align:top;
    font-size:14px;
}

body.rbs-ui.rbs-page-booking-view-reservation .charge-table th{
    background:#f8fafc;
    color:var(--muted);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.04em;
}

body.rbs-ui.rbs-page-booking-view-reservation .charge-table tr:last-child td{
    border-bottom:none;
}

body.rbs-ui.rbs-page-booking-view-reservation .charge-empty{
    padding:18px;
    color:var(--muted);
}

body.rbs-ui.rbs-page-booking-view-reservation .note-box{
    border:1px dashed #cbd5e1;
    border-radius:16px;
    padding:16px;
    background:#fff;
    line-height:1.55;
    color:var(--text);
    min-height:120px;
}

body.rbs-ui.rbs-page-booking-view-reservation .modal-backdrop{
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.58);
    z-index:9998;
}

body.rbs-ui.rbs-page-booking-view-reservation .modal{
    position:fixed;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    z-index:9999;
}

body.rbs-ui.rbs-page-booking-view-reservation .modal[hidden], body.rbs-ui.rbs-page-booking-view-reservation .modal-backdrop[hidden]{
    display:none !important;
}

body.rbs-ui.rbs-page-booking-view-reservation .modal-dialog{
    width:min(1200px, 100%);
    max-height:90vh;
    overflow:hidden;
    background:#fff;
    border-radius:22px;
    box-shadow:0 24px 60px rgba(15,23,42,.24);
    border:1px solid var(--line);
    display:flex;
    flex-direction:column;
}

body.rbs-ui.rbs-page-booking-view-reservation .modal-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:20px 22px;
    border-bottom:1px solid var(--line);
    background:#f8fafc;
}

body.rbs-ui.rbs-page-booking-view-reservation .modal-head h3{
    margin:0;
    font-size:24px;
    color:var(--text);
}

body.rbs-ui.rbs-page-booking-view-reservation .modal-sub{
    margin:4px 0 0;
    color:var(--muted);
    font-size:14px;
}

body.rbs-ui.rbs-page-booking-view-reservation .modal-close{
    min-width:44px;
    min-height:44px;
    border:1px solid var(--line);
    background:#fff;
    border-radius:12px;
    font-size:22px;
    line-height:1;
    cursor:pointer;
}

body.rbs-ui.rbs-page-booking-view-reservation .modal-body{
    padding:20px 22px 24px;
    overflow:auto;
    color:var(--text);
}

body.rbs-ui.rbs-page-booking-view-reservation .modal-section{
    border:1px solid var(--line);
    border-radius:16px;
    padding:16px;
    margin-bottom:16px;
    background:#fff;
}

body.rbs-ui.rbs-page-booking-view-reservation .modal-section h4{
    margin:0 0 6px;
    font-size:18px;
}

body.rbs-ui.rbs-page-booking-view-reservation .modal-section p{
    margin:0 0 16px;
    font-size:14px;
    color:var(--muted);
}

body.rbs-ui.rbs-page-booking-view-reservation .form-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:14px;
}

body.rbs-ui.rbs-page-booking-view-reservation .field{
    display:flex;
    flex-direction:column;
    gap:8px;
}

body.rbs-ui.rbs-page-booking-view-reservation .field.span-2{ grid-column:span 2; }
body.rbs-ui.rbs-page-booking-view-reservation .field.span-3{ grid-column:span 3; }

body.rbs-ui.rbs-page-booking-view-reservation .field label{
    font-size:14px;
    font-weight:700;
    color:#334155;
}

body.rbs-ui.rbs-page-booking-view-reservation .field input, body.rbs-ui.rbs-page-booking-view-reservation .field select, body.rbs-ui.rbs-page-booking-view-reservation .field textarea{
    width:100%;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    font-size:14px;
    color:var(--text);
    outline:none;
}

body.rbs-ui.rbs-page-booking-view-reservation .field input, body.rbs-ui.rbs-page-booking-view-reservation .field select{
    min-height:46px;
    padding:0 12px;
}

body.rbs-ui.rbs-page-booking-view-reservation .field textarea{
    min-height:110px;
    padding:12px;
    resize:vertical;
}

body.rbs-ui.rbs-page-booking-view-reservation .field input:focus, body.rbs-ui.rbs-page-booking-view-reservation .field select:focus, body.rbs-ui.rbs-page-booking-view-reservation .field textarea:focus{
    border-color:var(--focus);
    box-shadow:0 0 0 3px rgba(147,197,253,.20);
}

body.rbs-ui.rbs-page-booking-view-reservation .form-actions{
    margin-top:16px;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

@media (max-width: 1100px){
    body.rbs-ui.rbs-page-booking-view-reservation .stats{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    body.rbs-ui.rbs-page-booking-view-reservation .detail-grid, body.rbs-ui.rbs-page-booking-view-reservation .form-grid{
        grid-template-columns:1fr;
    }

    body.rbs-ui.rbs-page-booking-view-reservation .field.span-2, body.rbs-ui.rbs-page-booking-view-reservation .field.span-3{
        grid-column:span 1;
    }
}

@media (max-width: 760px){
    body.rbs-ui.rbs-page-booking-view-reservation .wrap{
        padding:20px 16px 32px;
    }

    body.rbs-ui.rbs-page-booking-view-reservation .topbar{
        flex-direction:column;
        align-items:stretch;
    }

    body.rbs-ui.rbs-page-booking-view-reservation .topbar-left{
        margin-bottom:16px;
    }

    body.rbs-ui.rbs-page-booking-view-reservation .title h1{
        font-size:26px;
    }

    body.rbs-ui.rbs-page-booking-view-reservation .hero h2{
        font-size:24px;
    }

    body.rbs-ui.rbs-page-booking-view-reservation .stats{
        grid-template-columns:1fr;
    }

    body.rbs-ui.rbs-page-booking-view-reservation .detail-list{
        grid-template-columns:1fr;
    }

    body.rbs-ui.rbs-page-booking-view-reservation .card-actions{
        width:100%;
        justify-content:flex-start;
    }

    body.rbs-ui.rbs-page-booking-view-reservation .modal{
        padding:12px;
    }

    body.rbs-ui.rbs-page-booking-view-reservation .modal-dialog{
        max-height:94vh;
    }

    body.rbs-ui.rbs-page-booking-view-reservation .modal-head{
        padding:16px;
    }

    body.rbs-ui.rbs-page-booking-view-reservation .modal-body{
        padding:16px;
    }
}

/* Migrated from /change_password.php (page-scoped). */
body.rbs-ui.rbs-page-change-password{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --danger:#b91c1c;
    --danger-bg:#fef2f2;
    --danger-line:#fecaca;
    --warning:#92400e;
    --warning-bg:#fffbeb;
    --warning-line:#fde68a;
    --shadow:0 18px 40px rgba(15,23,42,.10);
}

body.rbs-ui.rbs-page-change-password *{box-sizing:border-box}

body.rbs-ui.rbs-page-change-password{
    margin:0;
    min-height:100vh;
    font-family:Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
}

body.rbs-ui.rbs-page-change-password .shell{
    width:100%;
    max-width:520px;
}

body.rbs-ui.rbs-page-change-password .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-change-password h1{
    margin:0 0 8px;
    font-size:30px;
}

body.rbs-ui.rbs-page-change-password .sub{
    margin:0 0 22px;
    color:var(--muted);
    line-height:1.6;
    font-size:15px;
}

body.rbs-ui.rbs-page-change-password .notice{
    margin:0 0 18px;
    padding:14px 16px;
    border-radius:16px;
    border:1px solid var(--warning-line);
    background:var(--warning-bg);
    color:var(--warning);
    font-size:14px;
    line-height:1.5;
    font-weight:700;
}

body.rbs-ui.rbs-page-change-password .error{
    margin:0 0 18px;
    padding:14px 16px;
    border-radius:16px;
    border:1px solid var(--danger-line);
    background:var(--danger-bg);
    color:var(--danger);
    font-size:14px;
    line-height:1.5;
}

body.rbs-ui.rbs-page-change-password .field{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-bottom:16px;
}

body.rbs-ui.rbs-page-change-password .field label{
    font-size:14px;
    font-weight:700;
    color:#334155;
}

body.rbs-ui.rbs-page-change-password .field input{
    width:100%;
    min-height:52px;
    border:1px solid var(--line);
    border-radius:14px;
    padding:0 14px;
    font-size:15px;
    background:#fff;
    color:var(--text);
}

body.rbs-ui.rbs-page-change-password .field input:focus{
    outline:none;
    border-color:var(--brand);
    box-shadow:0 0 0 4px rgba(139,94,60,.12);
}

body.rbs-ui.rbs-page-change-password .meta{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-change-password .meta-box{
    background:#f8fafc;
    border:1px solid var(--line);
    border-radius:14px;
    padding:12px 14px;
}

body.rbs-ui.rbs-page-change-password .meta-box .k{
    font-size:12px;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.06em;
    margin-bottom:4px;
}

body.rbs-ui.rbs-page-change-password .meta-box .v{
    font-size:14px;
    font-weight:700;
    color:var(--text);
    word-break:break-word;
}

body.rbs-ui.rbs-page-change-password .actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:8px;
}

body.rbs-ui.rbs-page-change-password .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:0 18px;
    border-radius:14px;
    text-decoration:none;
    font-weight:700;
    cursor:pointer;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
}

body.rbs-ui.rbs-page-change-password .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-change-password .hint{
    margin-top:14px;
    color:var(--muted);
    font-size:13px;
    line-height:1.6;
}

@media (max-width: 640px){
    body.rbs-ui.rbs-page-change-password .card{
        padding:22px 18px;
        border-radius:20px;
    }

    body.rbs-ui.rbs-page-change-password .meta{
        grid-template-columns:1fr;
    }

    body.rbs-ui.rbs-page-change-password .actions{
        flex-direction:column;
    }

    body.rbs-ui.rbs-page-change-password .btn{
        width:100%;
    }
}

/* Migrated from /dashboard.php (page-scoped). */
body.rbs-ui.rbs-page-dashboard{
    --bg:#f3f5f8;
    --card:#ffffff;
    --card-soft:#f8fafc;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --brand-soft:#f8f2ee;
    --shadow:0 10px 26px rgba(15,23,42,.08);
    --soft-shadow:0 6px 18px rgba(15,23,42,.05);
    --success-bg:#ecfdf3;
    --success-line:#bbf7d0;
    --success-text:#166534;
    --alert-bg:#fff7ed;
    --alert-line:#fdba74;
    --alert-text:#9a3412;
    --priority-bg:#0f172a;
    --priority-text:#ffffff;
    --priority-line:#1e293b;
    --drag:#dbeafe;
    --drag-line:#93c5fd;
    --helper-bg:#fffbeb;
    --helper-line:#fcd34d;
    --helper-text:#92400e;
}

body.rbs-ui.rbs-page-dashboard *{box-sizing:border-box}

body.rbs-ui.rbs-page-dashboard{
    margin:0;
    font-family:Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}

body.rbs-ui.rbs-page-dashboard .wrap{
    max-width:1360px;
    margin:0 auto;
    padding:22px 18px 40px;
}

body.rbs-ui.rbs-page-dashboard .topbar{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:18px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-dashboard .topbar-left{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    min-width:0;
}

body.rbs-ui.rbs-page-dashboard .page-logo-wrap{
    margin:0;
    flex:0 0 auto;
}

body.rbs-ui.rbs-page-dashboard .page-logo-link{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
}

body.rbs-ui.rbs-page-dashboard .page-logo{
    display:block;
    width:auto;
    max-height:46px;
    max-width:180px;
}

body.rbs-ui.rbs-page-dashboard .title h1{
    margin:0 0 4px;
    font-size:30px;
    line-height:1.1;
}

body.rbs-ui.rbs-page-dashboard .title p{
    margin:0;
    color:var(--muted);
    font-size:14px;
}

body.rbs-ui.rbs-page-dashboard .topbar-right{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:10px;
}

body.rbs-ui.rbs-page-dashboard .utility-links, body.rbs-ui.rbs-page-dashboard .actions{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

body.rbs-ui.rbs-page-dashboard .utility-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:40px;
    padding:0 14px;
    border-radius:12px;
    text-decoration:none;
    border:1px solid #dbe2ea;
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
    color:#334155;
    font-size:13px;
    font-weight:800;
    box-shadow:0 8px 18px rgba(15,23,42,.06);
    transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
body.rbs-ui.rbs-page-dashboard .utility-link:hover{
    transform:translateY(-1px);
    box-shadow:0 12px 22px rgba(15,23,42,.10);
    border-color:#cbd5e1;
}

body.rbs-ui.rbs-page-dashboard .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:48px;
    padding:0 18px;
    border-radius:14px;
    text-decoration:none;
    font-weight:900;
    letter-spacing:.01em;
    border:1px solid var(--line);
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
    color:var(--text);
    box-shadow:0 10px 20px rgba(15,23,42,.08);
    transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, filter .16s ease;
}
body.rbs-ui.rbs-page-dashboard .btn:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 28px rgba(15,23,42,.14);
}
body.rbs-ui.rbs-page-dashboard .btn:active{
    transform:translateY(0);
}

body.rbs-ui.rbs-page-dashboard .btn.primary{
    background:linear-gradient(135deg,#16a34a 0%,#0f766e 100%);
    color:#fff;
    border:none;
    box-shadow:0 14px 26px rgba(15,118,110,.24);
}

body.rbs-ui.rbs-page-dashboard .btn.strong{
    background:linear-gradient(135deg,#0f172a 0%,#0f766e 100%);
    color:#fff;
    border:none;
    box-shadow:0 14px 26px rgba(15,23,42,.24);
}

body.rbs-ui.rbs-page-dashboard .actions .btn[href="/payments/index.php"]{
    background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);
    color:#fff;
    border:none;
    box-shadow:0 14px 26px rgba(37,99,235,.24);
}

body.rbs-ui.rbs-page-dashboard .actions .btn[href="/logout.php"]{
    background:linear-gradient(135deg,#f97316 0%,#dc2626 100%);
    color:#fff;
    border:none;
    box-shadow:0 14px 26px rgba(220,38,38,.22);
}

body.rbs-ui.rbs-page-dashboard .utility-link[href="/admin/index.php"]{
    background:linear-gradient(180deg,#faf5ff 0%,#f3e8ff 100%);
    color:#6b21a8;
    border-color:#e9d5ff;
}

body.rbs-ui.rbs-page-dashboard .utility-link[href="/settings/index.php"]{
    background:linear-gradient(180deg,#eff6ff 0%,#dbeafe 100%);
    color:#1d4ed8;
    border-color:#bfdbfe;
}

body.rbs-ui.rbs-page-dashboard .btn.portal{
    background:linear-gradient(180deg,#fff7ed 0%,#ffedd5 100%);
    color:var(--alert-text);
    border:1px solid rgba(154,52,18,.18);
    box-shadow:0 12px 22px rgba(154,52,18,.12);
}

body.rbs-ui.rbs-page-dashboard .toolbar{
    display:grid;
    grid-template-columns:1fr auto;
    gap:12px;
    align-items:center;
    margin-bottom:16px;
    padding:14px 16px;
    border-radius:16px;
    background:#fff;
    border:1px solid var(--line);
    box-shadow:var(--soft-shadow);
}

body.rbs-ui.rbs-page-dashboard .toolbar-copy{
    min-width:0;
}

body.rbs-ui.rbs-page-dashboard .toolbar-copy h2{
    margin:0 0 4px;
    font-size:18px;
    line-height:1.2;
}

body.rbs-ui.rbs-page-dashboard .toolbar-copy p{
    margin:0;
    color:var(--muted);
    font-size:14px;
    line-height:1.5;
}

body.rbs-ui.rbs-page-dashboard .toolbar-meta{
    display:inline-flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

body.rbs-ui.rbs-page-dashboard .stat-pill, body.rbs-ui.rbs-page-dashboard .move-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:0 12px;
    border-radius:999px;
    font-size:13px;
    font-weight:800;
    white-space:nowrap;
}

body.rbs-ui.rbs-page-dashboard .stat-pill{
    background:var(--success-bg);
    color:var(--success-text);
    border:1px solid var(--success-line);
}

body.rbs-ui.rbs-page-dashboard .move-pill{
    background:#f8fafc;
    color:#475569;
    border:1px solid #dbe2ea;
}


body.rbs-ui.rbs-page-dashboard .today-stays-card{
    margin-bottom:16px;
    padding:18px;
    border-radius:20px;
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
    border:1px solid var(--line);
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-dashboard .today-stays-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:14px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-dashboard .today-stays-title-wrap{
    min-width:0;
    flex:1 1 420px;
}

body.rbs-ui.rbs-page-dashboard .today-stays-kicker{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:0 10px;
    margin-bottom:8px;
    border-radius:999px;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:#1d4ed8;
    background:#eff6ff;
    border:1px solid #bfdbfe;
}

body.rbs-ui.rbs-page-dashboard .today-stays-title{
    margin:0 0 4px;
    font-size:24px;
    line-height:1.15;
}

body.rbs-ui.rbs-page-dashboard .today-stays-copy{
    margin:0;
    color:var(--muted);
    font-size:14px;
    line-height:1.5;
}

body.rbs-ui.rbs-page-dashboard .today-stays-total{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:64px;
    min-height:64px;
    padding:0 16px;
    border-radius:18px;
    background:#0f172a;
    color:#fff;
    font-size:26px;
    font-weight:900;
    box-shadow:0 16px 28px rgba(15,23,42,.16);
}

body.rbs-ui.rbs-page-dashboard .today-stays-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

body.rbs-ui.rbs-page-dashboard .today-stays-column{
    min-width:0;
    border:1px solid #dbe2ea;
    border-radius:18px;
    background:#fff;
    padding:14px;
}

body.rbs-ui.rbs-page-dashboard .today-stays-column.check-ins{
    background:linear-gradient(180deg,#eff6ff 0%,#ffffff 100%);
    border-color:#bfdbfe;
}

body.rbs-ui.rbs-page-dashboard .today-stays-column.check-outs{
    background:linear-gradient(180deg,#f8fafc 0%,#ffffff 100%);
}

body.rbs-ui.rbs-page-dashboard .today-stays-column-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:12px;
}

body.rbs-ui.rbs-page-dashboard .today-stays-column-title{
    margin:0;
    font-size:18px;
    line-height:1.2;
}

body.rbs-ui.rbs-page-dashboard .today-stays-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:38px;
    min-height:38px;
    padding:0 10px;
    border-radius:999px;
    font-size:15px;
    font-weight:900;
    color:#0f172a;
    background:#fff;
    border:1px solid #cbd5e1;
}

body.rbs-ui.rbs-page-dashboard .today-stays-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}

body.rbs-ui.rbs-page-dashboard .today-stays-item{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    padding:12px;
    border-radius:14px;
    border:1px solid #e2e8f0;
    background:rgba(255,255,255,.88);
}

body.rbs-ui.rbs-page-dashboard .today-stays-item-main{
    min-width:0;
    flex:1 1 auto;
}

body.rbs-ui.rbs-page-dashboard .today-stays-item-title{
    margin:0 0 4px;
    font-size:15px;
    font-weight:900;
    color:#0f172a;
}

body.rbs-ui.rbs-page-dashboard .today-stays-item-meta{
    margin:0;
    color:#475569;
    font-size:13px;
    line-height:1.5;
}

body.rbs-ui.rbs-page-dashboard .today-stays-item-sub{
    display:block;
    margin-top:2px;
}

body.rbs-ui.rbs-page-dashboard .today-stays-item-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:86px;
    min-height:40px;
    padding:0 14px;
    border-radius:12px;
    text-decoration:none;
    font-size:13px;
    font-weight:800;
    color:#0f172a;
    background:#fff;
    border:1px solid #cbd5e1;
    box-shadow:0 8px 16px rgba(15,23,42,.06);
    transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

body.rbs-ui.rbs-page-dashboard .today-stays-item-action:hover{
    transform:translateY(-1px);
    box-shadow:0 12px 18px rgba(15,23,42,.10);
    border-color:#94a3b8;
}

body.rbs-ui.rbs-page-dashboard .today-stays-status{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:0 9px;
    margin-top:8px;
    border-radius:999px;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    border:1px solid #cbd5e1;
    background:#f8fafc;
    color:#334155;
}

body.rbs-ui.rbs-page-dashboard .today-stays-status.status-reserved, body.rbs-ui.rbs-page-dashboard .today-stays-status.status-pending{
    background:#fff7ed;
    border-color:#fdba74;
    color:#9a3412;
}

body.rbs-ui.rbs-page-dashboard .today-stays-status.status-checked_in{
    background:#ecfdf3;
    border-color:#bbf7d0;
    color:#166534;
}

body.rbs-ui.rbs-page-dashboard .today-stays-status.status-checked_out{
    background:#eff6ff;
    border-color:#bfdbfe;
    color:#1d4ed8;
}

body.rbs-ui.rbs-page-dashboard .today-stays-empty, body.rbs-ui.rbs-page-dashboard .today-stays-error{
    margin:0;
    padding:14px;
    border-radius:14px;
    font-size:14px;
    line-height:1.5;
}

body.rbs-ui.rbs-page-dashboard .today-stays-empty{
    color:#475569;
    background:#f8fafc;
    border:1px dashed #cbd5e1;
}

body.rbs-ui.rbs-page-dashboard .today-stays-error{
    color:#991b1b;
    background:#fef2f2;
    border:1px solid #fecaca;
}

body.rbs-ui.rbs-page-dashboard .portal-alert{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:16px;
    padding:14px 16px;
    border-radius:16px;
    background:var(--alert-bg);
    color:var(--alert-text);
    border:1px solid var(--alert-line);
    box-shadow:var(--soft-shadow);
}

body.rbs-ui.rbs-page-dashboard .portal-alert-left{
    min-width:0;
    flex:1 1 auto;
}

body.rbs-ui.rbs-page-dashboard .portal-alert-title{
    margin:0 0 4px;
    font-size:18px;
    line-height:1.2;
}

body.rbs-ui.rbs-page-dashboard .portal-alert-meta{
    margin:0;
    line-height:1.5;
    font-size:14px;
}

body.rbs-ui.rbs-page-dashboard .portal-alert-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex:0 0 auto;
    flex-wrap:wrap;
    justify-content:flex-end;
}

body.rbs-ui.rbs-page-dashboard .portal-count-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:44px;
    min-height:44px;
    padding:0 12px;
    border-radius:999px;
    background:#fff;
    color:var(--alert-text);
    border:1px solid rgba(154,52,18,.18);
    font-size:18px;
    font-weight:900;
}

body.rbs-ui.rbs-page-dashboard .btn.portal{
    background:#fff;
    color:var(--alert-text);
    border:1px solid rgba(154,52,18,.18);
}

body.rbs-ui.rbs-page-dashboard .btn.portal-secondary{
    background:rgba(255,255,255,.72);
    color:var(--alert-text);
    border:1px solid rgba(154,52,18,.14);
    box-shadow:none;
}

body.rbs-ui.rbs-page-dashboard .grid{
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:18px;
}

body.rbs-ui.rbs-page-dashboard .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:22px;
    padding:18px;
    box-shadow:var(--shadow);
    transition:border-color .15s ease, transform .15s ease, background .15s ease, opacity .15s ease;
    grid-column:span 4;
}

body.rbs-ui.rbs-page-dashboard .card[draggable="true"]{
    cursor:grab;
}

body.rbs-ui.rbs-page-dashboard .card.dragging{
    opacity:.55;
    transform:scale(.985);
}

body.rbs-ui.rbs-page-dashboard .card.drag-over{
    border-color:var(--drag-line);
    background:var(--drag);
}

body.rbs-ui.rbs-page-dashboard .card.featured{
    grid-column:span 6;
    padding:20px;
}

body.rbs-ui.rbs-page-dashboard .card.soft{
    background:var(--card-soft);
    border-color:#dbe2ea;
}

body.rbs-ui.rbs-page-dashboard .card-headline{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
}

body.rbs-ui.rbs-page-dashboard .card-kicker{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:0 10px;
    border-radius:999px;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--brand-dark);
    background:var(--brand-soft);
    border:1px solid #ead7cb;
    margin-bottom:8px;
}

body.rbs-ui.rbs-page-dashboard .card-title-wrap h3{
    margin:0 0 6px;
    font-size:24px;
    line-height:1.15;
}

body.rbs-ui.rbs-page-dashboard .card.standard .card-title-wrap h3{
    font-size:20px;
}

body.rbs-ui.rbs-page-dashboard .card-copy{
    margin:0;
    color:var(--muted);
    line-height:1.55;
    font-size:14px;
}

body.rbs-ui.rbs-page-dashboard .card-tools{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    flex-shrink:0;
}

body.rbs-ui.rbs-page-dashboard .help-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:38px;
    padding:0 14px;
    border-radius:12px;
    text-decoration:none;
    border:1px solid #ddd6fe;
    background:linear-gradient(180deg,#faf5ff 0%,#f5f3ff 100%);
    color:#6d28d9;
    font-size:13px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(109,40,217,.10);
    transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
body.rbs-ui.rbs-page-dashboard .help-link:hover{
    transform:translateY(-1px);
    box-shadow:0 12px 22px rgba(109,40,217,.16);
    border-color:#c4b5fd;
}

body.rbs-ui.rbs-page-dashboard .main-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:0 0 14px;
}

body.rbs-ui.rbs-page-dashboard .main-action{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:58px;
    padding:12px 16px;
    border-radius:16px;
    font-size:15px;
    font-weight:900;
    text-decoration:none;
    color:var(--priority-text);
    background:linear-gradient(135deg,#111827 0%, #334155 100%);
    border:1px solid #1f2937;
    box-shadow:0 16px 28px rgba(15,23,42,.16);
    text-align:center;
    transition:transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
body.rbs-ui.rbs-page-dashboard .main-action:hover{
    transform:translateY(-2px) scale(1.01);
    box-shadow:0 20px 34px rgba(15,23,42,.20);
    filter:saturate(1.05);
}

body.rbs-ui.rbs-page-dashboard .subsection{
    margin-top:12px;
}

body.rbs-ui.rbs-page-dashboard .subsection-label{
    margin:0 0 8px;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:#64748b;
}

body.rbs-ui.rbs-page-dashboard .secondary-links{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

body.rbs-ui.rbs-page-dashboard .secondary-link, body.rbs-ui.rbs-page-dashboard .planned-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:42px;
    padding:10px 14px;
    border-radius:12px;
    font-size:14px;
    font-weight:800;
    text-decoration:none;
    border:1px solid var(--line);
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
    color:#0f172a;
    box-shadow:0 8px 16px rgba(15,23,42,.05);
    transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
body.rbs-ui.rbs-page-dashboard .secondary-link:hover{
    transform:translateY(-1px);
    box-shadow:0 12px 20px rgba(15,23,42,.10);
    border-color:#cbd5e1;
}

body.rbs-ui.rbs-page-dashboard .setup-helper{
    margin:0 0 14px;
    padding:14px;
    border:1px solid var(--helper-line);
    background:var(--helper-bg);
    border-radius:14px;
}

body.rbs-ui.rbs-page-dashboard .setup-helper-title{
    margin:0 0 10px;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--helper-text);
}

body.rbs-ui.rbs-page-dashboard .setup-helper-flow{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
}

body.rbs-ui.rbs-page-dashboard .setup-helper-step{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:40px;
    padding:8px 14px;
    border-radius:12px;
    text-decoration:none;
    font-weight:900;
    font-size:14px;
    color:var(--helper-text);
    background:linear-gradient(180deg,#ffffff 0%,#fffbeb 100%);
    border:1px solid #fcd34d;
    box-shadow:0 8px 16px rgba(252,211,77,.16);
    transition:transform .16s ease, box-shadow .16s ease;
}
body.rbs-ui.rbs-page-dashboard .setup-helper-step:hover{
    transform:translateY(-1px);
    box-shadow:0 12px 20px rgba(252,211,77,.22);
}

body.rbs-ui.rbs-page-dashboard .setup-helper-arrow{
    color:var(--helper-text);
    font-weight:800;
}

body.rbs-ui.rbs-page-dashboard .planned-card{
    grid-column:1 / -1;
    padding:0;
    overflow:hidden;
}

body.rbs-ui.rbs-page-dashboard .planned-card details{
    display:block;
}

body.rbs-ui.rbs-page-dashboard .planned-card summary{
    list-style:none;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:18px;
    cursor:pointer;
    user-select:none;
}

body.rbs-ui.rbs-page-dashboard .planned-card summary::-webkit-details-marker{
    display:none;
}

body.rbs-ui.rbs-page-dashboard .planned-title{
    margin:0;
    font-size:20px;
    font-weight:800;
    color:#334155;
}

body.rbs-ui.rbs-page-dashboard .planned-meta{
    display:flex;
    align-items:center;
    gap:10px;
    flex-shrink:0;
}

body.rbs-ui.rbs-page-dashboard .chev{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border-radius:999px;
    border:1px solid #d1d5db;
    background:#fff;
    color:#64748b;
    font-size:16px;
    line-height:1;
    transition:transform .15s ease;
}

body.rbs-ui.rbs-page-dashboard .planned-card details[open] .chev{
    transform:rotate(180deg);
}

body.rbs-ui.rbs-page-dashboard .planned-body{
    padding:0 18px 18px;
    border-top:1px solid #e5e7eb;
}

body.rbs-ui.rbs-page-dashboard .planned-note{
    margin:14px 0 14px;
    color:#64748b;
    line-height:1.55;
}

body.rbs-ui.rbs-page-dashboard .planned-links{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

body.rbs-ui.rbs-page-dashboard .planned-link{
    background:#eef2f7;
    color:#475569;
    border-color:#dbe2ea;
    cursor:default;
}

body.rbs-ui.rbs-page-dashboard .help-modal{
    position:fixed;
    inset:0;
    z-index:9999;
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:rgba(15,23,42,.55);
}

body.rbs-ui.rbs-page-dashboard .help-modal.show{
    display:flex;
}

body.rbs-ui.rbs-page-dashboard .help-dialog{
    width:min(900px, 100%);
    max-height:90vh;
    overflow:auto;
    background:#fff;
    border-radius:20px;
    box-shadow:0 24px 60px rgba(15,23,42,.25);
    border:1px solid #dbe2ea;
}

body.rbs-ui.rbs-page-dashboard .help-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:18px 20px;
    border-bottom:1px solid #e2e8f0;
    position:sticky;
    top:0;
    background:#fff;
    z-index:2;
}

body.rbs-ui.rbs-page-dashboard .help-header h2{
    margin:0;
    font-size:22px;
    color:#0f172a;
}

body.rbs-ui.rbs-page-dashboard .help-close{
    width:38px;
    height:38px;
    border-radius:999px;
    border:1px solid #dbe2ea;
    background:#fff;
    color:#0f172a;
    font-size:24px;
    line-height:1;
    cursor:pointer;
}

body.rbs-ui.rbs-page-dashboard .help-close:hover{
    background:#f8fafc;
}

body.rbs-ui.rbs-page-dashboard .help-content{
    padding:20px;
    color:#0f172a;
    line-height:1.65;
}

body.rbs-ui.rbs-page-dashboard .help-content h1, body.rbs-ui.rbs-page-dashboard .help-content h2, body.rbs-ui.rbs-page-dashboard .help-content h3, body.rbs-ui.rbs-page-dashboard .help-content h4, body.rbs-ui.rbs-page-dashboard .help-content h5, body.rbs-ui.rbs-page-dashboard .help-content h6{
    margin:0 0 12px;
    line-height:1.3;
    color:#0f172a;
}

body.rbs-ui.rbs-page-dashboard .help-content h1{ font-size:28px; }
body.rbs-ui.rbs-page-dashboard .help-content h2{ font-size:24px; margin-top:22px; }
body.rbs-ui.rbs-page-dashboard .help-content h3{ font-size:20px; margin-top:18px; }
body.rbs-ui.rbs-page-dashboard .help-content h4{ font-size:18px; margin-top:16px; }

body.rbs-ui.rbs-page-dashboard .help-content p{
    margin:0 0 14px;
    color:#334155;
}

body.rbs-ui.rbs-page-dashboard .help-content ul, body.rbs-ui.rbs-page-dashboard .help-content ol{
    margin:0 0 16px 22px;
    color:#334155;
}

body.rbs-ui.rbs-page-dashboard .help-content li{
    margin:0 0 8px;
}

body.rbs-ui.rbs-page-dashboard .help-content code{
    background:#f1f5f9;
    border:1px solid #e2e8f0;
    border-radius:6px;
    padding:2px 6px;
    font-family:Consolas, Monaco, monospace;
    font-size:.95em;
    color:#0f172a;
}

body.rbs-ui.rbs-page-dashboard .help-content hr{
    border:0;
    border-top:1px solid #e2e8f0;
    margin:20px 0;
}

body.rbs-ui.rbs-page-dashboard .help-content a{
    color:#166534;
    text-decoration:underline;
}

body.rbs-ui.rbs-page-dashboard .utility-link::before, body.rbs-ui.rbs-page-dashboard .btn::before, body.rbs-ui.rbs-page-dashboard .help-link::before, body.rbs-ui.rbs-page-dashboard .main-action::before, body.rbs-ui.rbs-page-dashboard .secondary-link::before, body.rbs-ui.rbs-page-dashboard .setup-helper-step::before{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:22px;
    height:22px;
    border-radius:999px;
    background:rgba(255,255,255,.16);
    flex:0 0 22px;
    font-size:13px;
    line-height:1;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.22);
}

body.rbs-ui.rbs-page-dashboard .utility-link[href="/admin/index.php"]::before{content:"⚙️"; background:#ede9fe;}
body.rbs-ui.rbs-page-dashboard .utility-link[href="/settings/index.php"]::before{content:"🛠️"; background:#dbeafe;}

body.rbs-ui.rbs-page-dashboard .actions .btn.strong[href="/payments/folios.php"]::before{content:"🧾";}
body.rbs-ui.rbs-page-dashboard .actions .btn[href="/payments/index.php"]::before{content:"💳";}
body.rbs-ui.rbs-page-dashboard .actions .btn.primary[href="/booking/add_reservation.php"]::before{content:"✨";}
body.rbs-ui.rbs-page-dashboard .actions .btn[href="/logout.php"]::before{content:"↩️";}

body.rbs-ui.rbs-page-dashboard .portal-alert .btn.portal::before{content:"🚨"; background:rgba(255,255,255,.55);}
body.rbs-ui.rbs-page-dashboard .portal-alert .btn.portal-secondary::before{content:"✓"; background:rgba(255,255,255,.55);}

body.rbs-ui.rbs-page-dashboard .help-link::before{content:"❔"; background:#ede9fe;}

body.rbs-ui.rbs-page-dashboard .main-action[href="/booking/index.php"]::before{content:"☀️";}
body.rbs-ui.rbs-page-dashboard .main-action[href="/booking/add_reservation.php"]::before{content:"🛏️";}
body.rbs-ui.rbs-page-dashboard .main-action[href="/payments/index.php"]::before{content:"💸";}
body.rbs-ui.rbs-page-dashboard .main-action[href="/payments/folios.php"]::before{content:"🧾";}
body.rbs-ui.rbs-page-dashboard .main-action[href="/housekeeping/index.php"]::before{content:"🧹";}
body.rbs-ui.rbs-page-dashboard .main-action[href="/rooms/index.php"]::before{content:"🚪";}
body.rbs-ui.rbs-page-dashboard .main-action[href="/rooms/rates.php"]::before{content:"🏷️";}
body.rbs-ui.rbs-page-dashboard .main-action[href="/reports/index.php"]::before{content:"📊";}
body.rbs-ui.rbs-page-dashboard .main-action[href="/reports/tax/index.php"]::before{content:"🧾";}

body.rbs-ui.rbs-page-dashboard .secondary-link[href*="/reservations.php"]::before{content:"📋";}
body.rbs-ui.rbs-page-dashboard .secondary-link[href*="/guest_directory.php"]::before{content:"👤";}
body.rbs-ui.rbs-page-dashboard .secondary-link[href*="/calendar.php"]::before{content:"📅";}
body.rbs-ui.rbs-page-dashboard .secondary-link[href*="/room_availability.php"]::before{content:"🛎️";}
body.rbs-ui.rbs-page-dashboard .secondary-link[href*="/check_in_out.php"]::before{content:"🔑";}
body.rbs-ui.rbs-page-dashboard .secondary-link[href*="/payments/payments.php"]::before{content:"💰";}
body.rbs-ui.rbs-page-dashboard .secondary-link[href*="/payments/charges.php"]::before{content:"➕";}
body.rbs-ui.rbs-page-dashboard .secondary-link[href*="/payments/refunds.php"]::before{content:"↪️";}
body.rbs-ui.rbs-page-dashboard .secondary-link[href*="/payments/paid_invoices.php"]::before{content:"↪️";}
body.rbs-ui.rbs-page-dashboard .secondary-link[href*="/payments/invoices.php"]::before{content:"🧮";}
body.rbs-ui.rbs-page-dashboard .secondary-link[href*="/payments/reports.php"]::before{content:"📊";}
body.rbs-ui.rbs-page-dashboard .secondary-link[href*="/reports/index.php"]::before{content:"📊";}
body.rbs-ui.rbs-page-dashboard .secondary-link[href*="/reports/tax/index.php"]::before{content:"🧾";}
body.rbs-ui.rbs-page-dashboard .secondary-link[href*="/payments/settings.php"]::before{content:"⚙️";}
body.rbs-ui.rbs-page-dashboard .secondary-link[href*="/rooms/types.php"]::before{content:"🧱";}
body.rbs-ui.rbs-page-dashboard .secondary-link[href*="/amenities/amenities.php"]::before{content:"⭐";}
body.rbs-ui.rbs-page-dashboard .secondary-link[href="/rooms/index.php"]::before{content:"🚪";}

body.rbs-ui.rbs-page-dashboard .setup-helper-step[href*="/rooms/types.php"]::before{content:"🧱";}
body.rbs-ui.rbs-page-dashboard .setup-helper-step[href*="/amenities/amenities.php"]::before{content:"⭐";}
body.rbs-ui.rbs-page-dashboard .setup-helper-step[href*="/rooms/rates.php"]::before{content:"🏷️";}
body.rbs-ui.rbs-page-dashboard .setup-helper-step[href="/rooms/index.php"]::before{content:"🚪";}

@media (max-width:1180px){
    body.rbs-ui.rbs-page-dashboard .card.featured, body.rbs-ui.rbs-page-dashboard .card{
        grid-column:span 6;
    }
}

@media (max-width:900px){
    body.rbs-ui.rbs-page-dashboard .topbar-right{
        width:100%;
        align-items:stretch;
    }

    body.rbs-ui.rbs-page-dashboard .utility-links, body.rbs-ui.rbs-page-dashboard .actions{
        justify-content:flex-start;
    }

    body.rbs-ui.rbs-page-dashboard .today-stays-grid{
        grid-template-columns:1fr;
    }

    body.rbs-ui.rbs-page-dashboard .toolbar, body.rbs-ui.rbs-page-dashboard .portal-alert{
        grid-template-columns:1fr;
        flex-direction:column;
        align-items:flex-start;
    }

    body.rbs-ui.rbs-page-dashboard .toolbar-meta, body.rbs-ui.rbs-page-dashboard .portal-alert-actions{
        width:100%;
        justify-content:flex-start;
    }

    body.rbs-ui.rbs-page-dashboard .card.featured, body.rbs-ui.rbs-page-dashboard .card{
        grid-column:span 12;
    }
}

@media (max-width:700px){
    body.rbs-ui.rbs-page-dashboard .wrap{
        padding:16px 14px 32px;
    }

    body.rbs-ui.rbs-page-dashboard .title h1{
        font-size:26px;
    }

    body.rbs-ui.rbs-page-dashboard .page-logo{
        max-height:40px;
        max-width:140px;
    }

    body.rbs-ui.rbs-page-dashboard .main-actions{
        grid-template-columns:1fr;
    }

    body.rbs-ui.rbs-page-dashboard .utility-link, body.rbs-ui.rbs-page-dashboard .btn, body.rbs-ui.rbs-page-dashboard .main-action, body.rbs-ui.rbs-page-dashboard .secondary-link{
        width:100%;
    }

    body.rbs-ui.rbs-page-dashboard .portal-count-pill, body.rbs-ui.rbs-page-dashboard .btn.portal{
        width:100%;
    }

    body.rbs-ui.rbs-page-dashboard .portal-alert-actions{
        align-items:stretch;
    }

    body.rbs-ui.rbs-page-dashboard .today-stays-item{
        flex-direction:column;
    }

    body.rbs-ui.rbs-page-dashboard .today-stays-item-action{
        width:100%;
    }

    body.rbs-ui.rbs-page-dashboard .setup-helper-arrow{
        display:none;
    }

    body.rbs-ui.rbs-page-dashboard .help-dialog{
        max-height:94vh;
    }
}

/* Migrated from /fts/help.php (page-scoped). */
body.rbs-ui.rbs-page-fts-help{--bg:#f4f7fb;--card:#ffffff;--text:#0f172a;--muted:#64748b;--line:#e2e8f0;--brand:#8b5e3c;--brand-dark:#6f472b;--shadow:0 16px 40px rgba(15,23,42,.08)}
body.rbs-ui.rbs-page-fts-help *{box-sizing:border-box}
body.rbs-ui.rbs-page-fts-help{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--text)}
body.rbs-ui.rbs-page-fts-help .wrap{max-width:980px;margin:0 auto;padding:24px}
body.rbs-ui.rbs-page-fts-help .card{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);overflow:hidden}
body.rbs-ui.rbs-page-fts-help .head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}
body.rbs-ui.rbs-page-fts-help .head h1{margin:0;font-size:28px}
body.rbs-ui.rbs-page-fts-help .head p{margin:6px 0 0;color:var(--muted)}
body.rbs-ui.rbs-page-fts-help .btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--text);text-decoration:none;font-weight:700;cursor:pointer}
body.rbs-ui.rbs-page-fts-help .btn.primary{background:linear-gradient(180deg,var(--brand),var(--brand-dark));color:#fff;border:none}
body.rbs-ui.rbs-page-fts-help .content{padding:22px}
body.rbs-ui.rbs-page-fts-help .content h1, body.rbs-ui.rbs-page-fts-help .content h2, body.rbs-ui.rbs-page-fts-help .content h3{margin:0 0 12px}
body.rbs-ui.rbs-page-fts-help .content p{margin:0 0 14px;line-height:1.65;color:#334155}
body.rbs-ui.rbs-page-fts-help .content ul, body.rbs-ui.rbs-page-fts-help .content ol{margin:0 0 16px 22px;color:#334155}
body.rbs-ui.rbs-page-fts-help .content li{margin:0 0 8px}
@media (max-width:700px){body.rbs-ui.rbs-page-fts-help .wrap{padding:14px}body.rbs-ui.rbs-page-fts-help .head{flex-direction:column;align-items:flex-start}body.rbs-ui.rbs-page-fts-help .head h1{font-size:24px}body.rbs-ui.rbs-page-fts-help .btn{width:100%}}

/* Migrated from /fts/index.php (page-scoped). */
body.rbs-ui.rbs-page-fts-index{
    --bg:#f4f7fb;
    --card:#ffffff;
    --line:#d9e2ec;
    --text:#0f172a;
    --muted:#64748b;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --ok-bg:#ecfdf5;
    --ok-line:#a7f3d0;
    --ok-text:#065f46;
    --err-bg:#fef2f2;
    --err-line:#fecaca;
    --err-text:#991b1b;
    --warn-bg:#fff7ed;
    --warn-line:#fed7aa;
    --warn-text:#9a3412;
    --shadow:0 18px 45px rgba(15,23,42,.08);
}
body.rbs-ui.rbs-page-fts-index *{box-sizing:border-box}
body.rbs-ui.rbs-page-fts-index{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--text)}
body.rbs-ui.rbs-page-fts-index .wrap{max-width:1240px;margin:0 auto;padding:28px 18px 40px}
body.rbs-ui.rbs-page-fts-index .hero{
    background:linear-gradient(135deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border-radius:26px;
    padding:26px;
    box-shadow:var(--shadow);
    margin-bottom:22px;
}
body.rbs-ui.rbs-page-fts-index .hero-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;flex-wrap:wrap}
body.rbs-ui.rbs-page-fts-index .hero h1{margin:0 0 8px;font-size:32px}
body.rbs-ui.rbs-page-fts-index .hero p{margin:0;max-width:760px;line-height:1.6;opacity:.95}
body.rbs-ui.rbs-page-fts-index .hero-badge{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);font-size:13px;font-weight:700;white-space:nowrap}
body.rbs-ui.rbs-page-fts-index .layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}
body.rbs-ui.rbs-page-fts-index .card{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}
body.rbs-ui.rbs-page-fts-index .side{padding:18px;position:sticky;top:18px}
body.rbs-ui.rbs-page-fts-index .side h2{margin:0 0 14px;font-size:18px}
body.rbs-ui.rbs-page-fts-index .step-list{display:grid;gap:10px}
body.rbs-ui.rbs-page-fts-index .step-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:#fff;text-decoration:none;color:var(--text)}
body.rbs-ui.rbs-page-fts-index .step-item.active{border-color:rgba(139,94,60,.45);background:#fbf7f3}
body.rbs-ui.rbs-page-fts-index .step-index{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#eef2f7;color:#334155;font-size:13px;font-weight:700;flex:0 0 28px}
body.rbs-ui.rbs-page-fts-index .step-meta{min-width:0}
body.rbs-ui.rbs-page-fts-index .step-name{font-size:14px;font-weight:700}
body.rbs-ui.rbs-page-fts-index .step-status{font-size:12px;color:var(--muted);margin-top:2px}
body.rbs-ui.rbs-page-fts-index .done .step-index{background:#dcfce7;color:#166534}
body.rbs-ui.rbs-page-fts-index .skipped .step-index{background:#fef3c7;color:#92400e}
body.rbs-ui.rbs-page-fts-index .main{padding:22px}
body.rbs-ui.rbs-page-fts-index .main-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:18px}
body.rbs-ui.rbs-page-fts-index .main-head h2{margin:0 0 6px;font-size:28px}
body.rbs-ui.rbs-page-fts-index .main-head p{margin:0;color:var(--muted);line-height:1.55;max-width:760px}
body.rbs-ui.rbs-page-fts-index .notice{padding:15px 16px;border-radius:16px;border:1px solid transparent;margin-bottom:18px;line-height:1.55}
body.rbs-ui.rbs-page-fts-index .notice.success{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok-text)}
body.rbs-ui.rbs-page-fts-index .notice.error{background:var(--err-bg);border-color:var(--err-line);color:var(--err-text)}
body.rbs-ui.rbs-page-fts-index .notice.warn{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn-text)}
body.rbs-ui.rbs-page-fts-index .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
body.rbs-ui.rbs-page-fts-index .field{display:flex;flex-direction:column;gap:8px}
body.rbs-ui.rbs-page-fts-index .field.full{grid-column:1 / -1}
body.rbs-ui.rbs-page-fts-index label{font-size:13px;font-weight:700;color:#334155}
body.rbs-ui.rbs-page-fts-index input, body.rbs-ui.rbs-page-fts-index select, body.rbs-ui.rbs-page-fts-index textarea{width:100%;min-height:46px;border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px;font:inherit;background:#fff;color:var(--text)}
body.rbs-ui.rbs-page-fts-index textarea{min-height:100px;resize:vertical}
body.rbs-ui.rbs-page-fts-index .helper{font-size:13px;color:var(--muted);line-height:1.5}
body.rbs-ui.rbs-page-fts-index .actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid #e2e8f0}
body.rbs-ui.rbs-page-fts-index .actions-left, body.rbs-ui.rbs-page-fts-index .actions-right{display:flex;gap:10px;flex-wrap:wrap}
body.rbs-ui.rbs-page-fts-index .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:12px;text-decoration:none;font-weight:700;border:1px solid var(--line);background:#fff;color:var(--text);cursor:pointer}
body.rbs-ui.rbs-page-fts-index .btn.primary{background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);border:none;color:#fff}
body.rbs-ui.rbs-page-fts-index .btn.warn{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
body.rbs-ui.rbs-page-fts-index .btn.danger{background:#fff;border-color:#fecaca;color:#991b1b}
body.rbs-ui.rbs-page-fts-index .pill-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
body.rbs-ui.rbs-page-fts-index .pill{padding:10px 12px;border-radius:999px;background:#f8fafc;border:1px solid var(--line);font-size:13px;font-weight:700;color:#334155}
body.rbs-ui.rbs-page-fts-index .summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
body.rbs-ui.rbs-page-fts-index .summary-card{border:1px solid var(--line);border-radius:18px;padding:18px;background:#fff}
body.rbs-ui.rbs-page-fts-index .summary-card h3{margin:0 0 8px;font-size:16px}
body.rbs-ui.rbs-page-fts-index .summary-card p{margin:0;color:var(--muted);line-height:1.55}
body.rbs-ui.rbs-page-fts-index .task-list{margin:0;padding-left:18px;color:var(--muted);line-height:1.65}
body.rbs-ui.rbs-page-fts-index .task-list strong{color:var(--text)}
body.rbs-ui.rbs-page-fts-index .user-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
body.rbs-ui.rbs-page-fts-index .user-list{display:grid;gap:12px}
body.rbs-ui.rbs-page-fts-index .user-card{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff}
body.rbs-ui.rbs-page-fts-index .user-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}
body.rbs-ui.rbs-page-fts-index .user-name{font-size:16px;font-weight:700;margin:0 0 4px}
body.rbs-ui.rbs-page-fts-index .user-meta{font-size:13px;color:var(--muted);line-height:1.5}
body.rbs-ui.rbs-page-fts-index .user-actions{display:flex;gap:10px;flex-wrap:wrap}
body.rbs-ui.rbs-page-fts-index .empty-state{border:1px dashed #cbd5e1;border-radius:18px;padding:18px;background:#f8fafc;color:var(--muted);line-height:1.55}
@media (max-width: 980px){
    body.rbs-ui.rbs-page-fts-index .layout{grid-template-columns:1fr}
    body.rbs-ui.rbs-page-fts-index .side{position:static}
    body.rbs-ui.rbs-page-fts-index .grid, body.rbs-ui.rbs-page-fts-index .summary-grid, body.rbs-ui.rbs-page-fts-index .user-layout{grid-template-columns:1fr}
}
@media (max-width: 640px){
    body.rbs-ui.rbs-page-fts-index .wrap{padding:16px 12px 24px}
    body.rbs-ui.rbs-page-fts-index .hero{padding:20px}
    body.rbs-ui.rbs-page-fts-index .hero h1{font-size:28px}
    body.rbs-ui.rbs-page-fts-index .main{padding:18px}
    body.rbs-ui.rbs-page-fts-index .main-head h2{font-size:24px}
    body.rbs-ui.rbs-page-fts-index .actions{flex-direction:column}
}

body.rbs-ui.rbs-page-fts-index .room-tab-tools{margin:0 0 18px}
body.rbs-ui.rbs-page-fts-index .room-tab-tools .btn{min-height:40px}
body.rbs-ui.rbs-page-fts-index .room-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:18px}
body.rbs-ui.rbs-page-fts-index .room-stat{padding:16px;border:1px solid var(--line);border-radius:16px;background:#f8fafc}
body.rbs-ui.rbs-page-fts-index .room-stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}
body.rbs-ui.rbs-page-fts-index .room-stat-value{font-size:24px;font-weight:700}
body.rbs-ui.rbs-page-fts-index .room-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
body.rbs-ui.rbs-page-fts-index .room-tab{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--text);font-weight:700;text-decoration:none}
body.rbs-ui.rbs-page-fts-index .room-tab.active{background:linear-gradient(180deg,#2563eb 0%,#1d4ed8 100%);color:#fff;border-color:transparent}
body.rbs-ui.rbs-page-fts-index .room-grid{display:grid;grid-template-columns:1.1fr 1.4fr;gap:18px}
body.rbs-ui.rbs-page-fts-index .room-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:20px}
body.rbs-ui.rbs-page-fts-index .room-card h3{margin:0 0 8px;font-size:22px}
body.rbs-ui.rbs-page-fts-index .room-card p{margin:0 0 16px;color:var(--muted)}
body.rbs-ui.rbs-page-fts-index .room-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
body.rbs-ui.rbs-page-fts-index .room-field{display:flex;flex-direction:column;gap:8px}
body.rbs-ui.rbs-page-fts-index .room-field.full{grid-column:1 / -1}
body.rbs-ui.rbs-page-fts-index .room-field label{font-size:13px;font-weight:700;color:var(--muted)}
body.rbs-ui.rbs-page-fts-index .room-field input, body.rbs-ui.rbs-page-fts-index .room-field select, body.rbs-ui.rbs-page-fts-index .room-field textarea{width:100%;min-height:44px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font:inherit;background:#fff;color:var(--text)}
body.rbs-ui.rbs-page-fts-index .room-field textarea{min-height:110px;resize:vertical}
body.rbs-ui.rbs-page-fts-index .room-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}
body.rbs-ui.rbs-page-fts-index .room-table-wrap table{width:100%;border-collapse:collapse}
body.rbs-ui.rbs-page-fts-index .room-table-wrap th, body.rbs-ui.rbs-page-fts-index .room-table-wrap td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top}
body.rbs-ui.rbs-page-fts-index .room-table-wrap th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#f8fafc}
body.rbs-ui.rbs-page-fts-index .room-table-wrap tr:last-child td{border-bottom:none}
body.rbs-ui.rbs-page-fts-index .room-mini-actions{display:flex;gap:6px;flex-wrap:nowrap;align-items:center}
body.rbs-ui.rbs-page-fts-index .portal-cell{text-align:center;vertical-align:middle;width:32px}
body.rbs-ui.rbs-page-fts-index tr.rate-draft td{background:#fef2f2}

body.rbs-ui.rbs-page-fts-index tr.rate-draft .rate-status{color:#991b1b;font-weight:700}
body.rbs-ui.rbs-page-fts-index .portal-badge{font-size:16px;cursor:default;display:inline-block;line-height:1;position:relative}
body.rbs-ui.rbs-page-fts-index .portal-badge::after{content:attr(title);position:absolute;bottom:calc(100% + 5px);left:50%;transform:translateX(-50%);background:#1e293b;color:#f8fafc;font-size:11px;white-space:nowrap;padding:4px 8px;border-radius:6px;pointer-events:none;opacity:0;transition:opacity .15s;font-family:Arial,sans-serif;font-weight:600;letter-spacing:.02em}
body.rbs-ui.rbs-page-fts-index .portal-badge:hover::after{opacity:1}
body.rbs-ui.rbs-page-fts-index .room-mini-btn-danger{background:#fef2f2;border-color:#fecaca;color:#991b1b;font-size:15px;padding:0 9px;cursor:pointer;border:1px solid #fecaca;border-radius:8px;min-height:30px;line-height:1;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;}
body.rbs-ui.rbs-page-fts-index .room-mini-btn-danger:hover{background:#fee2e2;border-color:#f87171;color:#7f1d1d}
body.rbs-ui.rbs-page-fts-index .room-mini-btn{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--text);text-decoration:none;font-size:13px;font-weight:700}
body.rbs-ui.rbs-page-fts-index .room-inline-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
body.rbs-ui.rbs-page-fts-index .room-helper{font-size:12px;color:var(--muted)}
/* ── Email Help Modal ───────────────────────────────────────────── */
body.rbs-ui.rbs-page-fts-index .ehelp-btn{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--brand);background:#fff;color:var(--brand);font-weight:700;font-size:13px;cursor:pointer;text-decoration:none;transition:background .15s,color .15s}
body.rbs-ui.rbs-page-fts-index .ehelp-btn:hover{background:var(--brand);color:#fff}
body.rbs-ui.rbs-page-fts-index .ehelp-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:9000;overflow-y:auto;padding:32px 16px}
body.rbs-ui.rbs-page-fts-index .ehelp-overlay.open{display:flex;align-items:flex-start;justify-content:center}
body.rbs-ui.rbs-page-fts-index .ehelp-modal{background:#fff;border-radius:22px;box-shadow:0 32px 80px rgba(15,23,42,.18);width:100%;max-width:780px;padding:36px 40px;position:relative}
body.rbs-ui.rbs-page-fts-index .ehelp-close{position:absolute;top:18px;right:20px;background:none;border:none;font-size:22px;line-height:1;cursor:pointer;color:var(--muted);padding:4px 8px;border-radius:8px}
body.rbs-ui.rbs-page-fts-index .ehelp-close:hover{background:#f1f5f9;color:var(--text)}
body.rbs-ui.rbs-page-fts-index .ehelp-modal h2{margin:0 0 6px;font-size:20px;color:var(--text)}
body.rbs-ui.rbs-page-fts-index .ehelp-modal .ehelp-intro{margin:0 0 28px;color:var(--muted);line-height:1.6;font-size:14px}
body.rbs-ui.rbs-page-fts-index .ehelp-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:24px;border-bottom:1px solid var(--line);padding-bottom:14px}
body.rbs-ui.rbs-page-fts-index .ehelp-tab{padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:#f8fafc;color:var(--muted);font-size:13px;font-weight:700;cursor:pointer;transition:all .15s}
body.rbs-ui.rbs-page-fts-index .ehelp-tab.active{background:var(--brand);color:#fff;border-color:var(--brand)}
body.rbs-ui.rbs-page-fts-index .ehelp-panel{display:none}
body.rbs-ui.rbs-page-fts-index .ehelp-panel.active{display:block}
body.rbs-ui.rbs-page-fts-index .ehelp-section{margin-bottom:22px}
body.rbs-ui.rbs-page-fts-index .ehelp-section h3{margin:0 0 10px;font-size:15px;color:var(--text);border-left:3px solid var(--brand);padding-left:10px}
body.rbs-ui.rbs-page-fts-index .ehelp-field-grid{display:grid;grid-template-columns:minmax(120px,auto) 1fr;gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:18px}
body.rbs-ui.rbs-page-fts-index .ehelp-field-grid .fg-head{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);background:#f8fafc;padding:9px 14px;font-weight:700;border-bottom:1px solid var(--line)}
body.rbs-ui.rbs-page-fts-index .ehelp-field-grid .fg-row{display:contents}
body.rbs-ui.rbs-page-fts-index .ehelp-field-grid .fg-label{padding:11px 14px;font-weight:700;font-size:13px;color:var(--text);border-bottom:1px solid var(--line);background:#fafbfc}
body.rbs-ui.rbs-page-fts-index .ehelp-field-grid .fg-desc{padding:11px 14px;font-size:13px;color:var(--muted);line-height:1.55;border-bottom:1px solid var(--line)}
body.rbs-ui.rbs-page-fts-index .ehelp-field-grid .fg-row:last-child .fg-label, body.rbs-ui.rbs-page-fts-index .ehelp-field-grid .fg-row:last-child .fg-desc{border-bottom:none}
body.rbs-ui.rbs-page-fts-index .ehelp-platform{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:16px}
body.rbs-ui.rbs-page-fts-index .ehelp-platform h4{margin:0 0 10px;font-size:14px;color:var(--text);display:flex;align-items:center;gap:8px}
body.rbs-ui.rbs-page-fts-index .ehelp-platform h4 span{font-size:18px}
body.rbs-ui.rbs-page-fts-index .ehelp-kv{display:grid;grid-template-columns:minmax(100px,140px) 1fr;gap:4px 12px;font-size:13px}
body.rbs-ui.rbs-page-fts-index .ehelp-kv dt{font-weight:700;color:var(--muted);padding:3px 0}
body.rbs-ui.rbs-page-fts-index .ehelp-kv dd{margin:0;padding:3px 0;color:var(--text)}
body.rbs-ui.rbs-page-fts-index .ehelp-kv code{background:#e8edf4;border-radius:5px;padding:1px 6px;font-size:12px;font-family:monospace}
body.rbs-ui.rbs-page-fts-index .ehelp-note{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:10px 14px;font-size:13px;color:#78350f;line-height:1.55;margin-top:10px}
body.rbs-ui.rbs-page-fts-index .ehelp-tip{background:var(--ok-bg);border:1px solid var(--ok-line);border-radius:10px;padding:10px 14px;font-size:13px;color:var(--ok-text);line-height:1.55;margin-top:10px}
body.rbs-ui.rbs-page-fts-index .etest-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px;background:#f8fafc;border:1px solid var(--line);border-radius:14px;margin:20px 0 4px}
body.rbs-ui.rbs-page-fts-index .etest-label{font-size:13px;font-weight:700;color:var(--muted);white-space:nowrap}
body.rbs-ui.rbs-page-fts-index .etest-input{flex:1;min-width:200px;min-height:40px;border:1px solid #cbd5e1;border-radius:10px;padding:8px 12px;font:inherit;background:#fff;color:var(--text)}
body.rbs-ui.rbs-page-fts-index .etest-btn{background:#fff;border:1px solid var(--brand);color:var(--brand);font-weight:700;white-space:nowrap}
body.rbs-ui.rbs-page-fts-index .etest-btn:hover{background:var(--brand);color:#fff}
/* ── Tax Setup Guide ──────────────────────────────────────────── */
body.rbs-ui.rbs-page-fts-index .tsg-wrap{border:1px solid var(--line);border-radius:18px;background:#f8fafc;padding:22px;margin-top:22px}
body.rbs-ui.rbs-page-fts-index .tsg-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:18px}
body.rbs-ui.rbs-page-fts-index .tsg-title{margin:0 0 4px;font-size:17px;color:var(--text)}
body.rbs-ui.rbs-page-fts-index .tsg-sub{margin:0;font-size:13px;color:var(--muted);line-height:1.55;max-width:640px}
body.rbs-ui.rbs-page-fts-index .tsg-toggle{min-height:36px;padding:0 14px;font-size:13px}
body.rbs-ui.rbs-page-fts-index .tsg-section{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:14px}
body.rbs-ui.rbs-page-fts-index .tsg-section-title{margin:0 0 6px;font-size:15px;color:var(--text)}
body.rbs-ui.rbs-page-fts-index .tsg-title-row, body.rbs-ui.rbs-page-fts-index .tsg-section-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
body.rbs-ui.rbs-page-fts-index .tsg-help-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;min-height:24px;padding:0;border-radius:999px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;font-size:13px;font-weight:900;line-height:1;cursor:pointer}
body.rbs-ui.rbs-page-fts-index .tsg-help-btn:hover{background:#dbeafe;color:#1e40af}
body.rbs-ui.rbs-page-fts-index .tsg-help-modal[aria-hidden="true"]{display:none}
body.rbs-ui.rbs-page-fts-index .tsg-help-modal[aria-hidden="false"]{display:flex}
body.rbs-ui.rbs-page-fts-index .tsg-help-modal{position:fixed;inset:0;z-index:10000;align-items:flex-start;justify-content:center;background:rgba(15,23,42,.58);padding:42px 16px;overflow-y:auto}
body.rbs-ui.rbs-page-fts-index .tsg-help-panel{width:100%;max-width:680px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 28px 80px rgba(15,23,42,.28);overflow:hidden}
body.rbs-ui.rbs-page-fts-index .tsg-help-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--line);background:#f8fafc}
body.rbs-ui.rbs-page-fts-index .tsg-help-panel-title{margin:0;font-size:17px;color:var(--text)}
body.rbs-ui.rbs-page-fts-index .tsg-help-close{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:24px;line-height:1;cursor:pointer}
body.rbs-ui.rbs-page-fts-index .tsg-help-close:hover{background:#fee2e2;border-color:#fecaca;color:#991b1b}
body.rbs-ui.rbs-page-fts-index .tsg-help-content{padding:20px 22px;color:var(--text);font-size:14px;line-height:1.65}
body.rbs-ui.rbs-page-fts-index .tsg-help-content p{margin:0 0 12px}
body.rbs-ui.rbs-page-fts-index .tsg-help-content ul{margin:0 0 12px 20px;padding:0}
body.rbs-ui.rbs-page-fts-index .tsg-help-content li{margin:0 0 7px}
body.rbs-ui.rbs-page-fts-index .tsg-help-content h5{margin:16px 0 8px;font-size:14px;color:var(--text)}
body.rbs-ui.rbs-page-fts-index .tsg-help-content strong{color:var(--text)}
body.rbs-ui.rbs-page-fts-index .tsg-helper{margin:0 0 14px;font-size:13px;color:var(--muted);line-height:1.55}
body.rbs-ui.rbs-page-fts-index .tsg-selector-form{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-bottom:14px}
body.rbs-ui.rbs-page-fts-index .tsg-selector-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
body.rbs-ui.rbs-page-fts-index .tsg-grid, body.rbs-ui.rbs-page-fts-index .tsg-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body.rbs-ui.rbs-page-fts-index .tsg-field{display:flex;flex-direction:column;gap:5px}
body.rbs-ui.rbs-page-fts-index .tsg-field label{font-size:13px;font-weight:700;color:var(--text)}
body.rbs-ui.rbs-page-fts-index .tsg-field-label{font-size:13px;font-weight:700;color:var(--text);align-self:center}
body.rbs-ui.rbs-page-fts-index .tsg-req{color:#dc2626}
body.rbs-ui.rbs-page-fts-index .tsg-input, body.rbs-ui.rbs-page-fts-index .tsg-select{width:100%;min-height:42px;border:1px solid #cbd5e1;border-radius:10px;padding:8px 12px;font:inherit;background:#fff;color:var(--text)}
body.rbs-ui.rbs-page-fts-index .tsg-state-input{width:90px;min-width:60px}
body.rbs-ui.rbs-page-fts-index .tsg-wrap *{box-sizing:border-box}
body.rbs-ui.rbs-page-fts-index .tsg-charge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
body.rbs-ui.rbs-page-fts-index .tsg-charge-col{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:14px;min-width:0}
body.rbs-ui.rbs-page-fts-index .tsg-charge-label{font-size:13px;font-weight:700;color:var(--text);margin-bottom:4px}
body.rbs-ui.rbs-page-fts-index .tsg-charge-desc{font-size:12px;color:var(--muted);line-height:1.5;margin:0 0 10px}
body.rbs-ui.rbs-page-fts-index .tsg-help-box{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:12px 0;font-size:13px;color:var(--text);line-height:1.55}
body.rbs-ui.rbs-page-fts-index .tsg-help-box p{margin:0 0 8px}body.rbs-ui.rbs-page-fts-index .tsg-help-box p:last-child{margin-bottom:0}
body.rbs-ui.rbs-page-fts-index .tsg-master-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:12px 0 14px}
body.rbs-ui.rbs-page-fts-index .tsg-master-check{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:800;color:var(--text);cursor:pointer}
body.rbs-ui.rbs-page-fts-index .tsg-master-check input[type=checkbox]{-webkit-appearance:checkbox;appearance:checkbox;width:18px;height:18px;min-width:18px;min-height:18px;padding:0;margin:0;border:0;border-radius:0;accent-color:var(--brand)}
body.rbs-ui.rbs-page-fts-index .tsg-master-note{font-size:12px;color:var(--muted);line-height:1.45}
body.rbs-ui.rbs-page-fts-index .tsg-check-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}
body.rbs-ui.rbs-page-fts-index .tsg-check-list-wide, body.rbs-ui.rbs-page-fts-index .tsg-check-wide{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
body.rbs-ui.rbs-page-fts-index .tsg-check-card{display:flex;align-items:flex-start;gap:9px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:13px;cursor:pointer;min-width:0;line-height:1.35}
body.rbs-ui.rbs-page-fts-index .tsg-check-card input[type=checkbox], body.rbs-ui.rbs-page-fts-index .tsg-rule-card input[type=checkbox]{-webkit-appearance:checkbox;appearance:checkbox;width:18px;height:18px;min-width:18px;min-height:18px;padding:0;margin:2px 0 0;border:0;border-radius:0;flex:0 0 18px;accent-color:var(--brand)}
body.rbs-ui.rbs-page-fts-index .tsg-check-card span, body.rbs-ui.rbs-page-fts-index .tsg-rule-card span{min-width:0;overflow-wrap:anywhere}
body.rbs-ui.rbs-page-fts-index .tsg-rule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
body.rbs-ui.rbs-page-fts-index .tsg-rule-card{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;font-size:13px;cursor:pointer;min-width:0;line-height:1.35}
body.rbs-ui.rbs-page-fts-index .tsg-rule-card small{display:block;color:var(--muted);line-height:1.45;margin-top:2px}
body.rbs-ui.rbs-page-fts-index .tsg-mono{font-family:ui-monospace,monospace;font-size:11px;color:var(--muted)}
body.rbs-ui.rbs-page-fts-index .tsg-save-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px;background:#fff;border:1px solid var(--line);border-radius:14px}
body.rbs-ui.rbs-page-fts-index .tsg-save-note{margin:0;font-size:13px;color:var(--muted);flex:1}
body.rbs-ui.rbs-page-fts-index .tsg-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
body.rbs-ui.rbs-page-fts-index .tsg-current-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}
body.rbs-ui.rbs-page-fts-index .tsg-current-card{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:14px;min-width:0}
body.rbs-ui.rbs-page-fts-index .tsg-current-card-title{font-size:13px;font-weight:900;color:var(--text);margin:0 0 10px;display:flex;justify-content:space-between;gap:8px;align-items:center}
body.rbs-ui.rbs-page-fts-index .tsg-pill{display:inline-flex;align-items:center;border:1px solid #cbd5e1;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:800;color:#475569;background:#fff}
body.rbs-ui.rbs-page-fts-index .tsg-tax-list, body.rbs-ui.rbs-page-fts-index .tsg-rule-list{display:grid;gap:8px}
body.rbs-ui.rbs-page-fts-index .tsg-tax-row, body.rbs-ui.rbs-page-fts-index .tsg-current-rule-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}
body.rbs-ui.rbs-page-fts-index .tsg-current-rule-row{grid-template-columns:1fr auto}
body.rbs-ui.rbs-page-fts-index .tsg-tax-name, body.rbs-ui.rbs-page-fts-index .tsg-rule-name{font-size:13px;font-weight:800;color:var(--text)}
body.rbs-ui.rbs-page-fts-index .tsg-tax-meta, body.rbs-ui.rbs-page-fts-index .tsg-rule-meta-text{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.4}
body.rbs-ui.rbs-page-fts-index .tsg-rule-warn{border-color:#f59e0b;background:#fffbeb}
body.rbs-ui.rbs-page-fts-index .tsg-rule-warning{margin-top:6px;font-size:12px;font-weight:800;color:#92400e;line-height:1.35}
body.rbs-ui.rbs-page-fts-index .tsg-tax-rate{font-size:14px;font-weight:900;color:var(--text);white-space:nowrap}
body.rbs-ui.rbs-page-fts-index .tsg-trash-form{margin:0}
body.rbs-ui.rbs-page-fts-index .tsg-trash-btn{width:36px;height:36px;border:1px solid #fecaca;border-radius:10px;background:#fff1f2;color:#b91c1c;font-size:16px;line-height:1;cursor:pointer}
body.rbs-ui.rbs-page-fts-index .tsg-trash-btn:hover{background:#fee2e2}
body.rbs-ui.rbs-page-fts-index .tsg-prop-select{min-width:220px}
body.rbs-ui.rbs-page-fts-index .tsg-save-section{background:#f0fdf4;border-color:#a7f3d0}
body.rbs-ui.rbs-page-fts-index .tsg-manual-details{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
body.rbs-ui.rbs-page-fts-index .tsg-manual-summary{padding:14px 18px;font-weight:700;font-size:14px;color:var(--muted);cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}
body.rbs-ui.rbs-page-fts-index .tsg-manual-summary::-webkit-details-marker{display:none}
body.rbs-ui.rbs-page-fts-index .tsg-manual-details[open] .tsg-manual-summary{border-bottom:1px solid var(--line);color:var(--text)}
body.rbs-ui.rbs-page-fts-index .tsg-manual-details > .summary-grid{padding:0 16px}
@media (max-width:700px){body.rbs-ui.rbs-page-fts-index .tsg-charge-grid, body.rbs-ui.rbs-page-fts-index .tsg-check-list, body.rbs-ui.rbs-page-fts-index .tsg-check-list-wide, body.rbs-ui.rbs-page-fts-index .tsg-check-wide, body.rbs-ui.rbs-page-fts-index .tsg-grid, body.rbs-ui.rbs-page-fts-index .tsg-form-grid, body.rbs-ui.rbs-page-fts-index .tsg-rule-grid{grid-template-columns:1fr}}
@media (max-width:600px){body.rbs-ui.rbs-page-fts-index .ehelp-modal{padding:24px 18px}body.rbs-ui.rbs-page-fts-index .ehelp-field-grid{grid-template-columns:1fr}body.rbs-ui.rbs-page-fts-index .ehelp-field-grid .fg-head:nth-child(2){display:none}body.rbs-ui.rbs-page-fts-index .ehelp-kv{grid-template-columns:1fr}}
@media (max-width: 1000px){body.rbs-ui.rbs-page-fts-index .room-grid{grid-template-columns:1fr}body.rbs-ui.rbs-page-fts-index .room-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 720px){body.rbs-ui.rbs-page-fts-index .room-field-grid, body.rbs-ui.rbs-page-fts-index .room-stat-grid{grid-template-columns:1fr}body.rbs-ui.rbs-page-fts-index .room-tabs{flex-direction:column}body.rbs-ui.rbs-page-fts-index .room-tab{width:100%}}

/* Migrated from /fts/index.php (page-scoped). */
@keyframes ftsFlashYellow {
                                0%,100%{background:#fefce8;border-color:#fde047;}
                                50%{background:#fef08a;border-color:#eab308;}
                            }
                            body.rbs-ui.rbs-page-fts-index .addon-price-flash{ animation: ftsFlashYellow 1s ease-in-out infinite; }

/* Migrated from /help/index.php (page-scoped). */
body.rbs-ui.rbs-page-help-index{
    --bg:#f3f5f8;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#dbe3ee;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 16px 40px rgba(15,23,42,.08);
}
body.rbs-ui.rbs-page-help-index *{box-sizing:border-box}
body.rbs-ui.rbs-page-help-index{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--text)}
body.rbs-ui.rbs-page-help-index .wrap{max-width:1180px;margin:0 auto;padding:24px 18px 40px}
body.rbs-ui.rbs-page-help-index .hero{background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:22px;margin-bottom:18px}
body.rbs-ui.rbs-page-help-index .hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
body.rbs-ui.rbs-page-help-index .hero h1{margin:0 0 8px;font-size:32px;line-height:1.1}
body.rbs-ui.rbs-page-help-index .hero p{margin:0;color:var(--muted);line-height:1.55}
body.rbs-ui.rbs-page-help-index .hero-actions{display:flex;gap:10px;flex-wrap:wrap}
body.rbs-ui.rbs-page-help-index .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--text);text-decoration:none;font-weight:700}
body.rbs-ui.rbs-page-help-index .btn.primary{background:linear-gradient(180deg,var(--brand),var(--brand-dark));color:#fff;border:none}
body.rbs-ui.rbs-page-help-index .search-card{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:18px;margin-bottom:18px}
body.rbs-ui.rbs-page-help-index .search-input{width:100%;min-height:48px;border:1px solid #cbd5e1;border-radius:14px;padding:0 16px;font-size:16px;outline:none}
body.rbs-ui.rbs-page-help-index .search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.14)}
body.rbs-ui.rbs-page-help-index .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
body.rbs-ui.rbs-page-help-index .chip{border:1px solid #cbd5e1;background:#fff;color:#0f172a;border-radius:999px;padding:8px 12px;font-size:13px;cursor:pointer}
body.rbs-ui.rbs-page-help-index .result-line{margin-top:12px;color:var(--muted);font-size:14px}
body.rbs-ui.rbs-page-help-index .toc{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
body.rbs-ui.rbs-page-help-index .toc a{text-decoration:none;border:1px solid var(--line);background:#fff;color:#334155;border-radius:999px;padding:8px 11px;font-size:13px}
body.rbs-ui.rbs-page-help-index .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
body.rbs-ui.rbs-page-help-index .topic{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:18px}
body.rbs-ui.rbs-page-help-index .topic h2{margin:0 0 12px;font-size:22px}
body.rbs-ui.rbs-page-help-index .topic p{margin:0 0 12px;line-height:1.6;color:#334155}
body.rbs-ui.rbs-page-help-index .topic ul, body.rbs-ui.rbs-page-help-index .topic ol{margin:0 0 12px 22px;color:#334155;line-height:1.65}
body.rbs-ui.rbs-page-help-index .topic li{margin:0 0 8px}
body.rbs-ui.rbs-page-help-index .topic a{color:#0f172a;font-weight:700}
body.rbs-ui.rbs-page-help-index .empty{display:none;background:#fff;border:1px dashed #cbd5e1;border-radius:18px;padding:18px;color:#475569}
body.rbs-ui.rbs-page-help-index .help-embedded .wrap{max-width:none;padding:14px 16px 18px}
body.rbs-ui.rbs-page-help-index .help-embedded .hero{border-radius:16px;padding:16px;margin-bottom:12px}
body.rbs-ui.rbs-page-help-index .help-embedded .hero h1{font-size:26px}
body.rbs-ui.rbs-page-help-index .help-embedded .search-card{border-radius:16px;padding:14px;margin-bottom:12px}
body.rbs-ui.rbs-page-help-index .help-embedded .topic{border-radius:16px;padding:16px}
@media (max-width:900px){body.rbs-ui.rbs-page-help-index .grid{grid-template-columns:1fr}}
@media (max-width:640px){body.rbs-ui.rbs-page-help-index .wrap{padding:14px}body.rbs-ui.rbs-page-help-index .hero{padding:18px}body.rbs-ui.rbs-page-help-index .hero h1{font-size:28px}body.rbs-ui.rbs-page-help-index .btn{width:100%}body.rbs-ui.rbs-page-help-index .hero-actions{width:100%}body.rbs-ui.rbs-page-help-index .hero-actions .btn{flex:1 1 100%}}

/* Migrated from /housekeeping/index.php (page-scoped). */
body.rbs-ui.rbs-page-housekeeping-index{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);

    --ok-bg:#ecfdf5;
    --ok-line:#bbf7d0;
    --ok-text:#166534;

    --warn-bg:#fff7ed;
    --warn-line:#fed7aa;
    --warn-text:#9a3412;

    --bad-bg:#fef2f2;
    --bad-line:#fecaca;
    --bad-text:#991b1b;

    --info-bg:#eff6ff;
    --info-line:#bfdbfe;
    --info-text:#1d4ed8;
}

body.rbs-ui.rbs-page-housekeeping-index *{box-sizing:border-box}
body.rbs-ui.rbs-page-housekeeping-index{scroll-behavior:smooth}

body.rbs-ui.rbs-page-housekeeping-index{
    margin:0;
    font-family:Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}

body.rbs-ui.rbs-page-housekeeping-index .wrap{
    max-width:1200px;
    margin:0 auto;
    padding:18px 14px 90px;
}

body.rbs-ui.rbs-page-housekeeping-index .topbar{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:16px;
}

body.rbs-ui.rbs-page-housekeeping-index .title h1{
    margin:0 0 6px;
    font-size:30px;
    line-height:1.1;
}

body.rbs-ui.rbs-page-housekeeping-index .title p{
    margin:0;
    color:var(--muted);
    font-size:14px;
}

body.rbs-ui.rbs-page-housekeeping-index .actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-housekeeping-index .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 14px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
    font-size:14px;
}

body.rbs-ui.rbs-page-housekeeping-index .btn.primary{
    background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-housekeeping-index .hero{
    background:linear-gradient(135deg,#1e293b 0%,#334155 100%);
    color:#fff;
    border-radius:22px;
    padding:20px;
    box-shadow:var(--shadow);
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-housekeeping-index .hero h2{
    margin:0 0 8px;
    font-size:24px;
}

body.rbs-ui.rbs-page-housekeeping-index .hero p{
    margin:0;
    color:rgba(255,255,255,.88);
    line-height:1.5;
    font-size:14px;
}

body.rbs-ui.rbs-page-housekeeping-index .stats{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:10px;
    margin-top:16px;
}

body.rbs-ui.rbs-page-housekeeping-index .stat{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    padding:14px;
}

body.rbs-ui.rbs-page-housekeeping-index .stat-label{
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.08em;
    opacity:.82;
    margin-bottom:6px;
}

body.rbs-ui.rbs-page-housekeeping-index .stat-value{
    font-size:24px;
    font-weight:700;
}

body.rbs-ui.rbs-page-housekeeping-index .jump-links{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:10px;
    margin:18px 0;
}

body.rbs-ui.rbs-page-housekeeping-index .jump-links a{
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    min-height:52px;
    padding:10px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    text-decoration:none;
    color:var(--text);
    font-weight:700;
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-housekeeping-index .jump-links a.warn{
    background:var(--warn-bg);
    color:var(--warn-text);
    border-color:var(--warn-line);
}

body.rbs-ui.rbs-page-housekeeping-index .mobile-jumpbar{
    display:none;
}

body.rbs-ui.rbs-page-housekeeping-index .panel{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    box-shadow:var(--shadow);
    overflow:hidden;
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-housekeeping-index .panel-head{
    padding:18px;
    border-bottom:1px solid var(--line);
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-housekeeping-index .panel-head h3{
    margin:0 0 4px;
    font-size:22px;
}

body.rbs-ui.rbs-page-housekeeping-index .panel-head p{
    margin:0;
    color:var(--muted);
    font-size:14px;
}

body.rbs-ui.rbs-page-housekeeping-index .desktop-view{display:block}
body.rbs-ui.rbs-page-housekeeping-index .mobile-view{display:none}

body.rbs-ui.rbs-page-housekeeping-index .cards{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:14px;
    padding:16px;
}

body.rbs-ui.rbs-page-housekeeping-index .room-card{
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
    padding:16px;
}

body.rbs-ui.rbs-page-housekeeping-index .room-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:10px;
    margin-bottom:12px;
}

body.rbs-ui.rbs-page-housekeeping-index .room-number{
    font-size:28px;
    font-weight:800;
    line-height:1;
}

body.rbs-ui.rbs-page-housekeeping-index .room-name{
    margin-top:6px;
    color:var(--muted);
    font-size:14px;
}

body.rbs-ui.rbs-page-housekeeping-index .room-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px 10px;
    margin-bottom:12px;
}

body.rbs-ui.rbs-page-housekeeping-index .meta-label, body.rbs-ui.rbs-page-housekeeping-index .status-form-label, body.rbs-ui.rbs-page-housekeeping-index .notes-form-label{
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--muted);
    margin-bottom:4px;
    font-weight:700;
}

body.rbs-ui.rbs-page-housekeeping-index .meta-value{
    font-size:15px;
    font-weight:700;
    word-break:break-word;
}

body.rbs-ui.rbs-page-housekeeping-index .status-form, body.rbs-ui.rbs-page-housekeeping-index .notes-form{
    margin-top:12px;
    padding-top:12px;
    border-top:1px solid var(--line);
}

body.rbs-ui.rbs-page-housekeeping-index .status-form-row{
    display:flex;
    gap:10px;
    align-items:center;
}

body.rbs-ui.rbs-page-housekeeping-index .status-select{
    flex:1;
    width:100%;
    min-height:42px;
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px 12px;
    font:inherit;
    background:#fff;
    color:var(--text);
}

body.rbs-ui.rbs-page-housekeeping-index .status-select.is-saving, body.rbs-ui.rbs-page-housekeeping-index .notes-textarea.is-saving{
    opacity:.7;
}

body.rbs-ui.rbs-page-housekeeping-index .save-state, body.rbs-ui.rbs-page-housekeeping-index .notes-save-state{
    min-height:18px;
    margin-top:8px;
    font-size:12px;
    font-weight:700;
}

body.rbs-ui.rbs-page-housekeeping-index .save-state.saving, body.rbs-ui.rbs-page-housekeeping-index .notes-save-state.saving{color:var(--muted)}
body.rbs-ui.rbs-page-housekeeping-index .save-state.success, body.rbs-ui.rbs-page-housekeeping-index .notes-save-state.success{color:var(--ok-text)}
body.rbs-ui.rbs-page-housekeeping-index .save-state.error, body.rbs-ui.rbs-page-housekeeping-index .notes-save-state.error{color:var(--bad-text)}

body.rbs-ui.rbs-page-housekeeping-index .notes-textarea{
    width:100%;
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px 12px;
    font:inherit;
    background:#fff;
    color:var(--text);
    resize:vertical;
    min-height:100px;
}

body.rbs-ui.rbs-page-housekeeping-index .badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    padding:0 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    border:1px solid transparent;
    white-space:nowrap;
}

body.rbs-ui.rbs-page-housekeeping-index .badge.clean, body.rbs-ui.rbs-page-housekeeping-index .badge.inspected{
    background:var(--ok-bg);
    border-color:var(--ok-line);
    color:var(--ok-text);
}

body.rbs-ui.rbs-page-housekeeping-index .badge.dirty{
    background:var(--warn-bg);
    border-color:var(--warn-line);
    color:var(--warn-text);
}

body.rbs-ui.rbs-page-housekeeping-index .badge.out-of-order, body.rbs-ui.rbs-page-housekeeping-index .badge.out-of-service, body.rbs-ui.rbs-page-housekeeping-index .badge.inactive{
    background:var(--bad-bg);
    border-color:var(--bad-line);
    color:var(--bad-text);
}

body.rbs-ui.rbs-page-housekeeping-index .badge.occupied{
    background:var(--info-bg);
    border-color:var(--info-line);
    color:var(--info-text);
}

body.rbs-ui.rbs-page-housekeeping-index .badge.vacant{
    background:var(--ok-bg);
    border-color:var(--ok-line);
    color:var(--ok-text);
}

body.rbs-ui.rbs-page-housekeeping-index .empty{
    padding:18px;
    color:var(--muted);
}

body.rbs-ui.rbs-page-housekeeping-index .mobile-list{
    padding:12px;
    display:grid;
    gap:12px;
}

body.rbs-ui.rbs-page-housekeeping-index .mobile-room-card{
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
    padding:14px;
}

body.rbs-ui.rbs-page-housekeeping-index .mobile-room-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
}

body.rbs-ui.rbs-page-housekeeping-index .mobile-room-number{
    font-size:30px;
    font-weight:800;
    line-height:1;
}

body.rbs-ui.rbs-page-housekeeping-index .mobile-room-name{
    margin-top:8px;
    color:var(--muted);
    font-size:14px;
}

body.rbs-ui.rbs-page-housekeeping-index .mobile-meta-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:12px;
}

body.rbs-ui.rbs-page-housekeeping-index .mobile-meta-box{
    padding:10px;
    background:#f8fafc;
    border:1px solid var(--line);
    border-radius:12px;
}

body.rbs-ui.rbs-page-housekeeping-index .mobile-status-form, body.rbs-ui.rbs-page-housekeeping-index .mobile-notes-form{
    margin-top:14px;
}

body.rbs-ui.rbs-page-housekeeping-index .mobile-status-row{
    display:block;
}

body.rbs-ui.rbs-page-housekeeping-index .mobile-status-select{
    min-height:52px;
    font-size:16px;
}

body.rbs-ui.rbs-page-housekeeping-index .mobile-notes-textarea{
    min-height:110px;
    font-size:16px;
}

body.rbs-ui.rbs-page-housekeeping-index .footer-space{
    height:10px;
}

@media (max-width: 980px){
    body.rbs-ui.rbs-page-housekeeping-index .cards{
        grid-template-columns:repeat(2, minmax(0,1fr));
    }

    body.rbs-ui.rbs-page-housekeeping-index .stats, body.rbs-ui.rbs-page-housekeeping-index .jump-links{
        grid-template-columns:repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 767px){
    body.rbs-ui.rbs-page-housekeeping-index .wrap{
        padding:12px 10px 88px;
    }

    body.rbs-ui.rbs-page-housekeeping-index .title h1{
        font-size:24px;
    }

    body.rbs-ui.rbs-page-housekeeping-index .hero{
        display:none;
    }

    body.rbs-ui.rbs-page-housekeeping-index .stats{
        grid-template-columns:repeat(2, minmax(0,1fr));
    }

    body.rbs-ui.rbs-page-housekeeping-index .jump-links{
        display:none;
    }

    body.rbs-ui.rbs-page-housekeeping-index .desktop-view{
        display:none;
    }

    body.rbs-ui.rbs-page-housekeeping-index .mobile-view{
        display:block;
    }

    body.rbs-ui.rbs-page-housekeeping-index .mobile-jumpbar{
        position:fixed;
        left:0;
        right:0;
        bottom:0;
        z-index:50;
        display:grid;
        grid-template-columns:repeat(3, 1fr);
        gap:0;
        background:#fff;
        border-top:1px solid var(--line);
        box-shadow:0 -8px 20px rgba(15,23,42,.08);
    }

    body.rbs-ui.rbs-page-housekeeping-index .mobile-jumpbar a{
        display:flex;
        align-items:center;
        justify-content:center;
        min-height:56px;
        padding:8px 6px;
        text-decoration:none;
        color:var(--text);
        font-size:12px;
        font-weight:700;
        border-right:1px solid var(--line);
    }

    body.rbs-ui.rbs-page-housekeeping-index .mobile-jumpbar a:last-child{
        border-right:none;
    }

    body.rbs-ui.rbs-page-housekeeping-index .mobile-jumpbar a.warn{
        background:var(--warn-bg);
        color:var(--warn-text);
    }

    body.rbs-ui.rbs-page-housekeeping-index .topbar{
        display:block;
    }

    body.rbs-ui.rbs-page-housekeeping-index .actions{
        display:none;
    }
}

@media print{
    body.rbs-ui.rbs-page-housekeeping-index{background:#fff}

    body.rbs-ui.rbs-page-housekeeping-index .topbar, body.rbs-ui.rbs-page-housekeeping-index .actions, body.rbs-ui.rbs-page-housekeeping-index .jump-links, body.rbs-ui.rbs-page-housekeeping-index .mobile-jumpbar, body.rbs-ui.rbs-page-housekeeping-index .status-form, body.rbs-ui.rbs-page-housekeeping-index .notes-form{
        display:none !important;
    }

    body.rbs-ui.rbs-page-housekeeping-index .wrap{
        max-width:none;
        padding:0;
    }

    body.rbs-ui.rbs-page-housekeeping-index .hero{
        box-shadow:none;
        border-radius:0;
        margin-bottom:12px;
    }

    body.rbs-ui.rbs-page-housekeeping-index .panel{
        box-shadow:none;
        break-inside:avoid;
        page-break-inside:avoid;
    }

    body.rbs-ui.rbs-page-housekeeping-index .desktop-view{
        display:block !important;
    }

    body.rbs-ui.rbs-page-housekeeping-index .mobile-view{
        display:none !important;
    }

    body.rbs-ui.rbs-page-housekeeping-index .cards{
        grid-template-columns:repeat(2, minmax(0,1fr));
    }
}

/* Migrated from /includes/app_header.php (shared). */
.app-help-fab{
position:fixed;
right:20px;
bottom:20px;
width:54px;
height:54px;
display:inline-flex;
align-items:center;
justify-content:center;
border-radius:999px;
border:none;
text-decoration:none;
background:#123b78;
color:#ffffff;
font-size:30px;
font-weight:700;
line-height:1;
box-shadow:0 18px 40px rgba(18,59,120,.26);
z-index:2147483000;
cursor:pointer;
}
.app-help-fab:hover,
.app-help-fab:focus-visible{
transform:translateY(-1px);
color:#ffffff;
}
.app-help-fab:focus-visible{
outline:3px solid rgba(59,130,246,.35);
outline-offset:3px;
}
.rch-help-modal.modal{
z-index:2147483500;
}
.rch-help-modal .modal-dialog{
max-width:980px;
}
.rch-help-modal .modal-content{
border:0;
border-radius:18px;
overflow:hidden;
box-shadow:0 26px 70px rgba(15,23,42,.34);
}
.rch-help-modal .modal-header{
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
padding:14px 18px;
border-bottom:1px solid #dbe3ee;
background:#ffffff;
}
.rch-help-modal .modal-title{
margin:0;
font-size:18px;
font-weight:800;
color:#0f172a;
}
.rch-help-modal .modal-body{
padding:0;
height:min(76vh,760px);
background:#f3f5f8;
}
.rch-help-modal iframe{
display:block;
width:100%;
height:100%;
border:0;
background:#f3f5f8;
}
.rch-help-modal .btn-close,
.rch-help-modal [data-rch-help-close]{
width:38px;
height:38px;
border:1px solid #dbe3ee;
border-radius:999px;
background:#ffffff;
color:#0f172a;
font-size:22px;
line-height:1;
cursor:pointer;
display:inline-flex;
align-items:center;
justify-content:center;
opacity:1;
}
.rch-help-modal .btn-close::before,
.rch-help-modal [data-rch-help-close]::before{
content:"×";
}
.rch-help-modal .btn-close:hover,
.rch-help-modal [data-rch-help-close]:hover{
background:#f8fafc;
}
.rch-help-backdrop{
position:fixed;
inset:0;
background:rgba(15,23,42,.52);
z-index:2147483400;
}
body.rch-help-modal-open{
overflow:hidden;
}
body.rch-help-modal-open .rch-help-modal.show{
display:block;
position:fixed;
inset:0;
overflow-x:hidden;
overflow-y:auto;
outline:0;
background:transparent;
}
body.rch-help-modal-open .rch-help-modal.show .modal-dialog{
margin:1.75rem auto;
}
@media (max-width:640px){
.app-help-fab{
right:14px;
bottom:14px;
width:50px;
height:50px;
font-size:28px;
}
.rch-help-modal .modal-dialog{
max-width:none;
margin:10px;
}
.rch-help-modal .modal-body{
height:78vh;
}
}

/* Migrated from /includes/app_header.php (shared). */
.rch-maintenance-banner{
position:fixed;
left:0;
right:0;
top:0;
z-index:2147483600;
display:flex;
align-items:center;
justify-content:center;
gap:14px;
flex-wrap:wrap;
padding:10px 16px;
background:#b91c1c;
color:#fff;
box-shadow:0 10px 24px rgba(15,23,42,.24);
font-family:Arial,sans-serif;
font-size:14px;
line-height:1.35;
}
.rch-maintenance-banner strong{
letter-spacing:.04em;
text-transform:uppercase;
}
.rch-maintenance-banner form{
margin:0;
}
.rch-maintenance-banner button{
border:1px solid rgba(255,255,255,.65);
border-radius:999px;
background:#fff;
color:#991b1b;
padding:7px 12px;
font-weight:800;
cursor:pointer;
}
.rch-maintenance-banner button:hover,
.rch-maintenance-banner button:focus-visible{
background:#fee2e2;
}
@media (max-width:640px){
.rch-maintenance-banner{
justify-content:flex-start;
font-size:13px;
}
}

/* Migrated from /includes/page_logo.php (shared). */
.page-logo-wrap{
margin:0;
flex:0 0 auto;
}

.page-logo-link{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:46px;
min-height:46px;
text-decoration:none;
}

.page-logo{
display:block;
width:auto;
max-height:52px;
max-width:170px;
object-fit:contain;
}

.page-logo.is-rbs-fallback{
max-width:56px;
border-radius:12px;
background:#fff;
box-shadow:0 8px 18px rgba(15,23,42,.06);
}

.page-logo.is-property-logo{
max-width:140px;
max-height:54px;
}

/* Migrated from /install/index.php (page-scoped). */
body.rbs-ui.rbs-page-install-index{
    --navy-950: #071225;
    --navy-900: #0b1730;
    --navy-800: #132442;
    --gold: #d7b46a;
    --gold-dark: #a77b35;
    --blue: #2563eb;
    --text: #0f172a;
    --muted: #64748b;
    --line: #e2e8f0;
    --panel: #ffffff;
    --soft: #f6f8fb;
    --danger-bg: #fef2f2;
    --danger-line: #fecaca;
    --danger-text: #991b1b;
}

body.rbs-ui.rbs-page-install-index *, body.rbs-ui.rbs-page-install-index *::before, body.rbs-ui.rbs-page-install-index *::after{ box-sizing: border-box; margin: 0; padding: 0; }

body.rbs-ui.rbs-page-install-index{
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background:
        radial-gradient(circle at 15% 15%, rgba(215,180,106,.16), transparent 28%),
        radial-gradient(circle at 85% 10%, rgba(37,99,235,.16), transparent 32%),
        linear-gradient(180deg, #f8fafc 0%, #eef3f8 100%);
    color: var(--text);
    min-height: 100vh;
    padding: 28px;
}

body.rbs-ui.rbs-page-install-index .shell{
    width: min(1180px, 100%);
    margin: 0 auto;
}

body.rbs-ui.rbs-page-install-index .topbar{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}

body.rbs-ui.rbs-page-install-index .brand{
    display: flex;
    align-items: center;
    gap: 12px;
}

body.rbs-ui.rbs-page-install-index .mark{
    width: 48px;
    height: 48px;
    display: inline-grid;
    place-items: center;
    border-radius: 14px;
    color: var(--gold);
    font-weight: 900;
    letter-spacing: .04em;
    background: linear-gradient(145deg, var(--navy-950), var(--navy-800));
    border: 1px solid rgba(215,180,106,.72);
    box-shadow: 0 12px 28px rgba(7,18,37,.24);
}

body.rbs-ui.rbs-page-install-index .brand-name{
    font-size: 15px;
    font-weight: 800;
    color: var(--navy-950);
}

body.rbs-ui.rbs-page-install-index .brand-sub{
    font-size: 12px;
    color: var(--muted);
    margin-top: 2px;
}

body.rbs-ui.rbs-page-install-index .help-pill{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.72);
    color: #334155;
    padding: 9px 13px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
}

body.rbs-ui.rbs-page-install-index .hero{
    position: relative;
    overflow: hidden;
    border-radius: 26px;
    background:
        linear-gradient(120deg, rgba(7,18,37,.96), rgba(19,36,66,.94)),
        radial-gradient(circle at 80% 35%, rgba(215,180,106,.14), transparent 32%);
    color: #fff;
    padding: 48px;
    box-shadow: 0 28px 60px rgba(15,23,42,.18);
}

body.rbs-ui.rbs-page-install-index .hero::before{
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(255,255,255,.08) 0 1px, transparent 1px 26px),
        radial-gradient(circle at 88% 18%, rgba(215,180,106,.28), transparent 7%);
    opacity: .45;
}

body.rbs-ui.rbs-page-install-index .hero::after{
    content: "RBS";
    position: absolute;
    right: 44px;
    bottom: -38px;
    font-size: 164px;
    font-weight: 900;
    letter-spacing: -.08em;
    color: rgba(255,255,255,.045);
    line-height: 1;
}

body.rbs-ui.rbs-page-install-index .hero-inner{
    position: relative;
    max-width: 820px;
    z-index: 1;
}

body.rbs-ui.rbs-page-install-index .kicker{
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #dbeafe;
    margin-bottom: 18px;
}

body.rbs-ui.rbs-page-install-index .kicker::before{
    content: "";
    width: 34px;
    height: 1px;
    background: var(--gold);
}

body.rbs-ui.rbs-page-install-index h1{
    font-size: clamp(34px, 4vw, 56px);
    line-height: 1.02;
    letter-spacing: -.045em;
    margin-bottom: 16px;
}

body.rbs-ui.rbs-page-install-index .gold{ color: var(--gold); }

body.rbs-ui.rbs-page-install-index .hero-text{
    color: #cbd5e1;
    font-size: 16px;
    line-height: 1.7;
    max-width: 620px;
}

body.rbs-ui.rbs-page-install-index .grid{
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr);
    gap: 22px;
    margin-top: 22px;
}

body.rbs-ui.rbs-page-install-index .panel{
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(226,232,240,.92);
    border-radius: 24px;
    box-shadow: 0 20px 45px rgba(15,23,42,.1);
    overflow: hidden;
}

body.rbs-ui.rbs-page-install-index .panel-head{
    padding: 24px 26px 0;
}

body.rbs-ui.rbs-page-install-index .panel-title{
    font-size: 18px;
    font-weight: 900;
    letter-spacing: -.02em;
    margin-bottom: 6px;
}

body.rbs-ui.rbs-page-install-index .panel-sub{
    color: var(--muted);
    font-size: 14px;
    line-height: 1.5;
}

body.rbs-ui.rbs-page-install-index .steps{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    padding: 24px 26px 26px;
}

body.rbs-ui.rbs-page-install-index .step{
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 16px;
    background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}

body.rbs-ui.rbs-page-install-index .step-no{
    width: 28px;
    height: 28px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: #eef2ff;
    color: #3730a3;
    font-size: 12px;
    font-weight: 900;
    margin-bottom: 12px;
}

body.rbs-ui.rbs-page-install-index .step h2{
    font-size: 14px;
    margin-bottom: 6px;
}

body.rbs-ui.rbs-page-install-index .step p{
    color: var(--muted);
    font-size: 12px;
    line-height: 1.45;
}

body.rbs-ui.rbs-page-install-index .admin-card{
    padding: 26px;
}

body.rbs-ui.rbs-page-install-index .status-row{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 0;
    border-bottom: 1px solid var(--line);
    color: #334155;
    font-size: 14px;
}

body.rbs-ui.rbs-page-install-index .status-row:first-of-type{ margin-top: 8px; }
body.rbs-ui.rbs-page-install-index .status-row:last-of-type{ border-bottom: none; margin-bottom: 16px; }

body.rbs-ui.rbs-page-install-index .status-dot{
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: #22c55e;
    box-shadow: 0 0 0 4px rgba(34,197,94,.12);
}

body.rbs-ui.rbs-page-install-index .error{
    background: var(--danger-bg);
    border: 1px solid var(--danger-line);
    color: var(--danger-text);
    border-radius: 14px;
    padding: 12px 14px;
    font-size: 14px;
    margin: 18px 0;
}

body.rbs-ui.rbs-page-install-index .field{
    margin-bottom: 15px;
}

body.rbs-ui.rbs-page-install-index label{
    display: block;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 7px;
    color: #334155;
}

body.rbs-ui.rbs-page-install-index input[type="password"]{
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #cbd5e1;
    border-radius: 13px;
    font-size: 15px;
    outline: none;
    background: #fff;
    transition: border-color .15s, box-shadow .15s;
}

body.rbs-ui.rbs-page-install-index input[type="password"]:focus{
    border-color: var(--gold-dark);
    box-shadow: 0 0 0 4px rgba(215,180,106,.18);
}

body.rbs-ui.rbs-page-install-index .btn, body.rbs-ui.rbs-page-install-index .btn-login{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    padding: 13px 18px;
    background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
    color: #10203a;
    border: none;
    border-radius: 15px;
    font-size: 15px;
    font-weight: 900;
    cursor: pointer;
    text-decoration: none;
    box-shadow: 0 14px 26px rgba(167,123,53,.26);
}

body.rbs-ui.rbs-page-install-index .btn:hover, body.rbs-ui.rbs-page-install-index .btn-login:hover{ filter: brightness(.98); }

body.rbs-ui.rbs-page-install-index .username-pill{
    display: inline-block;
    background: #f1f5f9;
    border: 1px solid var(--line);
    border-radius: 9px;
    padding: 4px 10px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 13px;
    color: var(--text);
    font-weight: 800;
}

body.rbs-ui.rbs-page-install-index .success{
    text-align: left;
}

body.rbs-ui.rbs-page-install-index .success-note{
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #166534;
    border-radius: 16px;
    padding: 14px 16px;
    font-size: 14px;
    line-height: 1.6;
    margin: 18px 0;
}

@media (max-width: 900px){
    body.rbs-ui.rbs-page-install-index{ padding: 16px; }
    body.rbs-ui.rbs-page-install-index .hero{ padding: 34px 24px; }
    body.rbs-ui.rbs-page-install-index .grid{ grid-template-columns: 1fr; }
    body.rbs-ui.rbs-page-install-index .steps{ grid-template-columns: 1fr; }
    body.rbs-ui.rbs-page-install-index .help-pill{ display: none; }
}

/* Migrated from /login.php (page-scoped). */
body.rbs-ui.rbs-page-login{
--bg-1:#0f172a;
--bg-2:#1e293b;
--panel:#ffffff;
--text:#0f172a;
--muted:#64748b;
--line:#e2e8f0;
--brand:#123b78;
--brand-dark:#0b2858;
--danger:#b91c1c;
--shadow:0 30px 80px rgba(2,6,23,.28);
}
body.rbs-ui.rbs-page-login *{box-sizing:border-box;}
body.rbs-ui.rbs-page-login, body.rbs-ui.rbs-page-login{height:100%;margin:0;}
body.rbs-ui.rbs-page-login{
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
background:
radial-gradient(circle at top left, rgba(255,255,255,.08), transparent 30%),
linear-gradient(135deg, var(--bg-1) 0%, var(--bg-2) 45%, #334155 100%);
color:#fff;
min-height:100vh;
display:flex;
align-items:center;
justify-content:center;
padding:32px;
}
body.rbs-ui.rbs-page-login .shell{
width:100%;
max-width:1180px;
min-height:680px;
display:grid;
grid-template-columns: 1.15fr .85fr;
background:rgba(255,255,255,.06);
border:1px solid rgba(255,255,255,.12);
border-radius:32px;
overflow:hidden;
box-shadow:var(--shadow);
backdrop-filter: blur(8px);
}
body.rbs-ui.rbs-page-login .brand-side{
position:relative;
padding:56px;
display:flex;
flex-direction:column;
justify-content:space-between;
background:
linear-gradient(180deg, rgba(15,23,42,.30), rgba(15,23,42,.72)),
linear-gradient(135deg, #07172f 0%, #0c2b5b 58%, #123b78 100%);
}

body.rbs-ui.rbs-page-login .brand-side.rbs-login-brand-minimal{
justify-content:center;
align-items:center;
padding:48px;
}

body.rbs-ui.rbs-page-login .brand-login-logo{
width:min(100%, 620px);
border-radius:28px;
overflow:hidden;
box-shadow:0 28px 72px rgba(0,0,0,.32);
}

body.rbs-ui.rbs-page-login .brand-login-logo img{
display:block;
width:100%;
height:auto;
}

body.rbs-ui.rbs-page-login .brand-top{
display:flex;
align-items:center;
gap:18px;
}
body.rbs-ui.rbs-page-login .brand-top.has-banner-logo{
margin-top:-6px;
}
body.rbs-ui.rbs-page-login .brand-banner{
width:100%;
max-width:620px;
margin:0 0 28px;
border-radius:20px;
overflow:hidden;
background:#fbfaf7;
border:1px solid rgba(255,255,255,.16);
box-shadow:0 18px 42px rgba(0,0,0,.22);
}
body.rbs-ui.rbs-page-login .brand-banner img{
display:block;
width:100%;
height:auto;
max-height:88px;
object-fit:cover;
object-position:left center;
}
body.rbs-ui.rbs-page-login .brand-top img{
width:88px;
height:88px;
object-fit:contain;
border-radius:20px;
background:#fff;
padding:8px;
box-shadow:0 10px 30px rgba(0,0,0,.18);
flex:0 0 88px;
}
body.rbs-ui.rbs-page-login .brand-kicker{
font-size:12px;
letter-spacing:.18em;
text-transform:uppercase;
opacity:.8;
margin:0 0 8px;
}
body.rbs-ui.rbs-page-login .brand-name{
font-size:30px;
font-weight:700;
line-height:1.1;
margin:0;
}
body.rbs-ui.rbs-page-login .brand-copy{
max-width:560px;
}
body.rbs-ui.rbs-page-login .brand-copy h1{
font-size:52px;
line-height:1.02;
margin:0 0 16px;
font-weight:750;
letter-spacing:-.03em;
}
body.rbs-ui.rbs-page-login .brand-copy p{
margin:0;
font-size:18px;
line-height:1.7;
color:rgba(255,255,255,.88);
max-width:540px;
}
body.rbs-ui.rbs-page-login .brand-footer{
display:flex;
gap:14px;
flex-wrap:wrap;
}
body.rbs-ui.rbs-page-login .badge{
display:inline-flex;
align-items:center;
padding:10px 14px;
border-radius:999px;
background:rgba(255,255,255,.10);
border:1px solid rgba(255,255,255,.14);
font-size:13px;
color:rgba(255,255,255,.92);
backdrop-filter: blur(8px);
}
body.rbs-ui.rbs-page-login .login-side{
background:var(--panel);
color:var(--text);
padding:56px 48px;
display:flex;
align-items:center;
justify-content:center;
}
body.rbs-ui.rbs-page-login .login-card{
width:100%;
max-width:420px;
}
body.rbs-ui.rbs-page-login .login-head{
margin-bottom:28px;
}
body.rbs-ui.rbs-page-login .eyebrow{
display:inline-block;
font-size:12px;
font-weight:700;
letter-spacing:.14em;
text-transform:uppercase;
color:var(--brand);
margin-bottom:14px;
}
body.rbs-ui.rbs-page-login .login-head h2{
margin:0 0 10px;
font-size:34px;
line-height:1.08;
letter-spacing:-.02em;
}
body.rbs-ui.rbs-page-login .login-head p{
margin:0;
color:var(--muted);
font-size:15px;
line-height:1.6;
}
body.rbs-ui.rbs-page-login .version{
margin-top:12px;
font-size:13px;
color:var(--muted);
}
body.rbs-ui.rbs-page-login .error{
margin:0 0 18px;
padding:14px 16px;
border-radius:16px;
background:#fef2f2;
border:1px solid #fecaca;
color:var(--danger);
font-size:14px;
line-height:1.5;
}
body.rbs-ui.rbs-page-login form{
display:flex;
flex-direction:column;
gap:16px;
}
body.rbs-ui.rbs-page-login .field{
display:flex;
flex-direction:column;
gap:8px;
}
body.rbs-ui.rbs-page-login .field label{
font-size:14px;
font-weight:600;
color:#334155;
}
body.rbs-ui.rbs-page-login .password-wrap{
position:relative;
}
body.rbs-ui.rbs-page-login .field input{
width:100%;
height:54px;
border-radius:16px;
border:1px solid var(--line);
background:#fff;
padding:0 16px;
font-size:15px;
color:var(--text);
outline:none;
transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
body.rbs-ui.rbs-page-login .password-wrap input{
padding-right:58px;
}
body.rbs-ui.rbs-page-login .field input:focus{
border-color:var(--brand);
box-shadow:0 0 0 4px rgba(18,59,120,.12);
}
body.rbs-ui.rbs-page-login .pw-toggle{
position:absolute;
top:50%;
right:12px;
transform:translateY(-50%);
width:36px;
height:36px;
border:none;
background:transparent;
color:#64748b;
cursor:pointer;
border-radius:10px;
display:flex;
align-items:center;
justify-content:center;
padding:0;
font-size:18px;
line-height:1;
}
body.rbs-ui.rbs-page-login .pw-toggle:hover{
background:rgba(100,116,139,.08);
color:#334155;
}
body.rbs-ui.rbs-page-login .pw-toggle:focus{
outline:none;
box-shadow:0 0 0 4px rgba(18,59,120,.12);
}
body.rbs-ui.rbs-page-login .btn{
height:56px;
border:none;
border-radius:16px;
background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
color:#fff;
font-size:15px;
font-weight:700;
letter-spacing:.01em;
cursor:pointer;
box-shadow:0 14px 30px rgba(18,59,120,.22);
transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}
body.rbs-ui.rbs-page-login .btn:hover{
transform:translateY(-1px);
box-shadow:0 18px 34px rgba(18,59,120,.28);
}
body.rbs-ui.rbs-page-login .btn:active{
transform:translateY(0);
}
body.rbs-ui.rbs-page-login .login-note{
margin-top:18px;
font-size:13px;
line-height:1.6;
color:var(--muted);
text-align:center;
}
@media (max-width: 980px){
body.rbs-ui.rbs-page-login .shell{
grid-template-columns:1fr;
max-width:620px;
min-height:auto;
}
body.rbs-ui.rbs-page-login .brand-side{
display:none;
}
body.rbs-ui.rbs-page-login .login-side{
padding:36px 26px;
}
}
@media (max-width: 640px){
body.rbs-ui.rbs-page-login{
padding:16px;
}
body.rbs-ui.rbs-page-login .shell{
border-radius:24px;
}
body.rbs-ui.rbs-page-login .login-side{
padding:24px 18px;
}
body.rbs-ui.rbs-page-login .login-head h2{
font-size:28px;
}
}

/* Migrated from /manager/add_user.php (page-scoped). */
body.rbs-ui.rbs-page-manager-add-user{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --danger:#b91c1c;
    --danger-bg:#fef2f2;
    --danger-line:#fecaca;
    --shadow:0 12px 30px rgba(15,23,42,.08);
}
body.rbs-ui.rbs-page-manager-add-user *{box-sizing:border-box}
body.rbs-ui.rbs-page-manager-add-user{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--text)}
body.rbs-ui.rbs-page-manager-add-user .wrap{max-width:820px;margin:0 auto;padding:28px 20px 40px}
body.rbs-ui.rbs-page-manager-add-user .topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:24px}
body.rbs-ui.rbs-page-manager-add-user .title h1{margin:0 0 6px;font-size:32px}
body.rbs-ui.rbs-page-manager-add-user .title p{margin:0;color:var(--muted);font-size:15px}
body.rbs-ui.rbs-page-manager-add-user .actions{display:flex;gap:10px;flex-wrap:wrap}
body.rbs-ui.rbs-page-manager-add-user .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:12px;text-decoration:none;font-weight:700;border:1px solid var(--line);background:#fff;color:var(--text);cursor:pointer}
body.rbs-ui.rbs-page-manager-add-user .btn.primary{background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);color:#fff;border:none}
body.rbs-ui.rbs-page-manager-add-user .card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow)}
body.rbs-ui.rbs-page-manager-add-user .card h3{margin:0 0 16px;font-size:22px}
body.rbs-ui.rbs-page-manager-add-user .flash{padding:14px 16px;border-radius:14px;margin-bottom:18px;border:1px solid var(--danger-line);background:var(--danger-bg);color:var(--danger)}
body.rbs-ui.rbs-page-manager-add-user .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
body.rbs-ui.rbs-page-manager-add-user .field{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
body.rbs-ui.rbs-page-manager-add-user .field.full{grid-column:1 / -1}
body.rbs-ui.rbs-page-manager-add-user .field label{font-size:14px;font-weight:700;color:#334155}
body.rbs-ui.rbs-page-manager-add-user .field input, body.rbs-ui.rbs-page-manager-add-user .field select{width:100%;min-height:46px;border:1px solid var(--line);border-radius:12px;padding:0 12px;font-size:14px;background:#fff;color:var(--text)}
body.rbs-ui.rbs-page-manager-add-user .check{display:flex;align-items:flex-start;gap:10px;margin:4px 0 10px;color:#334155;font-size:14px;font-weight:600}
body.rbs-ui.rbs-page-manager-add-user .check input{margin-top:2px}
body.rbs-ui.rbs-page-manager-add-user .muted{color:var(--muted);font-size:13px;line-height:1.5}
@media (max-width: 700px){body.rbs-ui.rbs-page-manager-add-user .form-grid{grid-template-columns:1fr}}

/* Migrated from /manager/audit_logs.php (page-scoped). */
body.rbs-ui.rbs-page-manager-audit-logs{--bg:#f4f7fb;--card:#ffffff;--text:#0f172a;--muted:#64748b;--line:#e2e8f0;--brand:#8b5e3c;--brand-dark:#6f472b;--shadow:0 12px 30px rgba(15,23,42,.08);--green-bg:#f0fdf4;--green-line:#bbf7d0;--green-text:#166534;--green-chip:#dcfce7;--gray-bg:#f8fafc;--gray-line:#dbe2ea;--gray-text:#94a3b8;--error-bg:#fef2f2;--error-line:#fecaca;--error-text:#b91c1c;--success-bg:#ecfdf5;--success-line:#a7f3d0;--success-text:#065f46;--warning-bg:#fff7ed;--warning-line:#fdba74;--warning-text:#9a3412;}
body.rbs-ui.rbs-page-manager-audit-logs *{box-sizing:border-box} body.rbs-ui.rbs-page-manager-audit-logs{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--text)}
body.rbs-ui.rbs-page-manager-audit-logs .wrap{max-width:1500px;margin:0 auto;padding:28px 20px 40px}body.rbs-ui.rbs-page-manager-audit-logs .topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}body.rbs-ui.rbs-page-manager-audit-logs .topbar-left{display:flex;align-items:center;gap:16px}body.rbs-ui.rbs-page-manager-audit-logs .title h1{margin:0 0 6px;font-size:32px}body.rbs-ui.rbs-page-manager-audit-logs .title p{margin:0;color:var(--muted);font-size:15px}body.rbs-ui.rbs-page-manager-audit-logs .actions{display:flex;gap:10px;flex-wrap:wrap}body.rbs-ui.rbs-page-manager-audit-logs .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:12px;text-decoration:none;font-weight:700;border:1px solid var(--line);background:#fff;color:var(--text);cursor:pointer;font-family:Arial,sans-serif;font-size:14px}body.rbs-ui.rbs-page-manager-audit-logs .btn.primary{background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);color:#fff;border:none}body.rbs-ui.rbs-page-manager-audit-logs .btn.warning{background:linear-gradient(180deg,#ea580c 0%,#c2410c 100%);color:#fff;border:none}body.rbs-ui.rbs-page-manager-audit-logs .hero{background:linear-gradient(135deg,#1e293b 0%,#334155 100%);color:#fff;border-radius:24px;padding:28px;box-shadow:var(--shadow);margin-bottom:24px}body.rbs-ui.rbs-page-manager-audit-logs .hero h2{margin:0 0 10px;font-size:28px}body.rbs-ui.rbs-page-manager-audit-logs .hero p{margin:0;max-width:850px;line-height:1.6;color:rgba(255,255,255,.88)}body.rbs-ui.rbs-page-manager-audit-logs .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px}body.rbs-ui.rbs-page-manager-audit-logs .stat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:16px}body.rbs-ui.rbs-page-manager-audit-logs .stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;opacity:.8;margin-bottom:6px}body.rbs-ui.rbs-page-manager-audit-logs .stat-value{font-size:22px;font-weight:700}body.rbs-ui.rbs-page-manager-audit-logs .notice{border-radius:16px;padding:16px 18px;border:1px solid transparent;margin-bottom:18px}body.rbs-ui.rbs-page-manager-audit-logs .notice.error{background:var(--error-bg);border-color:var(--error-line);color:var(--error-text)}body.rbs-ui.rbs-page-manager-audit-logs .notice.success{background:var(--success-bg);border-color:var(--success-line);color:var(--success-text)}body.rbs-ui.rbs-page-manager-audit-logs .notice.warning{background:var(--warning-bg);border-color:var(--warning-line);color:var(--warning-text)}body.rbs-ui.rbs-page-manager-audit-logs .card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow)}body.rbs-ui.rbs-page-manager-audit-logs .card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}body.rbs-ui.rbs-page-manager-audit-logs .card h3{margin:0;font-size:22px}body.rbs-ui.rbs-page-manager-audit-logs .muted{color:var(--muted)}body.rbs-ui.rbs-page-manager-audit-logs .toolbar{display:grid;grid-template-columns:2fr 1fr 1fr 140px 1fr auto;gap:10px;align-items:end;margin-bottom:16px}body.rbs-ui.rbs-page-manager-audit-logs .field label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}body.rbs-ui.rbs-page-manager-audit-logs .field input, body.rbs-ui.rbs-page-manager-audit-logs .field select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font:inherit}body.rbs-ui.rbs-page-manager-audit-logs .table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:16px}body.rbs-ui.rbs-page-manager-audit-logs table{width:100%;border-collapse:collapse;min-width:1100px;background:#fff}body.rbs-ui.rbs-page-manager-audit-logs th, body.rbs-ui.rbs-page-manager-audit-logs td{padding:14px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);font-size:14px}body.rbs-ui.rbs-page-manager-audit-logs th{background:#f8fafc;color:#334155;font-size:13px;text-transform:uppercase;letter-spacing:.05em}body.rbs-ui.rbs-page-manager-audit-logs tr:last-child td{border-bottom:none}body.rbs-ui.rbs-page-manager-audit-logs .chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--green-chip);color:var(--green-text);border:1px solid var(--green-line)}body.rbs-ui.rbs-page-manager-audit-logs .empty{background:var(--gray-bg);border:1px solid var(--gray-line);border-radius:16px;padding:18px;color:#475569}body.rbs-ui.rbs-page-manager-audit-logs .inline-form{display:inline;margin:0}
@media (max-width: 1200px){body.rbs-ui.rbs-page-manager-audit-logs .toolbar{grid-template-columns:1fr 1fr;}} @media (max-width:1000px){body.rbs-ui.rbs-page-manager-audit-logs .stats{grid-template-columns:repeat(2,minmax(0,1fr));}} @media (max-width:640px){body.rbs-ui.rbs-page-manager-audit-logs .stats{grid-template-columns:1fr}body.rbs-ui.rbs-page-manager-audit-logs .title h1{font-size:26px}body.rbs-ui.rbs-page-manager-audit-logs .hero h2{font-size:24px}body.rbs-ui.rbs-page-manager-audit-logs .toolbar{grid-template-columns:1fr;}}

/* Migrated from /manager/backups.php (page-scoped). */
body.rbs-ui.rbs-page-manager-backups{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --enabled-bg:#f0fdf4;
    --enabled-line:#bbf7d0;
    --enabled-text:#166534;
    --enabled-chip:#dcfce7;
    --info-bg:#eff6ff;
    --info-line:#bfdbfe;
    --info-text:#1d4ed8;
    --success-bg:#ecfdf5;
    --success-line:#a7f3d0;
    --success-text:#065f46;
    --error-bg:#fef2f2;
    --error-line:#fecaca;
    --error-text:#991b1b;
    --danger-bg:#b91c1c;
    --danger-bg-dark:#991b1b;
}
body.rbs-ui.rbs-page-manager-backups *{box-sizing:border-box}
body.rbs-ui.rbs-page-manager-backups{scroll-behavior:smooth}
body.rbs-ui.rbs-page-manager-backups{
    margin:0;
    font-family:Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-manager-backups .wrap{
    max-width:1300px;
    margin:0 auto;
    padding:28px 20px 40px;
}
body.rbs-ui.rbs-page-manager-backups .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-manager-backups .topbar-left{
    display: flex;
    align-items: center;
    gap: 16px;
}
body.rbs-ui.rbs-page-manager-backups .title h1{
    margin:0 0 6px;
    font-size:32px;
}
body.rbs-ui.rbs-page-manager-backups .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}
body.rbs-ui.rbs-page-manager-backups .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-manager-backups .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}
body.rbs-ui.rbs-page-manager-backups button.btn{
    font-family:inherit;
    font-size:15px;
}
body.rbs-ui.rbs-page-manager-backups .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-manager-backups .btn.success{
    background:linear-gradient(180deg, #16a34a 0%, #15803d 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-manager-backups .btn.danger{
    background:linear-gradient(180deg, var(--danger-bg) 0%, var(--danger-bg-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-manager-backups .btn.small{
    min-height:38px;
    padding:0 12px;
    font-size:14px;
}
body.rbs-ui.rbs-page-manager-backups .hero{
    background:linear-gradient(135deg, #1e293b 0%, #334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}
body.rbs-ui.rbs-page-manager-backups .hero h2{
    margin:0 0 10px;
    font-size:28px;
}
body.rbs-ui.rbs-page-manager-backups .hero p{
    margin:0;
    max-width:860px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}
body.rbs-ui.rbs-page-manager-backups .stats{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:14px;
    margin-top:24px;
}
body.rbs-ui.rbs-page-manager-backups .stat{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    padding:16px;
}
body.rbs-ui.rbs-page-manager-backups .stat-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    opacity:.8;
    margin-bottom:6px;
}
body.rbs-ui.rbs-page-manager-backups .stat-value{
    font-size:22px;
    font-weight:700;
}
body.rbs-ui.rbs-page-manager-backups .notice{
    margin-bottom:20px;
    padding:16px 18px;
    border-radius:16px;
    border:1px solid var(--info-line);
    background:var(--info-bg);
    color:var(--info-text);
    line-height:1.6;
}
body.rbs-ui.rbs-page-manager-backups .notice.success{
    border-color:var(--success-line);
    background:var(--success-bg);
    color:var(--success-text);
}
body.rbs-ui.rbs-page-manager-backups .notice.error{
    border-color:var(--error-line);
    background:var(--error-bg);
    color:var(--error-text);
}
body.rbs-ui.rbs-page-manager-backups .section{
    margin-bottom:24px;
}
body.rbs-ui.rbs-page-manager-backups .section h3{
    margin:0 0 14px;
    font-size:24px;
}
body.rbs-ui.rbs-page-manager-backups .two-col{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:18px;
}
body.rbs-ui.rbs-page-manager-backups .panel{
    background:#fff;
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
}
body.rbs-ui.rbs-page-manager-backups .panel h4{
    margin:0 0 14px;
    font-size:20px;
}
body.rbs-ui.rbs-page-manager-backups .panel-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:14px;
}
body.rbs-ui.rbs-page-manager-backups .history-list, body.rbs-ui.rbs-page-manager-backups .restore-list, body.rbs-ui.rbs-page-manager-backups .full-list{
    display:grid;
    gap:12px;
}
body.rbs-ui.rbs-page-manager-backups .history-item, body.rbs-ui.rbs-page-manager-backups .restore-item, body.rbs-ui.rbs-page-manager-backups .full-item{
    border:1px solid var(--line);
    border-radius:16px;
    padding:14px 16px;
    background:#fff;
}
body.rbs-ui.rbs-page-manager-backups .history-top, body.rbs-ui.rbs-page-manager-backups .restore-top, body.rbs-ui.rbs-page-manager-backups .full-top{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start;
    flex-wrap:wrap;
    margin-bottom:6px;
}
body.rbs-ui.rbs-page-manager-backups .history-name, body.rbs-ui.rbs-page-manager-backups .restore-name, body.rbs-ui.rbs-page-manager-backups .full-name{
    font-weight:700;
    font-size:16px;
    word-break:break-word;
}
body.rbs-ui.rbs-page-manager-backups .meta{
    color:var(--muted);
    font-size:14px;
    line-height:1.5;
}
body.rbs-ui.rbs-page-manager-backups .badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:5px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    background:#dcfce7;
    color:#166534;
    border:1px solid #bbf7d0;
    white-space:nowrap;
}
body.rbs-ui.rbs-page-manager-backups .backup-item-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:12px;
}
body.rbs-ui.rbs-page-manager-backups .inline-form{
    display:inline;
    margin:0;
}
body.rbs-ui.rbs-page-manager-backups .field-label{
    display:block;
    margin:12px 0 6px;
    font-size:13px;
    font-weight:800;
    color:var(--text);
}
body.rbs-ui.rbs-page-manager-backups .input{
    width:100%;
    min-height:42px;
    border:1px solid var(--line);
    border-radius:12px;
    padding:0 12px;
    font:inherit;
    background:#fff;
    color:var(--text);
}
body.rbs-ui.rbs-page-manager-backups .check-row{
    display:flex;
    gap:10px;
    align-items:flex-start;
    margin:12px 0;
    font-size:14px;
    color:var(--text);
    line-height:1.4;
}
body.rbs-ui.rbs-page-manager-backups .check-row input{
    margin-top:2px;
}
body.rbs-ui.rbs-page-manager-backups .detail-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:18px;
}
body.rbs-ui.rbs-page-manager-backups .detail-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
    scroll-margin-top:20px;
}
body.rbs-ui.rbs-page-manager-backups .detail-card h4{
    margin:0 0 10px;
    font-size:20px;
}
body.rbs-ui.rbs-page-manager-backups .detail-card p{
    margin:0 0 16px;
    color:var(--muted);
    line-height:1.6;
}
body.rbs-ui.rbs-page-manager-backups .detail-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-manager-backups .mini-note{
    margin-top:12px;
    color:var(--muted);
    font-size:13px;
}
@media (max-width: 1100px){
    body.rbs-ui.rbs-page-manager-backups .stats{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
    body.rbs-ui.rbs-page-manager-backups .two-col{ grid-template-columns:1fr; }
    body.rbs-ui.rbs-page-manager-backups .detail-grid{ grid-template-columns:1fr; }
}
@media (max-width: 640px){
    body.rbs-ui.rbs-page-manager-backups .stats{ grid-template-columns:1fr; }
    body.rbs-ui.rbs-page-manager-backups .title h1{ font-size:26px; }
    body.rbs-ui.rbs-page-manager-backups .hero h2{ font-size:24px; }
}

/* Migrated from /manager/restore_database_backup.php (page-scoped). */
body.rbs-ui.rbs-page-manager-restore-database-backup{
        margin:0;
        font-family:Arial, sans-serif;
        background:#f4f7fb;
        color:#0f172a;
    }
    body.rbs-ui.rbs-page-manager-restore-database-backup .wrap{
        max-width:900px;
        margin:50px auto;
        padding:0 20px;
    }
    body.rbs-ui.rbs-page-manager-restore-database-backup .box{
        background:#fff;
        border:2px solid <?php echo $success ? "#86efac" : "#fca5a5"; ?>;
        border-radius:18px;
        padding:28px;
        box-shadow:0 12px 30px rgba(15,23,42,.08);
        background:<?php echo $success ? "#f0fdf4" : "#fef2f2"; ?>;
    }
    body.rbs-ui.rbs-page-manager-restore-database-backup h1{
        margin:0 0 12px;
        font-size:30px;
        color:<?php echo $success ? "#166534" : "#991b1b"; ?>;
    }
    body.rbs-ui.rbs-page-manager-restore-database-backup p{
        margin:0 0 12px;
        font-size:18px;
        line-height:1.6;
    }
    body.rbs-ui.rbs-page-manager-restore-database-backup .details{
        margin-top:16px;
        padding:14px;
        border-radius:12px;
        background:#fff;
        border:1px solid #e2e8f0;
        font-size:14px;
        line-height:1.6;
        white-space:pre-wrap;
        word-break:break-word;
    }
    body.rbs-ui.rbs-page-manager-restore-database-backup .actions{
        margin-top:20px;
        display:flex;
        gap:10px;
        flex-wrap:wrap;
    }
    body.rbs-ui.rbs-page-manager-restore-database-backup .btn{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        min-height:44px;
        padding:0 16px;
        border-radius:12px;
        text-decoration:none;
        font-weight:700;
        border:1px solid #cbd5e1;
        background:#fff;
        color:#0f172a;
    }

/* Migrated from /manager/run_database_backup.php (page-scoped). */
body.rbs-ui.rbs-page-manager-run-database-backup{
        margin:0;
        font-family:Arial, sans-serif;
        background:#f4f7fb;
        color:#0f172a;
    }
    body.rbs-ui.rbs-page-manager-run-database-backup .wrap{
        max-width:900px;
        margin:50px auto;
        padding:0 20px;
    }
    body.rbs-ui.rbs-page-manager-run-database-backup .box{
        background:#fff;
        border:2px solid <?php echo $success ? "#86efac" : "#fca5a5"; ?>;
        border-radius:18px;
        padding:28px;
        box-shadow:0 12px 30px rgba(15,23,42,.08);
        background:<?php echo $success ? "#f0fdf4" : "#fef2f2"; ?>;
    }
    body.rbs-ui.rbs-page-manager-run-database-backup h1{
        margin:0 0 12px;
        font-size:30px;
        color:<?php echo $success ? "#166534" : "#991b1b"; ?>;
    }
    body.rbs-ui.rbs-page-manager-run-database-backup p{
        margin:0 0 12px;
        font-size:18px;
        line-height:1.6;
    }
    body.rbs-ui.rbs-page-manager-run-database-backup .details{
        margin-top:16px;
        padding:14px;
        border-radius:12px;
        background:#fff;
        border:1px solid #e2e8f0;
        font-size:14px;
        line-height:1.6;
        white-space:pre-wrap;
        word-break:break-word;
    }
    body.rbs-ui.rbs-page-manager-run-database-backup .actions{
        margin-top:20px;
        display:flex;
        gap:10px;
        flex-wrap:wrap;
    }
    body.rbs-ui.rbs-page-manager-run-database-backup .btn{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        min-height:44px;
        padding:0 16px;
        border-radius:12px;
        text-decoration:none;
        font-weight:700;
        border:1px solid #cbd5e1;
        background:#fff;
        color:#0f172a;
    }

/* Migrated from /manager/run_full_system_backup.php (page-scoped). */
body.rbs-ui.rbs-page-manager-run-full-system-backup{
        margin:0;
        font-family:Arial, sans-serif;
        background:#f4f7fb;
        color:#0f172a;
    }
    body.rbs-ui.rbs-page-manager-run-full-system-backup .wrap{
        max-width:900px;
        margin:50px auto;
        padding:0 20px;
    }
    body.rbs-ui.rbs-page-manager-run-full-system-backup .box{
        background:#fff;
        border:2px solid <?php echo $success ? "#86efac" : "#fca5a5"; ?>;
        border-radius:18px;
        padding:28px;
        box-shadow:0 12px 30px rgba(15,23,42,.08);
        background:<?php echo $success ? "#f0fdf4" : "#fef2f2"; ?>;
    }
    body.rbs-ui.rbs-page-manager-run-full-system-backup h1{
        margin:0 0 12px;
        font-size:30px;
        color:<?php echo $success ? "#166534" : "#991b1b"; ?>;
    }
    body.rbs-ui.rbs-page-manager-run-full-system-backup p{
        margin:0 0 12px;
        font-size:18px;
        line-height:1.6;
    }
    body.rbs-ui.rbs-page-manager-run-full-system-backup .details{
        margin-top:16px;
        padding:14px;
        border-radius:12px;
        background:#fff;
        border:1px solid #e2e8f0;
        font-size:14px;
        line-height:1.6;
        white-space:pre-wrap;
        word-break:break-word;
    }
    body.rbs-ui.rbs-page-manager-run-full-system-backup .actions{
        margin-top:20px;
        display:flex;
        gap:10px;
        flex-wrap:wrap;
    }
    body.rbs-ui.rbs-page-manager-run-full-system-backup .btn{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        min-height:44px;
        padding:0 16px;
        border-radius:12px;
        text-decoration:none;
        font-weight:700;
        border:1px solid #cbd5e1;
        background:#fff;
        color:#0f172a;
    }

/* Migrated from /manager/security_access.php (page-scoped). */
body.rbs-ui.rbs-page-manager-security-access{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --disabled-bg:#f8fafc;
    --disabled-line:#dbe2ea;
    --disabled-text:#94a3b8;
    --enabled-bg:#f0fdf4;
    --enabled-line:#bbf7d0;
    --enabled-text:#166534;
    --enabled-chip:#dcfce7;
}
body.rbs-ui.rbs-page-manager-security-access *{box-sizing:border-box}
body.rbs-ui.rbs-page-manager-security-access{
    margin:0;
    font-family:Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-manager-security-access .wrap{
    max-width:1200px;
    margin:0 auto;
    padding:28px 20px 40px;
}
body.rbs-ui.rbs-page-manager-security-access .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-manager-security-access .topbar-left{
    display: flex;
    align-items: center;
    gap: 16px;
}
body.rbs-ui.rbs-page-manager-security-access .title h1{
    margin:0 0 6px;
    font-size:32px;
}
body.rbs-ui.rbs-page-manager-security-access .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}
body.rbs-ui.rbs-page-manager-security-access .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-manager-security-access .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
}
body.rbs-ui.rbs-page-manager-security-access .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-manager-security-access .hero{
    background:linear-gradient(135deg, #1e293b 0%, #334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}
body.rbs-ui.rbs-page-manager-security-access .hero h2{
    margin:0 0 10px;
    font-size:28px;
}
body.rbs-ui.rbs-page-manager-security-access .hero p{
    margin:0;
    max-width:760px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}
body.rbs-ui.rbs-page-manager-security-access .stats{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:14px;
    margin:24px 0 0;
}
body.rbs-ui.rbs-page-manager-security-access .stat{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    padding:16px;
}
body.rbs-ui.rbs-page-manager-security-access .stat-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    opacity:.8;
    margin-bottom:6px;
}
body.rbs-ui.rbs-page-manager-security-access .stat-value{
    font-size:22px;
    font-weight:700;
}
body.rbs-ui.rbs-page-manager-security-access .grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:18px;
}
body.rbs-ui.rbs-page-manager-security-access .card{
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
    background:var(--card);
}
body.rbs-ui.rbs-page-manager-security-access .card.disabled{
    background:var(--disabled-bg);
    border-color:var(--disabled-line);
}
body.rbs-ui.rbs-page-manager-security-access .card.enabled{
    background:var(--enabled-bg);
    border-color:var(--enabled-line);
}
body.rbs-ui.rbs-page-manager-security-access .card-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
}
body.rbs-ui.rbs-page-manager-security-access .card h3{
    margin:0;
    font-size:22px;
}
body.rbs-ui.rbs-page-manager-security-access .card.disabled h3{ color:#475569; }
body.rbs-ui.rbs-page-manager-security-access .card.enabled h3{ color:var(--enabled-text); }
body.rbs-ui.rbs-page-manager-security-access .status-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
    border:1px solid transparent;
}
body.rbs-ui.rbs-page-manager-security-access .status-chip.disabled{
    background:#e5e7eb;
    color:#6b7280;
    border-color:#d1d5db;
}
body.rbs-ui.rbs-page-manager-security-access .status-chip.enabled{
    background:var(--enabled-chip);
    color:var(--enabled-text);
    border-color:var(--enabled-line);
}
body.rbs-ui.rbs-page-manager-security-access .card p{
    margin:0 0 18px;
    line-height:1.6;
}
body.rbs-ui.rbs-page-manager-security-access .card.disabled p{ color:#64748b; }
body.rbs-ui.rbs-page-manager-security-access .card.enabled p{ color:#166534; }
body.rbs-ui.rbs-page-manager-security-access .card-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-manager-security-access .link-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 14px;
    border-radius:10px;
    font-size:14px;
    font-weight:700;
    text-decoration:none;
    border:1px solid var(--line);
}
body.rbs-ui.rbs-page-manager-security-access .link-pill.disabled{
    background:#e5e7eb;
    color:#6b7280;
    border-color:#d1d5db;
    pointer-events:none;
    cursor:not-allowed;
}
body.rbs-ui.rbs-page-manager-security-access .link-pill.enabled{
    background:#dcfce7;
    color:#166534;
    border-color:#bbf7d0;
}
@media (max-width: 900px){
    body.rbs-ui.rbs-page-manager-security-access .grid{ grid-template-columns:1fr; }
    body.rbs-ui.rbs-page-manager-security-access .stats{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
    body.rbs-ui.rbs-page-manager-security-access .stats{ grid-template-columns:1fr; }
    body.rbs-ui.rbs-page-manager-security-access .title h1{ font-size:26px; }
    body.rbs-ui.rbs-page-manager-security-access .hero h2{ font-size:24px; }
}

/* Migrated from /manager/totp_setup.php (page-scoped). */
body.rbs-ui.rbs-page-manager-totp-setup{
    font-family:Arial,sans-serif;
    background:#f4f7fb;
    padding:20px;
}
body.rbs-ui.rbs-page-manager-totp-setup .container-box{
    max-width:520px;
    margin:3rem auto;
}
body.rbs-ui.rbs-page-manager-totp-setup .qr{
    display:block;
    margin:1rem auto 1rem;
    max-width:250px;
    width:100%;
    height:auto;
}
body.rbs-ui.rbs-page-manager-totp-setup .secret-box{
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
    letter-spacing:.3px;
    user-select:all;
    word-break:break-all;
}

/* Migrated from /manager/users.php (page-scoped). */
body.rbs-ui.rbs-page-manager-users{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --danger:#b91c1c;
    --danger-dark:#991b1b;
    --success:#166534;
    --success-bg:#f0fdf4;
    --success-line:#bbf7d0;
    --error-bg:#fef2f2;
    --error-line:#fecaca;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --warning:#92400e;
    --warning-bg:#fffbeb;
    --warning-line:#fde68a;
    --overlay:rgba(15,23,42,.55);
}
body.rbs-ui.rbs-page-manager-users *{box-sizing:border-box}
body.rbs-ui.rbs-page-manager-users{
    margin:0;
    font-family:Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-manager-users{
    overflow-x:hidden;
    overflow-y:auto;
}
body.rbs-ui.rbs-page-manager-users .wrap{
    max-width:1400px;
    margin:0 auto;
    padding:28px 20px 40px;
}
body.rbs-ui.rbs-page-manager-users .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-manager-users .topbar-left{
    display: flex;
    align-items: center;
    gap: 16px;
}
body.rbs-ui.rbs-page-manager-users .title h1{
    margin:0 0 6px;
    font-size:32px;
}
body.rbs-ui.rbs-page-manager-users .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}
body.rbs-ui.rbs-page-manager-users .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-manager-users .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}
body.rbs-ui.rbs-page-manager-users .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-manager-users .btn.secondary{
    background:#fff;
    color:var(--brand-dark);
    border:1px solid #d6c2b0;
}
body.rbs-ui.rbs-page-manager-users .btn.danger{
    background:linear-gradient(180deg, var(--danger) 0%, var(--danger-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-manager-users .hero{
    background:linear-gradient(135deg, #1e293b 0%, #334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}
body.rbs-ui.rbs-page-manager-users .hero h2{
    margin:0 0 10px;
    font-size:28px;
}
body.rbs-ui.rbs-page-manager-users .hero p{
    margin:0;
    max-width:820px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}
body.rbs-ui.rbs-page-manager-users .flash{
    padding:14px 16px;
    border-radius:14px;
    margin-bottom:18px;
    border:1px solid transparent;
}
body.rbs-ui.rbs-page-manager-users .flash.success{
    background:var(--success-bg);
    border-color:var(--success-line);
    color:var(--success);
}
body.rbs-ui.rbs-page-manager-users .flash.error{
    background:var(--error-bg);
    border-color:var(--error-line);
    color:var(--danger);
}
body.rbs-ui.rbs-page-manager-users .grid{
    display:grid;
    grid-template-columns:400px 1fr;
    gap:20px;
    align-items:start;
}
body.rbs-ui.rbs-page-manager-users .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
}
body.rbs-ui.rbs-page-manager-users .card h3{
    margin:0 0 16px;
    font-size:22px;
}
body.rbs-ui.rbs-page-manager-users .field{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-bottom:14px;
}
body.rbs-ui.rbs-page-manager-users .field.full{
    grid-column:1 / -1;
}
body.rbs-ui.rbs-page-manager-users .field label{
    font-size:14px;
    font-weight:700;
    color:#334155;
}
body.rbs-ui.rbs-page-manager-users .field input, body.rbs-ui.rbs-page-manager-users .field select{
    width:100%;
    min-height:46px;
    border:1px solid var(--line);
    border-radius:12px;
    padding:0 12px;
    font-size:14px;
    background:#fff;
    color:var(--text);
}
body.rbs-ui.rbs-page-manager-users .field input[disabled], body.rbs-ui.rbs-page-manager-users .field select[disabled]{
    background:#f8fafc;
    color:#64748b;
    cursor:not-allowed;
}
body.rbs-ui.rbs-page-manager-users .password-feedback{
    min-height:20px;
    font-size:12px;
    line-height:1.5;
    margin-top:2px;
    font-weight:700;
}
body.rbs-ui.rbs-page-manager-users .password-feedback.muted{
    color:var(--muted);
}
body.rbs-ui.rbs-page-manager-users .password-feedback.error{
    color:var(--danger);
}
body.rbs-ui.rbs-page-manager-users .password-feedback.success{
    color:var(--success);
}
body.rbs-ui.rbs-page-manager-users .check{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin:4px 0 10px;
    color:#334155;
    font-size:14px;
    font-weight:600;
}
body.rbs-ui.rbs-page-manager-users .check input{
    margin-top:2px;
}
body.rbs-ui.rbs-page-manager-users .muted{
    color:var(--muted);
    font-size:13px;
    line-height:1.5;
}
body.rbs-ui.rbs-page-manager-users .users-toolbar{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:16px;
}
body.rbs-ui.rbs-page-manager-users .users-list{
    display:flex;
    flex-direction:column;
    gap:16px;
}
body.rbs-ui.rbs-page-manager-users .user-card{
    border:1px solid var(--line);
    border-radius:18px;
    padding:18px;
    background:#fff;
}
body.rbs-ui.rbs-page-manager-users .user-card.protected-user-locked{
    background:#f8fafc;
    border-style:dashed;
    opacity:.72;
}
body.rbs-ui.rbs-page-manager-users .protected-account-note{
    margin:12px 0 14px;
    padding:12px 14px;
    border:1px solid #fde68a;
    border-radius:14px;
    background:#fffbeb;
    color:#92400e;
    font-size:13px;
    line-height:1.5;
}
body.rbs-ui.rbs-page-manager-users .protected-account-note strong{
    display:block;
    margin-bottom:3px;
    color:#78350f;
}
body.rbs-ui.rbs-page-manager-users .locked-account-preview{
    margin-top:14px;
    padding:14px 16px;
    border:1px dashed #cbd5e1;
    border-radius:14px;
    background:#f1f5f9;
    color:#64748b;
    font-size:13px;
    font-weight:700;
    line-height:1.5;
}
body.rbs-ui.rbs-page-manager-users .user-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:14px;
    flex-wrap:wrap;
    margin-bottom:14px;
}
body.rbs-ui.rbs-page-manager-users .user-name{
    margin:0;
    font-size:20px;
}
body.rbs-ui.rbs-page-manager-users .user-sub{
    margin:6px 0 0;
    color:var(--muted);
    font-size:14px;
}
body.rbs-ui.rbs-page-manager-users .chips{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-manager-users .chip{
    display:inline-flex;
    align-items:center;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    border:1px solid var(--line);
    background:#f8fafc;
    color:#475569;
}
body.rbs-ui.rbs-page-manager-users .chip.active{
    background:#ecfdf5;
    color:#166534;
    border-color:#bbf7d0;
}
body.rbs-ui.rbs-page-manager-users .chip.inactive{
    background:#fef2f2;
    color:#b91c1c;
    border-color:#fecaca;
}
body.rbs-ui.rbs-page-manager-users .chip.pending{
    background:var(--warning-bg);
    color:var(--warning);
    border-color:var(--warning-line);
}
body.rbs-ui.rbs-page-manager-users .chip.admin{
    background:#ede9fe;
    color:#5b21b6;
    border-color:#ddd6fe;
}
body.rbs-ui.rbs-page-manager-users .chip.manager{
    background:#eff6ff;
    color:#1d4ed8;
    border-color:#bfdbfe;
}
body.rbs-ui.rbs-page-manager-users .chip.frontdesk{
    background:#f8fafc;
    color:#475569;
    border-color:#cbd5e1;
}
body.rbs-ui.rbs-page-manager-users .chip.warning{
    background:var(--warning-bg);
    color:var(--warning);
    border-color:var(--warning-line);
}
body.rbs-ui.rbs-page-manager-users .meta{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:12px;
    margin-bottom:14px;
}
body.rbs-ui.rbs-page-manager-users .meta-box{
    background:#f8fafc;
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px 12px;
}
body.rbs-ui.rbs-page-manager-users .meta-box .k{
    font-size:12px;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.06em;
    margin-bottom:4px;
}
body.rbs-ui.rbs-page-manager-users .meta-box .v{
    font-size:14px;
    color:var(--text);
    font-weight:700;
    word-break:break-word;
}
body.rbs-ui.rbs-page-manager-users .edit-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
}
body.rbs-ui.rbs-page-manager-users .autosave-note{
    margin-top:8px;
    color:var(--muted);
    font-size:12px;
}
body.rbs-ui.rbs-page-manager-users .own-account-note{
    margin-top:10px;
    padding:10px 12px;
    border:1px solid #bfdbfe;
    border-radius:12px;
    background:#eff6ff;
    color:#1d4ed8;
    font-size:13px;
    font-weight:700;
}
body.rbs-ui.rbs-page-manager-users .setup-2fa-box{
    margin-top:12px;
    padding:12px 14px;
    border:1px dashed #d6c2b0;
    border-radius:14px;
    background:#fffbf7;
}
body.rbs-ui.rbs-page-manager-users .setup-2fa-box .title{
    margin:0 0 6px;
    font-size:14px;
    font-weight:700;
    color:#7c5231;
}
body.rbs-ui.rbs-page-manager-users .setup-2fa-box .text{
    margin:0 0 10px;
    font-size:13px;
    color:#7b6a5c;
    line-height:1.5;
}
body.rbs-ui.rbs-page-manager-users .frontdesk-access-box{
    margin-top:14px;
    padding:14px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#f8fafc;
}
body.rbs-ui.rbs-page-manager-users .frontdesk-access-title{
    margin:0 0 10px;
    font-size:15px;
    font-weight:700;
    color:#0f172a;
}
body.rbs-ui.rbs-page-manager-users .access-summary{
    margin:0 0 14px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#f8fafc;
    overflow:hidden;
}
body.rbs-ui.rbs-page-manager-users .access-summary-row, body.rbs-ui.rbs-page-manager-users .access-summary summary{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    font-size:14px;
    font-weight:700;
    color:#334155;
}
body.rbs-ui.rbs-page-manager-users .access-summary summary{
    cursor:pointer;
    list-style:none;
    background:#fff;
}
body.rbs-ui.rbs-page-manager-users .access-summary summary::-webkit-details-marker{
    display:none;
}
body.rbs-ui.rbs-page-manager-users .access-pill{
    display:inline-flex;
    align-items:center;
    padding:5px 9px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    border:1px solid var(--line);
    background:#fff;
    color:#475569;
    white-space:nowrap;
}
body.rbs-ui.rbs-page-manager-users .access-pill.all{
    background:#ecfdf5;
    color:#166534;
    border-color:#bbf7d0;
}
body.rbs-ui.rbs-page-manager-users .access-pill.restricted{
    background:var(--warning-bg);
    color:var(--warning);
    border-color:var(--warning-line);
}
body.rbs-ui.rbs-page-manager-users .access-summary-detail{
    padding:0 14px 12px;
    color:var(--muted);
    font-size:13px;
    line-height:1.5;
}
body.rbs-ui.rbs-page-manager-users .access-summary-body{
    padding:12px 14px 14px;
    border-top:1px solid var(--line);
    background:#fcfcfd;
}
body.rbs-ui.rbs-page-manager-users .access-section{
    margin:0 0 12px;
}
body.rbs-ui.rbs-page-manager-users .access-section:last-child{
    margin-bottom:0;
}
body.rbs-ui.rbs-page-manager-users .access-section-title{
    margin:0 0 6px;
    font-size:13px;
    font-weight:800;
    color:#334155;
}
body.rbs-ui.rbs-page-manager-users .access-list{
    margin:0;
    padding-left:18px;
    color:#475569;
    font-size:13px;
    line-height:1.6;
}
body.rbs-ui.rbs-page-manager-users .preset-help{
    margin-top:4px;
    color:var(--muted);
    font-size:12px;
    line-height:1.5;
}
body.rbs-ui.rbs-page-manager-users .section-title-with-help, body.rbs-ui.rbs-page-manager-users .label-with-help, body.rbs-ui.rbs-page-manager-users .frontdesk-access-title-row{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-manager-users .section-title-with-help{
    margin:0 0 8px;
}
body.rbs-ui.rbs-page-manager-users .label-with-help{
    margin:0 0 6px;
}
body.rbs-ui.rbs-page-manager-users .label-with-help label{
    margin:0;
}
body.rbs-ui.rbs-page-manager-users .frontdesk-access-title-row{
    justify-content:space-between;
    margin:0 0 10px;
}
body.rbs-ui.rbs-page-manager-users .frontdesk-access-title-row .frontdesk-access-title{
    margin:0;
}
body.rbs-ui.rbs-page-manager-users .help-trigger{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:26px;
    height:26px;
    border-radius:999px;
    border:1px solid #d6c2b0;
    background:#fffaf4;
    color:#7c5231;
    font-size:14px;
    font-weight:800;
    line-height:1;
    cursor:pointer;
}
body.rbs-ui.rbs-page-manager-users .help-trigger:hover, body.rbs-ui.rbs-page-manager-users .help-trigger:focus{
    border-color:var(--brand);
    color:var(--brand-dark);
    outline:none;
    box-shadow:0 0 0 3px rgba(139,94,60,.14);
}
body.rbs-ui.rbs-page-manager-users .role-help-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px;
}
body.rbs-ui.rbs-page-manager-users .role-help-card{
    border:1px solid var(--line);
    border-radius:14px;
    background:#f8fafc;
    padding:12px 14px;
}
body.rbs-ui.rbs-page-manager-users .role-help-card h3{
    margin:0 0 6px;
    font-size:15px;
}
body.rbs-ui.rbs-page-manager-users .role-help-card p{
    margin:0;
    color:var(--muted);
    font-size:13px;
    line-height:1.5;
}
body.rbs-ui.rbs-page-manager-users .role-help-card ul{
    margin:8px 0 0;
    padding-left:18px;
    color:#475569;
    font-size:13px;
    line-height:1.5;
}
body.rbs-ui.rbs-page-manager-users .frontdesk-access-box details{
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    margin-bottom:10px;
    overflow:hidden;
}
body.rbs-ui.rbs-page-manager-users .frontdesk-access-box summary{
    cursor:pointer;
    list-style:none;
    padding:12px 14px;
    font-weight:700;
    color:#334155;
    background:#fff;
}
body.rbs-ui.rbs-page-manager-users .frontdesk-access-box summary::-webkit-details-marker{
    display:none;
}
body.rbs-ui.rbs-page-manager-users .frontdesk-access-body{
    padding:12px 14px 14px;
    border-top:1px solid var(--line);
    background:#fcfcfd;
}
body.rbs-ui.rbs-page-manager-users .frontdesk-access-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px;
}
body.rbs-ui.rbs-page-manager-users .fd-item{
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px 12px;
    background:#fff;
}
body.rbs-ui.rbs-page-manager-users .fd-item label{
    display:block;
    margin:0 0 6px;
    font-size:13px;
    font-weight:700;
    color:#334155;
}
body.rbs-ui.rbs-page-manager-users .fd-actions{
    margin-top:12px;
    display:flex;
    justify-content:flex-end;
}
body.rbs-ui.rbs-page-manager-users .delete-row{
    margin-top:14px;
    display:flex;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-manager-users .add-user-card-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-manager-users .modal{
    position:fixed;
    inset:0;
    display:none;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:var(--overlay);
    z-index:9999;
}
body.rbs-ui.rbs-page-manager-users .modal.open{
    display:flex;
}
body.rbs-ui.rbs-page-manager-users #roleAccessHelpModal{
    z-index:10000;
}
body.rbs-ui.rbs-page-manager-users .modal-dialog{
    width:min(720px, 100%);
    max-height:calc(100vh - 48px);
    overflow:auto;
    background:var(--card);
    border:1px solid var(--line);
    border-radius:22px;
    box-shadow:0 24px 60px rgba(15,23,42,.28);
}
body.rbs-ui.rbs-page-manager-users .modal-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    padding:20px 20px 0;
}
body.rbs-ui.rbs-page-manager-users .modal-title{
    margin:0;
    font-size:24px;
}
body.rbs-ui.rbs-page-manager-users .modal-sub{
    margin:6px 0 0;
    color:var(--muted);
    font-size:14px;
}
body.rbs-ui.rbs-page-manager-users .modal-close{
    min-width:44px;
    min-height:44px;
    border-radius:12px;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    font-size:22px;
    line-height:1;
    cursor:pointer;
}
body.rbs-ui.rbs-page-manager-users .modal-body{
    padding:20px;
}
body.rbs-ui.rbs-page-manager-users .modal-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}
body.rbs-ui.rbs-page-manager-users .modal-actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
    margin-top:10px;
}
@media (max-width: 1150px){
    body.rbs-ui.rbs-page-manager-users .grid{
        grid-template-columns:1fr;
    }
}
@media (max-width: 850px){
    body.rbs-ui.rbs-page-manager-users .meta, body.rbs-ui.rbs-page-manager-users .edit-grid, body.rbs-ui.rbs-page-manager-users .frontdesk-access-grid, body.rbs-ui.rbs-page-manager-users .modal-grid{
        grid-template-columns:1fr;
    }
    body.rbs-ui.rbs-page-manager-users .role-help-grid{
        grid-template-columns:1fr;
    }
}

/* Migrated from /payments/addons.php (page-scoped). */
body.rbs-ui.rbs-page-payments-addons{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --ok-bg:#ecfdf5;
    --ok-line:#bbf7d0;
    --ok-text:#166534;
    --bad-bg:#fef2f2;
    --bad-line:#fecaca;
    --bad-text:#991b1b;
    --blue-bg:#eff6ff;
    --blue-line:#bfdbfe;
    --blue-text:#1d4ed8;
    --disabled-bg:#e5e7eb;
    --disabled-text:#6b7280;
    --disabled-line:#d1d5db;
}
body.rbs-ui.rbs-page-payments-addons *{box-sizing:border-box}
body.rbs-ui.rbs-page-payments-addons{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--text)}
body.rbs-ui.rbs-page-payments-addons .wrap{max-width:1400px;margin:0 auto;padding:28px 20px 40px}
body.rbs-ui.rbs-page-payments-addons .breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:18px;color:var(--muted);font-size:14px}
body.rbs-ui.rbs-page-payments-addons .breadcrumbs a{color:var(--muted);text-decoration:none}
body.rbs-ui.rbs-page-payments-addons .breadcrumbs strong{color:var(--text)}
body.rbs-ui.rbs-page-payments-addons .topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}
body.rbs-ui.rbs-page-payments-addons .topbar-left{display:flex;align-items:center;gap:16px}
body.rbs-ui.rbs-page-payments-addons .title h1{margin:0 0 6px;font-size:32px}
body.rbs-ui.rbs-page-payments-addons .title p{margin:0;color:var(--muted);font-size:15px}
body.rbs-ui.rbs-page-payments-addons .actions{display:flex;gap:10px;flex-wrap:wrap}
body.rbs-ui.rbs-page-payments-addons .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:12px;text-decoration:none;font-weight:700;border:1px solid var(--line);background:#fff;color:var(--text);cursor:pointer}
body.rbs-ui.rbs-page-payments-addons .btn.primary{background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);color:#fff;border:none}
body.rbs-ui.rbs-page-payments-addons .btn.disabled{background:var(--disabled-bg);color:var(--disabled-text);border:1px solid var(--disabled-line);pointer-events:none;cursor:not-allowed}
body.rbs-ui.rbs-page-payments-addons .hero{background:linear-gradient(135deg, #1e293b 0%, #334155 100%);color:#fff;border-radius:24px;padding:28px;box-shadow:var(--shadow);margin-bottom:24px}
body.rbs-ui.rbs-page-payments-addons .hero h2{margin:0 0 10px;font-size:28px}
body.rbs-ui.rbs-page-payments-addons .hero p{margin:0;max-width:900px;line-height:1.6;color:rgba(255,255,255,.88)}
body.rbs-ui.rbs-page-payments-addons .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px}
body.rbs-ui.rbs-page-payments-addons .stat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:16px}
body.rbs-ui.rbs-page-payments-addons .stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;opacity:.8;margin-bottom:6px}
body.rbs-ui.rbs-page-payments-addons .stat-value{font-size:22px;font-weight:700}
body.rbs-ui.rbs-page-payments-addons .success, body.rbs-ui.rbs-page-payments-addons .error, body.rbs-ui.rbs-page-payments-addons .info{border-radius:16px;padding:16px 18px;margin-bottom:22px;box-shadow:var(--shadow)}
body.rbs-ui.rbs-page-payments-addons .success{background:var(--ok-bg);color:var(--ok-text);border:1px solid var(--ok-line)}
body.rbs-ui.rbs-page-payments-addons .error{background:var(--bad-bg);color:var(--bad-text);border:1px solid var(--bad-line)}
body.rbs-ui.rbs-page-payments-addons .info{background:var(--blue-bg);color:var(--blue-text);border:1px solid var(--blue-line)}
body.rbs-ui.rbs-page-payments-addons .panel{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:22px}
body.rbs-ui.rbs-page-payments-addons .panel-head{padding:20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
body.rbs-ui.rbs-page-payments-addons .panel-head h3{margin:0;font-size:22px}
body.rbs-ui.rbs-page-payments-addons .panel-head p{margin:6px 0 0;color:var(--muted)}
body.rbs-ui.rbs-page-payments-addons .filters{padding:20px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}
body.rbs-ui.rbs-page-payments-addons .field{display:flex;flex-direction:column;gap:8px}
body.rbs-ui.rbs-page-payments-addons .field label{font-size:13px;font-weight:700;color:var(--muted)}
body.rbs-ui.rbs-page-payments-addons .field input, body.rbs-ui.rbs-page-payments-addons .field select, body.rbs-ui.rbs-page-payments-addons .field textarea{width:100%;min-height:44px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font:inherit;background:#fff;color:var(--text)}
body.rbs-ui.rbs-page-payments-addons .field textarea{min-height:110px;resize:vertical}
body.rbs-ui.rbs-page-payments-addons .table-wrap{width:100%;overflow:auto}
body.rbs-ui.rbs-page-payments-addons table{width:100%;border-collapse:collapse}
body.rbs-ui.rbs-page-payments-addons th, body.rbs-ui.rbs-page-payments-addons td{text-align:left;padding:16px 20px;border-bottom:1px solid var(--line);vertical-align:top}
body.rbs-ui.rbs-page-payments-addons th{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#f8fafc}
body.rbs-ui.rbs-page-payments-addons tr:last-child td{border-bottom:none}
body.rbs-ui.rbs-page-payments-addons .badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid transparent;white-space:nowrap}
body.rbs-ui.rbs-page-payments-addons .badge.active{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok-text)}
body.rbs-ui.rbs-page-payments-addons .badge.inactive{background:var(--disabled-bg);border-color:var(--disabled-line);color:var(--disabled-text)}
body.rbs-ui.rbs-page-payments-addons .badge.taxable{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
body.rbs-ui.rbs-page-payments-addons .badge.not-taxable{background:#f8fafc;border-color:#e2e8f0;color:#64748b}
body.rbs-ui.rbs-page-payments-addons .table-actions{display:flex;gap:8px;flex-wrap:wrap}
body.rbs-ui.rbs-page-payments-addons .mini-btn{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:10px;text-decoration:none;font-size:13px;font-weight:700;border:1px solid var(--line);background:#fff;color:var(--text);cursor:pointer}
body.rbs-ui.rbs-page-payments-addons .mini-btn.danger{color:#991b1b;border-color:#fecaca}
body.rbs-ui.rbs-page-payments-addons .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
body.rbs-ui.rbs-page-payments-addons .muted{color:var(--muted)}
body.rbs-ui.rbs-page-payments-addons .modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);display:none;align-items:center;justify-content:center;padding:24px;z-index:9999}
body.rbs-ui.rbs-page-payments-addons .modal-overlay.show{display:flex}
body.rbs-ui.rbs-page-payments-addons .modal-card{width:min(940px, 100%);max-height:90vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 30px 80px rgba(15,23,42,.25);border:1px solid var(--line)}
body.rbs-ui.rbs-page-payments-addons .modal-head{padding:20px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
body.rbs-ui.rbs-page-payments-addons .modal-head h3{margin:0;font-size:24px}
body.rbs-ui.rbs-page-payments-addons .modal-head p{margin:6px 0 0;color:var(--muted)}
body.rbs-ui.rbs-page-payments-addons .modal-close{width:40px;height:40px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:24px;line-height:1;cursor:pointer;color:var(--text)}
body.rbs-ui.rbs-page-payments-addons .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px}
body.rbs-ui.rbs-page-payments-addons .full{grid-column:1 / -1}
body.rbs-ui.rbs-page-payments-addons .modal-actions{padding:0 20px 20px;display:flex;gap:10px;flex-wrap:wrap}
@media (max-width: 900px){body.rbs-ui.rbs-page-payments-addons .filters, body.rbs-ui.rbs-page-payments-addons .stats, body.rbs-ui.rbs-page-payments-addons .form-grid{grid-template-columns:1fr}}
@media (max-width: 700px){body.rbs-ui.rbs-page-payments-addons .wrap{padding:20px 14px 32px}body.rbs-ui.rbs-page-payments-addons .title h1{font-size:26px}body.rbs-ui.rbs-page-payments-addons .hero h2{font-size:24px}body.rbs-ui.rbs-page-payments-addons th, body.rbs-ui.rbs-page-payments-addons td{padding:14px 12px}body.rbs-ui.rbs-page-payments-addons .panel-head, body.rbs-ui.rbs-page-payments-addons .filters, body.rbs-ui.rbs-page-payments-addons .modal-head, body.rbs-ui.rbs-page-payments-addons .form-grid, body.rbs-ui.rbs-page-payments-addons .modal-actions{padding:16px}body.rbs-ui.rbs-page-payments-addons .modal-overlay{padding:12px}}

/* louder fun button pass */
body.rbs-ui.rbs-page-payments-addons .btn, body.rbs-ui.rbs-page-payments-addons .text-link, body.rbs-ui.rbs-page-payments-addons .main-action, body.rbs-ui.rbs-page-payments-addons .secondary-link, body.rbs-ui.rbs-page-payments-addons .utility-link, body.rbs-ui.rbs-page-payments-addons .help-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border-radius:16px !important;
    font-weight:800 !important;
    letter-spacing:.01em;
    box-shadow:0 16px 30px rgba(15,23,42,.14) !important;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease, background .18s ease !important;
}

body.rbs-ui.rbs-page-payments-addons .btn:hover, body.rbs-ui.rbs-page-payments-addons .text-link:hover, body.rbs-ui.rbs-page-payments-addons .main-action:hover, body.rbs-ui.rbs-page-payments-addons .secondary-link:hover, body.rbs-ui.rbs-page-payments-addons .utility-link:hover, body.rbs-ui.rbs-page-payments-addons .help-link:hover{
    transform:translateY(-2px) scale(1.01);
    box-shadow:0 20px 36px rgba(15,23,42,.18) !important;
    filter:saturate(1.08);
}

body.rbs-ui.rbs-page-payments-addons .btn::before, body.rbs-ui.rbs-page-payments-addons .text-link::before, body.rbs-ui.rbs-page-payments-addons .main-action::before, body.rbs-ui.rbs-page-payments-addons .secondary-link::before, body.rbs-ui.rbs-page-payments-addons .utility-link::before, body.rbs-ui.rbs-page-payments-addons .help-link::before{
    content:"✦";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:999px;
    background:rgba(255,255,255,.9);
    border:1px solid rgba(148,163,184,.25);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
    font-size:14px;
    line-height:1;
    flex:0 0 28px;
}

body.rbs-ui.rbs-page-payments-addons a[href*="/dashboard"]::before{ content:"🏠"; }
body.rbs-ui.rbs-page-payments-addons a[href*="/logout"]::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-addons a[href*="/admin"]::before{ content:"🛠️"; }
body.rbs-ui.rbs-page-payments-addons a[href*="/settings"]::before{ content:"⚙️"; }
body.rbs-ui.rbs-page-payments-addons a[href*="/payment_log"]::before{ content:"📘"; }
body.rbs-ui.rbs-page-payments-addons a[href*="/payments/folios"]::before{ content:"📄"; }
body.rbs-ui.rbs-page-payments-addons a[href*="/payments/payments"]::before{ content:"💳"; }
body.rbs-ui.rbs-page-payments-addons a[href*="/payments/charges"]::before{ content:"🧾"; }
body.rbs-ui.rbs-page-payments-addons a[href*="/payments/refunds"]::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-addons a[href*="/payments/invoices"]::before{ content:"📑"; }
body.rbs-ui.rbs-page-payments-addons a[href*="/payments/reports"]::before{ content:"📊"; }
body.rbs-ui.rbs-page-payments-addons a[href*="/payments/addons"]::before{ content:"✨"; }
body.rbs-ui.rbs-page-payments-addons a[href*="/payments/tax_settings"]::before{ content:"🧮"; }
body.rbs-ui.rbs-page-payments-addons a[href*="/payments/payment_methods"]::before{ content:"💼"; }
body.rbs-ui.rbs-page-payments-addons a[href*="/payments/statements"]::before{ content:"🗂️"; }
body.rbs-ui.rbs-page-payments-addons a[href*="/payments/daily_close"]::before{ content:"🌙"; }
body.rbs-ui.rbs-page-payments-addons a[href*="/payments/terminal_setup"]::before{ content:"🖥️"; }
body.rbs-ui.rbs-page-payments-addons a[href*="/payments/receipt_templates"]::before{ content:"🧾"; }
body.rbs-ui.rbs-page-payments-addons a[href*="/booking/"]::before{ content:"📅"; }

body.rbs-ui.rbs-page-payments-addons .btn.primary, body.rbs-ui.rbs-page-payments-addons .main-action, body.rbs-ui.rbs-page-payments-addons button[type="submit"].btn{
    border:none !important;
    color:#fff !important;
    background:linear-gradient(135deg, #7c3aed 0%, #ec4899 55%, #f97316 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.28) !important;
}

body.rbs-ui.rbs-page-payments-addons .btn.primary::before, body.rbs-ui.rbs-page-payments-addons .main-action::before, body.rbs-ui.rbs-page-payments-addons button[type="submit"].btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-addons .btn.secondary, body.rbs-ui.rbs-page-payments-addons .btn.small, body.rbs-ui.rbs-page-payments-addons .text-link, body.rbs-ui.rbs-page-payments-addons .secondary-link, body.rbs-ui.rbs-page-payments-addons .utility-link, body.rbs-ui.rbs-page-payments-addons .help-link{
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
    border-color:#cbd5e1 !important;
    color:#1e293b !important;
}

body.rbs-ui.rbs-page-payments-addons .btn.small{
    min-height:40px !important;
    padding:0 14px !important;
    border-radius:12px !important;
}

body.rbs-ui.rbs-page-payments-addons .hero .btn{
    background:linear-gradient(135deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.10) 100%) !important;
    border:1px solid rgba(255,255,255,.26) !important;
    color:#fff !important;
    box-shadow:0 16px 30px rgba(15,23,42,.20) !important;
}

body.rbs-ui.rbs-page-payments-addons .hero .btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.26);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-addons .hero .btn.primary{
    background:linear-gradient(135deg,#22c55e 0%,#0ea5e9 100%) !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(14,165,233,.28) !important;
}

body.rbs-ui.rbs-page-payments-addons .actions .btn:nth-child(1){
    background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%) !important;
    border-color:#bfdbfe !important;
    color:#1d4ed8 !important;
}

body.rbs-ui.rbs-page-payments-addons .actions .btn:nth-child(2){
    background:linear-gradient(180deg,#ffffff 0%,#f5f3ff 100%) !important;
    border-color:#ddd6fe !important;
    color:#6d28d9 !important;
}

body.rbs-ui.rbs-page-payments-addons .actions .btn:last-child{
    background:linear-gradient(135deg,#fb7185 0%,#ef4444 100%) !important;
    color:#fff !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(239,68,68,.28) !important;
}

body.rbs-ui.rbs-page-payments-addons .actions .btn:last-child::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-addons .nav-card{
    border-radius:24px !important;
    border:none !important;
    background:linear-gradient(135deg,#0f172a 0%,#334155 40%,#7c3aed 100%) !important;
    color:#fff !important;
    box-shadow:0 20px 40px rgba(15,23,42,.18) !important;
}

body.rbs-ui.rbs-page-payments-addons .nav-card h3, body.rbs-ui.rbs-page-payments-addons .nav-card p, body.rbs-ui.rbs-page-payments-addons .nav-card .nav-arrow{
    color:#fff !important;
}

body.rbs-ui.rbs-page-payments-addons .nav-card .nav-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    border-radius:18px;
    background:rgba(255,255,255,.14);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}

body.rbs-ui.rbs-page-payments-addons .quick-view-btn{
    min-height:58px !important;
    border-radius:18px !important;
    box-shadow:0 16px 30px rgba(15,23,42,.10) !important;
}

body.rbs-ui.rbs-page-payments-addons .quick-view-btn.active-view{
    background:linear-gradient(135deg,#7c3aed 0%,#ec4899 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.26) !important;
}

body.rbs-ui.rbs-page-payments-addons .quick-view-btn .quick-view-icon{
    width:34px !important;
    height:34px !important;
}

body.rbs-ui.rbs-page-payments-addons .action-group .btn, body.rbs-ui.rbs-page-payments-addons td .btn{
    min-height:40px !important;
    padding:0 14px !important;
}

/* Migrated from /payments/adjustments.php (page-scoped). */
body.rbs-ui.rbs-page-payments-adjustments{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --success-bg:#f0fdf4;
    --success-line:#bbf7d0;
    --success-text:#166534;
    --error-bg:#fef2f2;
    --error-line:#fecaca;
    --error-text:#b91c1c;
    --info-bg:#eff6ff;
    --info-line:#bfdbfe;
    --info-text:#1d4ed8;
    --warn-bg:#fff7ed;
    --warn-line:#fed7aa;
    --warn-text:#c2410c;
}

body.rbs-ui.rbs-page-payments-adjustments *{box-sizing:border-box}
body.rbs-ui.rbs-page-payments-adjustments{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--text)}
body.rbs-ui.rbs-page-payments-adjustments .wrap{max-width:1450px;margin:0 auto;padding:28px 20px 40px}
body.rbs-ui.rbs-page-payments-adjustments .topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}
body.rbs-ui.rbs-page-payments-adjustments .topbar-left{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-width:0}
body.rbs-ui.rbs-page-payments-adjustments .title h1{margin:0 0 6px;font-size:32px}
body.rbs-ui.rbs-page-payments-adjustments .title p{margin:0;color:var(--muted);font-size:15px}
body.rbs-ui.rbs-page-payments-adjustments .actions{display:flex;gap:10px;flex-wrap:wrap}
body.rbs-ui.rbs-page-payments-adjustments .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:12px;text-decoration:none;font-weight:700;border:1px solid var(--line);background:#fff;color:var(--text);font:inherit;cursor:pointer}
body.rbs-ui.rbs-page-payments-adjustments .btn.primary{background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);color:#fff;border:none}
body.rbs-ui.rbs-page-payments-adjustments .btn.danger-lite{background:#fff;color:#b91c1c;border-color:#fecaca}
body.rbs-ui.rbs-page-payments-adjustments .btn.small{min-height:36px;padding:0 12px;border-radius:10px;font-size:13px}
body.rbs-ui.rbs-page-payments-adjustments .hero{background:linear-gradient(135deg,#1e293b 0%,#334155 100%);color:#fff;border-radius:24px;padding:26px 28px;box-shadow:var(--shadow);margin-bottom:22px}
body.rbs-ui.rbs-page-payments-adjustments .hero h2{margin:0 0 10px;font-size:28px}
body.rbs-ui.rbs-page-payments-adjustments .hero p{margin:0;max-width:950px;line-height:1.6;color:rgba(255,255,255,.88)}
body.rbs-ui.rbs-page-payments-adjustments .flash{margin-bottom:18px;border-radius:16px;padding:14px 16px;border:1px solid transparent;box-shadow:var(--shadow);font-weight:700}
body.rbs-ui.rbs-page-payments-adjustments .flash.success{background:var(--success-bg);border-color:var(--success-line);color:var(--success-text)}
body.rbs-ui.rbs-page-payments-adjustments .flash.error{background:var(--error-bg);border-color:var(--error-line);color:var(--error-text)}
body.rbs-ui.rbs-page-payments-adjustments .grid{display:grid;grid-template-columns:minmax(360px, 430px) minmax(0, 1fr);gap:18px;align-items:start}
body.rbs-ui.rbs-page-payments-adjustments .card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow)}
body.rbs-ui.rbs-page-payments-adjustments .card h3{margin:0 0 12px;font-size:22px}
body.rbs-ui.rbs-page-payments-adjustments .helper{margin:0 0 16px;color:var(--muted);line-height:1.55}
body.rbs-ui.rbs-page-payments-adjustments .field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
body.rbs-ui.rbs-page-payments-adjustments .field:last-child{margin-bottom:0}
body.rbs-ui.rbs-page-payments-adjustments .field label{font-size:13px;font-weight:700;color:var(--text)}
body.rbs-ui.rbs-page-payments-adjustments .input, body.rbs-ui.rbs-page-payments-adjustments .select, body.rbs-ui.rbs-page-payments-adjustments .textarea{width:100%;min-height:44px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--text);font:inherit}
body.rbs-ui.rbs-page-payments-adjustments .textarea{min-height:96px;resize:vertical}
body.rbs-ui.rbs-page-payments-adjustments .mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
body.rbs-ui.rbs-page-payments-adjustments .summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
body.rbs-ui.rbs-page-payments-adjustments .summary-box{background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:14px}
body.rbs-ui.rbs-page-payments-adjustments .summary-box .label{display:block;margin-bottom:6px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}
body.rbs-ui.rbs-page-payments-adjustments .summary-box .value{font-size:15px;font-weight:700;line-height:1.45;word-break:break-word}
body.rbs-ui.rbs-page-payments-adjustments .notice{margin-top:14px;padding:14px 16px;border-radius:16px;border:1px solid var(--info-line);background:var(--info-bg);color:var(--info-text);font-weight:700}
body.rbs-ui.rbs-page-payments-adjustments .notice.warn{border-color:var(--warn-line);background:var(--warn-bg);color:var(--warn-text)}
body.rbs-ui.rbs-page-payments-adjustments .card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
body.rbs-ui.rbs-page-payments-adjustments .table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}
body.rbs-ui.rbs-page-payments-adjustments table{width:100%;border-collapse:collapse}
body.rbs-ui.rbs-page-payments-adjustments th, body.rbs-ui.rbs-page-payments-adjustments td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid #edf2f7;font-size:14px}
body.rbs-ui.rbs-page-payments-adjustments th{background:#f8fafc;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
body.rbs-ui.rbs-page-payments-adjustments tr:last-child td{border-bottom:none}
body.rbs-ui.rbs-page-payments-adjustments .muted{color:var(--muted)}
body.rbs-ui.rbs-page-payments-adjustments .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
body.rbs-ui.rbs-page-payments-adjustments .empty{padding:18px;color:var(--muted)}
body.rbs-ui.rbs-page-payments-adjustments .badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid transparent;white-space:nowrap}
body.rbs-ui.rbs-page-payments-adjustments .badge-room{background:#dbeafe;border-color:#bfdbfe;color:#1d4ed8}
body.rbs-ui.rbs-page-payments-adjustments .badge-tax{background:#ffedd5;border-color:#fed7aa;color:#c2410c}
body.rbs-ui.rbs-page-payments-adjustments .badge-fee{background:#ede9fe;border-color:#ddd6fe;color:#6d28d9}
body.rbs-ui.rbs-page-payments-adjustments .badge-discount{background:#fee2e2;border-color:#fecaca;color:#b91c1c}
body.rbs-ui.rbs-page-payments-adjustments .badge-service, body.rbs-ui.rbs-page-payments-adjustments .badge-product, body.rbs-ui.rbs-page-payments-adjustments .badge-adjustment, body.rbs-ui.rbs-page-payments-adjustments .badge-other{background:#dcfce7;border-color:#bbf7d0;color:#166534}
body.rbs-ui.rbs-page-payments-adjustments .totals{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:16px}
body.rbs-ui.rbs-page-payments-adjustments .total-box{background:var(--success-bg);border:1px solid var(--success-line);border-radius:16px;padding:14px}
body.rbs-ui.rbs-page-payments-adjustments .total-box .label{display:block;margin-bottom:6px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--success-text);font-weight:700}
body.rbs-ui.rbs-page-payments-adjustments .total-box .value{font-size:18px;font-weight:800;color:var(--success-text)}
body.rbs-ui.rbs-page-payments-adjustments .inline-actions{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:1200px){body.rbs-ui.rbs-page-payments-adjustments .grid{grid-template-columns:1fr}body.rbs-ui.rbs-page-payments-adjustments .totals{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){body.rbs-ui.rbs-page-payments-adjustments .title h1{font-size:26px}body.rbs-ui.rbs-page-payments-adjustments .hero h2{font-size:24px}body.rbs-ui.rbs-page-payments-adjustments .mini-grid, body.rbs-ui.rbs-page-payments-adjustments .summary-grid, body.rbs-ui.rbs-page-payments-adjustments .totals{grid-template-columns:1fr}}

/* louder fun button pass */
body.rbs-ui.rbs-page-payments-adjustments .btn, body.rbs-ui.rbs-page-payments-adjustments .text-link, body.rbs-ui.rbs-page-payments-adjustments .main-action, body.rbs-ui.rbs-page-payments-adjustments .secondary-link, body.rbs-ui.rbs-page-payments-adjustments .utility-link, body.rbs-ui.rbs-page-payments-adjustments .help-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border-radius:16px !important;
    font-weight:800 !important;
    letter-spacing:.01em;
    box-shadow:0 16px 30px rgba(15,23,42,.14) !important;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease, background .18s ease !important;
}

body.rbs-ui.rbs-page-payments-adjustments .btn:hover, body.rbs-ui.rbs-page-payments-adjustments .text-link:hover, body.rbs-ui.rbs-page-payments-adjustments .main-action:hover, body.rbs-ui.rbs-page-payments-adjustments .secondary-link:hover, body.rbs-ui.rbs-page-payments-adjustments .utility-link:hover, body.rbs-ui.rbs-page-payments-adjustments .help-link:hover{
    transform:translateY(-2px) scale(1.01);
    box-shadow:0 20px 36px rgba(15,23,42,.18) !important;
    filter:saturate(1.08);
}

body.rbs-ui.rbs-page-payments-adjustments .btn::before, body.rbs-ui.rbs-page-payments-adjustments .text-link::before, body.rbs-ui.rbs-page-payments-adjustments .main-action::before, body.rbs-ui.rbs-page-payments-adjustments .secondary-link::before, body.rbs-ui.rbs-page-payments-adjustments .utility-link::before, body.rbs-ui.rbs-page-payments-adjustments .help-link::before{
    content:"✦";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:999px;
    background:rgba(255,255,255,.9);
    border:1px solid rgba(148,163,184,.25);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
    font-size:14px;
    line-height:1;
    flex:0 0 28px;
}

body.rbs-ui.rbs-page-payments-adjustments a[href*="/dashboard"]::before{ content:"🏠"; }
body.rbs-ui.rbs-page-payments-adjustments a[href*="/logout"]::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-adjustments a[href*="/admin"]::before{ content:"🛠️"; }
body.rbs-ui.rbs-page-payments-adjustments a[href*="/settings"]::before{ content:"⚙️"; }
body.rbs-ui.rbs-page-payments-adjustments a[href*="/payment_log"]::before{ content:"📘"; }
body.rbs-ui.rbs-page-payments-adjustments a[href*="/payments/folios"]::before{ content:"📄"; }
body.rbs-ui.rbs-page-payments-adjustments a[href*="/payments/payments"]::before{ content:"💳"; }
body.rbs-ui.rbs-page-payments-adjustments a[href*="/payments/charges"]::before{ content:"🧾"; }
body.rbs-ui.rbs-page-payments-adjustments a[href*="/payments/refunds"]::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-adjustments a[href*="/payments/invoices"]::before{ content:"📑"; }
body.rbs-ui.rbs-page-payments-adjustments a[href*="/payments/reports"]::before{ content:"📊"; }
body.rbs-ui.rbs-page-payments-adjustments a[href*="/payments/addons"]::before{ content:"✨"; }
body.rbs-ui.rbs-page-payments-adjustments a[href*="/payments/tax_settings"]::before{ content:"🧮"; }
body.rbs-ui.rbs-page-payments-adjustments a[href*="/payments/payment_methods"]::before{ content:"💼"; }
body.rbs-ui.rbs-page-payments-adjustments a[href*="/payments/statements"]::before{ content:"🗂️"; }
body.rbs-ui.rbs-page-payments-adjustments a[href*="/payments/daily_close"]::before{ content:"🌙"; }
body.rbs-ui.rbs-page-payments-adjustments a[href*="/payments/terminal_setup"]::before{ content:"🖥️"; }
body.rbs-ui.rbs-page-payments-adjustments a[href*="/payments/receipt_templates"]::before{ content:"🧾"; }
body.rbs-ui.rbs-page-payments-adjustments a[href*="/booking/"]::before{ content:"📅"; }

body.rbs-ui.rbs-page-payments-adjustments .btn.primary, body.rbs-ui.rbs-page-payments-adjustments .main-action, body.rbs-ui.rbs-page-payments-adjustments button[type="submit"].btn{
    border:none !important;
    color:#fff !important;
    background:linear-gradient(135deg, #7c3aed 0%, #ec4899 55%, #f97316 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.28) !important;
}

body.rbs-ui.rbs-page-payments-adjustments .btn.primary::before, body.rbs-ui.rbs-page-payments-adjustments .main-action::before, body.rbs-ui.rbs-page-payments-adjustments button[type="submit"].btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-adjustments .btn.secondary, body.rbs-ui.rbs-page-payments-adjustments .btn.small, body.rbs-ui.rbs-page-payments-adjustments .text-link, body.rbs-ui.rbs-page-payments-adjustments .secondary-link, body.rbs-ui.rbs-page-payments-adjustments .utility-link, body.rbs-ui.rbs-page-payments-adjustments .help-link{
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
    border-color:#cbd5e1 !important;
    color:#1e293b !important;
}

body.rbs-ui.rbs-page-payments-adjustments .btn.small{
    min-height:40px !important;
    padding:0 14px !important;
    border-radius:12px !important;
}

body.rbs-ui.rbs-page-payments-adjustments .hero .btn{
    background:linear-gradient(135deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.10) 100%) !important;
    border:1px solid rgba(255,255,255,.26) !important;
    color:#fff !important;
    box-shadow:0 16px 30px rgba(15,23,42,.20) !important;
}

body.rbs-ui.rbs-page-payments-adjustments .hero .btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.26);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-adjustments .hero .btn.primary{
    background:linear-gradient(135deg,#22c55e 0%,#0ea5e9 100%) !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(14,165,233,.28) !important;
}

body.rbs-ui.rbs-page-payments-adjustments .actions .btn:nth-child(1){
    background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%) !important;
    border-color:#bfdbfe !important;
    color:#1d4ed8 !important;
}

body.rbs-ui.rbs-page-payments-adjustments .actions .btn:nth-child(2){
    background:linear-gradient(180deg,#ffffff 0%,#f5f3ff 100%) !important;
    border-color:#ddd6fe !important;
    color:#6d28d9 !important;
}

body.rbs-ui.rbs-page-payments-adjustments .actions .btn:last-child{
    background:linear-gradient(135deg,#fb7185 0%,#ef4444 100%) !important;
    color:#fff !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(239,68,68,.28) !important;
}

body.rbs-ui.rbs-page-payments-adjustments .actions .btn:last-child::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-adjustments .nav-card{
    border-radius:24px !important;
    border:none !important;
    background:linear-gradient(135deg,#0f172a 0%,#334155 40%,#7c3aed 100%) !important;
    color:#fff !important;
    box-shadow:0 20px 40px rgba(15,23,42,.18) !important;
}

body.rbs-ui.rbs-page-payments-adjustments .nav-card h3, body.rbs-ui.rbs-page-payments-adjustments .nav-card p, body.rbs-ui.rbs-page-payments-adjustments .nav-card .nav-arrow{
    color:#fff !important;
}

body.rbs-ui.rbs-page-payments-adjustments .nav-card .nav-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    border-radius:18px;
    background:rgba(255,255,255,.14);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}

body.rbs-ui.rbs-page-payments-adjustments .quick-view-btn{
    min-height:58px !important;
    border-radius:18px !important;
    box-shadow:0 16px 30px rgba(15,23,42,.10) !important;
}

body.rbs-ui.rbs-page-payments-adjustments .quick-view-btn.active-view{
    background:linear-gradient(135deg,#7c3aed 0%,#ec4899 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.26) !important;
}

body.rbs-ui.rbs-page-payments-adjustments .quick-view-btn .quick-view-icon{
    width:34px !important;
    height:34px !important;
}

body.rbs-ui.rbs-page-payments-adjustments .action-group .btn, body.rbs-ui.rbs-page-payments-adjustments td .btn{
    min-height:40px !important;
    padding:0 14px !important;
}

/* Migrated from /payments/charges.php (page-scoped). */
body.rbs-ui.rbs-page-payments-charges{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --enabled-bg:#f0fdf4;
    --enabled-line:#bbf7d0;
    --enabled-text:#166534;
    --error-bg:#fef2f2;
    --error-line:#fecaca;
    --error-text:#b91c1c;
}

body.rbs-ui.rbs-page-payments-charges *{box-sizing:border-box}

body.rbs-ui.rbs-page-payments-charges{
    margin:0;
    font-family:Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}

body.rbs-ui.rbs-page-payments-charges .wrap{
    max-width:1400px;
    margin:0 auto;
    padding:28px 20px 40px;
}

body.rbs-ui.rbs-page-payments-charges .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-payments-charges .topbar-left{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    min-width:0;
}

body.rbs-ui.rbs-page-payments-charges .page-logo-wrap{
    margin:0;
    flex:0 0 auto;
}

body.rbs-ui.rbs-page-payments-charges .page-logo-link{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
}

body.rbs-ui.rbs-page-payments-charges .page-logo{
    display:block;
    width:auto;
    max-height:48px;
    max-width:180px;
}

body.rbs-ui.rbs-page-payments-charges .title h1{
    margin:0 0 6px;
    font-size:32px;
}

body.rbs-ui.rbs-page-payments-charges .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}

body.rbs-ui.rbs-page-payments-charges .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-payments-charges .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    font:inherit;
    cursor:pointer;
}

body.rbs-ui.rbs-page-payments-charges .btn.primary{
    background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-payments-charges .hero{
    background:linear-gradient(135deg,#1e293b 0%,#334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:22px;
}

body.rbs-ui.rbs-page-payments-charges .hero h2{
    margin:0 0 10px;
    font-size:28px;
}

body.rbs-ui.rbs-page-payments-charges .hero p{
    margin:0;
    max-width:860px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}

body.rbs-ui.rbs-page-payments-charges .flash{
    margin-bottom:18px;
    border-radius:16px;
    padding:14px 16px;
    border:1px solid transparent;
    box-shadow:var(--shadow);
    font-weight:700;
}

body.rbs-ui.rbs-page-payments-charges .flash.success{
    background:var(--enabled-bg);
    border-color:var(--enabled-line);
    color:var(--enabled-text);
}

body.rbs-ui.rbs-page-payments-charges .flash.error{
    background:var(--error-bg);
    border-color:var(--error-line);
    color:var(--error-text);
}

body.rbs-ui.rbs-page-payments-charges .summary-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-payments-charges .summary-card{
    background:var(--enabled-bg);
    border:1px solid var(--enabled-line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-payments-charges .summary-card .label{
    margin:0 0 8px;
    font-size:13px;
    color:#166534;
    font-weight:700;
}

body.rbs-ui.rbs-page-payments-charges .summary-card .value{
    margin:0;
    font-size:28px;
    color:var(--enabled-text);
    font-weight:800;
    line-height:1.15;
}

body.rbs-ui.rbs-page-payments-charges .grid{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:18px;
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-payments-charges .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-payments-charges .card h3{
    margin:0 0 14px;
    font-size:20px;
}

body.rbs-ui.rbs-page-payments-charges .card p.helper{
    margin:0 0 16px;
    color:var(--muted);
    line-height:1.55;
}

body.rbs-ui.rbs-page-payments-charges .form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

body.rbs-ui.rbs-page-payments-charges .field{
    display:flex;
    flex-direction:column;
    gap:6px;
}

body.rbs-ui.rbs-page-payments-charges .field.full{
    grid-column:1 / -1;
}

body.rbs-ui.rbs-page-payments-charges .field label{
    font-size:13px;
    font-weight:700;
    color:var(--text);
}

body.rbs-ui.rbs-page-payments-charges .input, body.rbs-ui.rbs-page-payments-charges .select, body.rbs-ui.rbs-page-payments-charges .textarea{
    width:100%;
    min-height:44px;
    padding:10px 12px;
    border-radius:12px;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    font:inherit;
}

body.rbs-ui.rbs-page-payments-charges .textarea{
    min-height:110px;
    resize:vertical;
}

body.rbs-ui.rbs-page-payments-charges .field-note{
    font-size:12px;
    color:var(--muted);
    line-height:1.45;
}

body.rbs-ui.rbs-page-payments-charges .summary-boxes{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

body.rbs-ui.rbs-page-payments-charges .summary-box{
    background:var(--enabled-bg);
    border:1px solid var(--enabled-line);
    border-radius:16px;
    padding:14px;
}

body.rbs-ui.rbs-page-payments-charges .summary-box .label{
    display:block;
    font-size:12px;
    color:#166534;
    margin-bottom:6px;
    font-weight:700;
}

body.rbs-ui.rbs-page-payments-charges .summary-box .value{
    font-size:17px;
    font-weight:700;
    color:var(--enabled-text);
}

body.rbs-ui.rbs-page-payments-charges .summary-box.full{
    grid-column:1 / -1;
}

body.rbs-ui.rbs-page-payments-charges .table-wrap{
    overflow:auto;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
}

body.rbs-ui.rbs-page-payments-charges table{
    width:100%;
    border-collapse:collapse;
}

body.rbs-ui.rbs-page-payments-charges th, body.rbs-ui.rbs-page-payments-charges td{
    padding:12px 14px;
    text-align:left;
    vertical-align:top;
    border-bottom:1px solid #edf2f7;
    font-size:14px;
}

body.rbs-ui.rbs-page-payments-charges th{
    background:#f8fafc;
    color:var(--muted);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.04em;
}

body.rbs-ui.rbs-page-payments-charges tr:last-child td{
    border-bottom:none;
}

body.rbs-ui.rbs-page-payments-charges .badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
    border:1px solid transparent;
}

body.rbs-ui.rbs-page-payments-charges .badge-room{background:#dbeafe;border-color:#bfdbfe;color:#1d4ed8;}
body.rbs-ui.rbs-page-payments-charges .badge-tax{background:#fde68a;border-color:#fcd34d;color:#854d0e;}
body.rbs-ui.rbs-page-payments-charges .badge-fee{background:#fecdd3;border-color:#fda4af;color:#be123c;}
body.rbs-ui.rbs-page-payments-charges .badge-discount{background:#dcfce7;border-color:#bbf7d0;color:#166534;}
body.rbs-ui.rbs-page-payments-charges .badge-service{background:#ede9fe;border-color:#ddd6fe;color:#6d28d9;}
body.rbs-ui.rbs-page-payments-charges .badge-product{background:#cffafe;border-color:#a5f3fc;color:#155e75;}
body.rbs-ui.rbs-page-payments-charges .badge-adjustment{background:#e0e7ff;border-color:#c7d2fe;color:#4338ca;}
body.rbs-ui.rbs-page-payments-charges .badge-other{background:#e2e8f0;border-color:#cbd5e1;color:#334155;}

body.rbs-ui.rbs-page-payments-charges .mono{
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

body.rbs-ui.rbs-page-payments-charges .muted{
    color:var(--muted);
}

body.rbs-ui.rbs-page-payments-charges .empty{
    padding:18px;
    color:var(--muted);
}

body.rbs-ui.rbs-page-payments-charges .bill-totals{
    margin-top:14px;
}

body.rbs-ui.rbs-page-payments-charges .delete-icon{
    width:34px;
    height:34px;
    border-radius:999px;
    border:1px solid #fecaca;
    background:#fff;
    color:#b91c1c;
    font-size:20px;
    font-weight:800;
    line-height:1;
    cursor:pointer;
}

body.rbs-ui.rbs-page-payments-charges .delete-icon:hover{
    background:#fef2f2;
}

@media (max-width:1100px){
    body.rbs-ui.rbs-page-payments-charges .summary-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    body.rbs-ui.rbs-page-payments-charges .grid{
        grid-template-columns:1fr;
    }
}

@media (max-width:700px){
    body.rbs-ui.rbs-page-payments-charges .title h1{ font-size:26px; }
    body.rbs-ui.rbs-page-payments-charges .hero h2{ font-size:24px; }

    body.rbs-ui.rbs-page-payments-charges .page-logo{
        max-height:40px;
        max-width:140px;
    }

    body.rbs-ui.rbs-page-payments-charges .summary-grid, body.rbs-ui.rbs-page-payments-charges .form-grid, body.rbs-ui.rbs-page-payments-charges .summary-boxes{
        grid-template-columns:1fr;
    }
}

/* louder fun button pass */
body.rbs-ui.rbs-page-payments-charges .btn, body.rbs-ui.rbs-page-payments-charges .text-link, body.rbs-ui.rbs-page-payments-charges .main-action, body.rbs-ui.rbs-page-payments-charges .secondary-link, body.rbs-ui.rbs-page-payments-charges .utility-link, body.rbs-ui.rbs-page-payments-charges .help-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border-radius:16px !important;
    font-weight:800 !important;
    letter-spacing:.01em;
    box-shadow:0 16px 30px rgba(15,23,42,.14) !important;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease, background .18s ease !important;
}

body.rbs-ui.rbs-page-payments-charges .btn:hover, body.rbs-ui.rbs-page-payments-charges .text-link:hover, body.rbs-ui.rbs-page-payments-charges .main-action:hover, body.rbs-ui.rbs-page-payments-charges .secondary-link:hover, body.rbs-ui.rbs-page-payments-charges .utility-link:hover, body.rbs-ui.rbs-page-payments-charges .help-link:hover{
    transform:translateY(-2px) scale(1.01);
    box-shadow:0 20px 36px rgba(15,23,42,.18) !important;
    filter:saturate(1.08);
}

body.rbs-ui.rbs-page-payments-charges .btn::before, body.rbs-ui.rbs-page-payments-charges .text-link::before, body.rbs-ui.rbs-page-payments-charges .main-action::before, body.rbs-ui.rbs-page-payments-charges .secondary-link::before, body.rbs-ui.rbs-page-payments-charges .utility-link::before, body.rbs-ui.rbs-page-payments-charges .help-link::before{
    content:"✦";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:999px;
    background:rgba(255,255,255,.9);
    border:1px solid rgba(148,163,184,.25);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
    font-size:14px;
    line-height:1;
    flex:0 0 28px;
}

body.rbs-ui.rbs-page-payments-charges a[href*="/dashboard"]::before{ content:"🏠"; }
body.rbs-ui.rbs-page-payments-charges a[href*="/logout"]::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-charges a[href*="/admin"]::before{ content:"🛠️"; }
body.rbs-ui.rbs-page-payments-charges a[href*="/settings"]::before{ content:"⚙️"; }
body.rbs-ui.rbs-page-payments-charges a[href*="/payment_log"]::before{ content:"📘"; }
body.rbs-ui.rbs-page-payments-charges a[href*="/payments/folios"]::before{ content:"📄"; }
body.rbs-ui.rbs-page-payments-charges a[href*="/payments/payments"]::before{ content:"💳"; }
body.rbs-ui.rbs-page-payments-charges a[href*="/payments/charges"]::before{ content:"🧾"; }
body.rbs-ui.rbs-page-payments-charges a[href*="/payments/refunds"]::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-charges a[href*="/payments/invoices"]::before{ content:"📑"; }
body.rbs-ui.rbs-page-payments-charges a[href*="/payments/reports"]::before{ content:"📊"; }
body.rbs-ui.rbs-page-payments-charges a[href*="/payments/addons"]::before{ content:"✨"; }
body.rbs-ui.rbs-page-payments-charges a[href*="/payments/tax_settings"]::before{ content:"🧮"; }
body.rbs-ui.rbs-page-payments-charges a[href*="/payments/payment_methods"]::before{ content:"💼"; }
body.rbs-ui.rbs-page-payments-charges a[href*="/payments/statements"]::before{ content:"🗂️"; }
body.rbs-ui.rbs-page-payments-charges a[href*="/payments/daily_close"]::before{ content:"🌙"; }
body.rbs-ui.rbs-page-payments-charges a[href*="/payments/terminal_setup"]::before{ content:"🖥️"; }
body.rbs-ui.rbs-page-payments-charges a[href*="/payments/receipt_templates"]::before{ content:"🧾"; }
body.rbs-ui.rbs-page-payments-charges a[href*="/booking/"]::before{ content:"📅"; }

body.rbs-ui.rbs-page-payments-charges .btn.primary, body.rbs-ui.rbs-page-payments-charges .main-action, body.rbs-ui.rbs-page-payments-charges button[type="submit"].btn{
    border:none !important;
    color:#fff !important;
    background:linear-gradient(135deg, #7c3aed 0%, #ec4899 55%, #f97316 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.28) !important;
}

body.rbs-ui.rbs-page-payments-charges .btn.primary::before, body.rbs-ui.rbs-page-payments-charges .main-action::before, body.rbs-ui.rbs-page-payments-charges button[type="submit"].btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-charges .btn.secondary, body.rbs-ui.rbs-page-payments-charges .btn.small, body.rbs-ui.rbs-page-payments-charges .text-link, body.rbs-ui.rbs-page-payments-charges .secondary-link, body.rbs-ui.rbs-page-payments-charges .utility-link, body.rbs-ui.rbs-page-payments-charges .help-link{
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
    border-color:#cbd5e1 !important;
    color:#1e293b !important;
}

body.rbs-ui.rbs-page-payments-charges .btn.small{
    min-height:40px !important;
    padding:0 14px !important;
    border-radius:12px !important;
}

body.rbs-ui.rbs-page-payments-charges .hero .btn{
    background:linear-gradient(135deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.10) 100%) !important;
    border:1px solid rgba(255,255,255,.26) !important;
    color:#fff !important;
    box-shadow:0 16px 30px rgba(15,23,42,.20) !important;
}

body.rbs-ui.rbs-page-payments-charges .hero .btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.26);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-charges .hero .btn.primary{
    background:linear-gradient(135deg,#22c55e 0%,#0ea5e9 100%) !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(14,165,233,.28) !important;
}

body.rbs-ui.rbs-page-payments-charges .actions .btn:nth-child(1){
    background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%) !important;
    border-color:#bfdbfe !important;
    color:#1d4ed8 !important;
}

body.rbs-ui.rbs-page-payments-charges .actions .btn:nth-child(2){
    background:linear-gradient(180deg,#ffffff 0%,#f5f3ff 100%) !important;
    border-color:#ddd6fe !important;
    color:#6d28d9 !important;
}

body.rbs-ui.rbs-page-payments-charges .actions .btn:last-child{
    background:linear-gradient(135deg,#fb7185 0%,#ef4444 100%) !important;
    color:#fff !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(239,68,68,.28) !important;
}

body.rbs-ui.rbs-page-payments-charges .actions .btn:last-child::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-charges .nav-card{
    border-radius:24px !important;
    border:none !important;
    background:linear-gradient(135deg,#0f172a 0%,#334155 40%,#7c3aed 100%) !important;
    color:#fff !important;
    box-shadow:0 20px 40px rgba(15,23,42,.18) !important;
}

body.rbs-ui.rbs-page-payments-charges .nav-card h3, body.rbs-ui.rbs-page-payments-charges .nav-card p, body.rbs-ui.rbs-page-payments-charges .nav-card .nav-arrow{
    color:#fff !important;
}

body.rbs-ui.rbs-page-payments-charges .nav-card .nav-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    border-radius:18px;
    background:rgba(255,255,255,.14);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}

body.rbs-ui.rbs-page-payments-charges .quick-view-btn{
    min-height:58px !important;
    border-radius:18px !important;
    box-shadow:0 16px 30px rgba(15,23,42,.10) !important;
}

body.rbs-ui.rbs-page-payments-charges .quick-view-btn.active-view{
    background:linear-gradient(135deg,#7c3aed 0%,#ec4899 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.26) !important;
}

body.rbs-ui.rbs-page-payments-charges .quick-view-btn .quick-view-icon{
    width:34px !important;
    height:34px !important;
}

body.rbs-ui.rbs-page-payments-charges .action-group .btn, body.rbs-ui.rbs-page-payments-charges td .btn{
    min-height:40px !important;
    padding:0 14px !important;
}

/* Migrated from /payments/checkin_payment.php (page-scoped). */
body.rbs-ui.rbs-page-payments-checkin-payment{--bg:#f4f7fb;--card:#fff;--text:#0f172a;--muted:#64748b;--line:#e2e8f0;--brand:#8b5e3c;--brand-dark:#6f472b;--danger:#b91c1c;--success:#166534;--warn:#92400e;--shadow:0 12px 30px rgba(15,23,42,.08)}
body.rbs-ui.rbs-page-payments-checkin-payment *{box-sizing:border-box} body.rbs-ui.rbs-page-payments-checkin-payment{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--text)}
body.rbs-ui.rbs-page-payments-checkin-payment .wrap{max-width:1180px;margin:0 auto;padding:28px 20px 44px}body.rbs-ui.rbs-page-payments-checkin-payment .topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}body.rbs-ui.rbs-page-payments-checkin-payment .topbar-left{display:flex;align-items:center;gap:14px}body.rbs-ui.rbs-page-payments-checkin-payment .title h1{margin:0;font-size:28px}body.rbs-ui.rbs-page-payments-checkin-payment .title p{margin:4px 0 0;color:var(--muted)}
body.rbs-ui.rbs-page-payments-checkin-payment .actions, body.rbs-ui.rbs-page-payments-checkin-payment .btn-row{display:flex;gap:10px;flex-wrap:wrap}body.rbs-ui.rbs-page-payments-checkin-payment .btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:var(--text);border-radius:12px;padding:10px 14px;text-decoration:none;font-weight:700;cursor:pointer}body.rbs-ui.rbs-page-payments-checkin-payment .btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}body.rbs-ui.rbs-page-payments-checkin-payment .btn.primary:hover{background:var(--brand-dark)}body.rbs-ui.rbs-page-payments-checkin-payment .btn.small{padding:7px 10px;border-radius:10px;font-size:13px}body.rbs-ui.rbs-page-payments-checkin-payment .btn.danger{background:#fff5f5;border-color:#fecaca;color:#991b1b}
body.rbs-ui.rbs-page-payments-checkin-payment .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}@media (max-width:900px){body.rbs-ui.rbs-page-payments-checkin-payment .grid{grid-template-columns:1fr}}
body.rbs-ui.rbs-page-payments-checkin-payment .card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:20px;margin-bottom:18px}body.rbs-ui.rbs-page-payments-checkin-payment .card h2, body.rbs-ui.rbs-page-payments-checkin-payment .card h3{margin:0 0 10px}body.rbs-ui.rbs-page-payments-checkin-payment .helper{color:var(--muted);font-size:14px;line-height:1.45}body.rbs-ui.rbs-page-payments-checkin-payment .notice{padding:12px 14px;border-radius:12px;background:#eff6ff;border:1px solid #bfdbfe;margin:12px 0}body.rbs-ui.rbs-page-payments-checkin-payment .notice.success{background:#f0fdf4;border-color:#bbf7d0;color:var(--success)}body.rbs-ui.rbs-page-payments-checkin-payment .notice.error, body.rbs-ui.rbs-page-payments-checkin-payment .notice.warn{background:#fffbeb;border-color:#fde68a;color:var(--warn)}
body.rbs-ui.rbs-page-payments-checkin-payment .summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}@media (max-width:760px){body.rbs-ui.rbs-page-payments-checkin-payment .summary{grid-template-columns:1fr 1fr}}body.rbs-ui.rbs-page-payments-checkin-payment .metric{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fafafa}body.rbs-ui.rbs-page-payments-checkin-payment .metric .label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}body.rbs-ui.rbs-page-payments-checkin-payment .metric .value{font-size:20px;font-weight:800;margin-top:4px}body.rbs-ui.rbs-page-payments-checkin-payment .metric .small{font-size:14px;font-weight:600}body.rbs-ui.rbs-page-payments-checkin-payment .badge{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;background:#f1f5f9;color:#334155}body.rbs-ui.rbs-page-payments-checkin-payment .badge.good{background:#dcfce7;color:#166534}body.rbs-ui.rbs-page-payments-checkin-payment .badge.warn{background:#fef3c7;color:#92400e}
body.rbs-ui.rbs-page-payments-checkin-payment .field{margin-bottom:14px}body.rbs-ui.rbs-page-payments-checkin-payment .field label{display:block;font-weight:800;margin-bottom:6px}body.rbs-ui.rbs-page-payments-checkin-payment .input, body.rbs-ui.rbs-page-payments-checkin-payment .select, body.rbs-ui.rbs-page-payments-checkin-payment textarea{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:11px 12px;font-size:15px;background:#fff}body.rbs-ui.rbs-page-payments-checkin-payment textarea{min-height:82px;resize:vertical}body.rbs-ui.rbs-page-payments-checkin-payment .mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}body.rbs-ui.rbs-page-payments-checkin-payment .amount-row{display:flex;gap:8px;align-items:center}body.rbs-ui.rbs-page-payments-checkin-payment .amount-row .input{flex:1}body.rbs-ui.rbs-page-payments-checkin-payment .amount-row .btn{white-space:nowrap}@media (max-width:650px){body.rbs-ui.rbs-page-payments-checkin-payment .mini-grid{grid-template-columns:1fr}}@media (max-width:460px){body.rbs-ui.rbs-page-payments-checkin-payment .amount-row{align-items:stretch;flex-direction:column}body.rbs-ui.rbs-page-payments-checkin-payment .amount-row .btn{width:100%;}}
body.rbs-ui.rbs-page-payments-checkin-payment .table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}body.rbs-ui.rbs-page-payments-checkin-payment table{width:100%;border-collapse:collapse;background:#fff}body.rbs-ui.rbs-page-payments-checkin-payment th, body.rbs-ui.rbs-page-payments-checkin-payment td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}body.rbs-ui.rbs-page-payments-checkin-payment th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#f8fafc}body.rbs-ui.rbs-page-payments-checkin-payment .right{text-align:right}body.rbs-ui.rbs-page-payments-checkin-payment .muted{color:var(--muted)}body.rbs-ui.rbs-page-payments-checkin-payment .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}body.rbs-ui.rbs-page-payments-checkin-payment .empty{padding:20px;text-align:center;color:var(--muted)}body.rbs-ui.rbs-page-payments-checkin-payment #card-container, body.rbs-ui.rbs-page-payments-checkin-payment #preauth-card-container{border:1px solid #cbd5e1;border-radius:12px;padding:12px;background:#fff;min-height:50px}

/* Migrated from /payments/daily_close.php (page-scoped). */
body.rbs-ui.rbs-page-payments-daily-close{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --enabled-bg:#f0fdf4;
    --enabled-line:#bbf7d0;
    --enabled-text:#166534;
    --warn-bg:#fff7ed;
    --warn-line:#fed7aa;
    --warn-text:#c2410c;
}

body.rbs-ui.rbs-page-payments-daily-close *{box-sizing:border-box}

body.rbs-ui.rbs-page-payments-daily-close{
    margin:0;
    font-family:Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}

body.rbs-ui.rbs-page-payments-daily-close .wrap{
    max-width:1400px;
    margin:0 auto;
    padding:28px 20px 40px;
}

body.rbs-ui.rbs-page-payments-daily-close .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-payments-daily-close .topbar-left{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    min-width:0;
}

body.rbs-ui.rbs-page-payments-daily-close .page-logo-wrap{
    margin:0;
    flex:0 0 auto;
}

body.rbs-ui.rbs-page-payments-daily-close .page-logo-link{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
}

body.rbs-ui.rbs-page-payments-daily-close .page-logo{
    display:block;
    width:auto;
    max-height:48px;
    max-width:180px;
}

body.rbs-ui.rbs-page-payments-daily-close .title h1{
    margin:0 0 6px;
    font-size:32px;
}

body.rbs-ui.rbs-page-payments-daily-close .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}

body.rbs-ui.rbs-page-payments-daily-close .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-payments-daily-close .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
}

body.rbs-ui.rbs-page-payments-daily-close .btn.primary{
    background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-payments-daily-close .hero{
    background:linear-gradient(135deg,#1e293b 0%,#334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:22px;
}

body.rbs-ui.rbs-page-payments-daily-close .hero h2{
    margin:0 0 10px;
    font-size:28px;
}

body.rbs-ui.rbs-page-payments-daily-close .hero p{
    margin:0;
    max-width:900px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}

body.rbs-ui.rbs-page-payments-daily-close .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-payments-daily-close .card h3{
    margin:0 0 14px;
    font-size:20px;
}

body.rbs-ui.rbs-page-payments-daily-close .card p.helper{
    margin:0 0 16px;
    color:var(--muted);
    line-height:1.55;
}

body.rbs-ui.rbs-page-payments-daily-close .filters{
    display:grid;
    grid-template-columns:1fr auto;
    gap:12px;
    align-items:end;
}

body.rbs-ui.rbs-page-payments-daily-close .field{
    display:flex;
    flex-direction:column;
    gap:6px;
}

body.rbs-ui.rbs-page-payments-daily-close .field label{
    font-size:13px;
    font-weight:700;
    color:var(--text);
}

body.rbs-ui.rbs-page-payments-daily-close .input{
    width:100%;
    min-height:44px;
    padding:10px 12px;
    border-radius:12px;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    font:inherit;
}

body.rbs-ui.rbs-page-payments-daily-close .summary-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:18px;
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-payments-daily-close .summary-card{
    background:var(--enabled-bg);
    border:1px solid var(--enabled-line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-payments-daily-close .summary-card .label{
    margin:0 0 8px;
    font-size:13px;
    color:#166534;
    font-weight:700;
}

body.rbs-ui.rbs-page-payments-daily-close .summary-card .value{
    margin:0;
    font-size:28px;
    color:var(--enabled-text);
    font-weight:800;
    line-height:1.15;
}

body.rbs-ui.rbs-page-payments-daily-close .grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-payments-daily-close .checklist{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}

body.rbs-ui.rbs-page-payments-daily-close .check-item{
    border-radius:16px;
    padding:14px;
    border:1px solid var(--enabled-line);
    background:var(--enabled-bg);
}

body.rbs-ui.rbs-page-payments-daily-close .check-item.warn{
    border-color:var(--warn-line);
    background:var(--warn-bg);
}

body.rbs-ui.rbs-page-payments-daily-close .check-item .label{
    display:block;
    font-size:12px;
    margin-bottom:6px;
    font-weight:700;
    color:#166534;
}

body.rbs-ui.rbs-page-payments-daily-close .check-item.warn .label, body.rbs-ui.rbs-page-payments-daily-close .check-item.warn .value{
    color:var(--warn-text);
}

body.rbs-ui.rbs-page-payments-daily-close .check-item .value{
    font-size:20px;
    font-weight:800;
    color:var(--enabled-text);
}

body.rbs-ui.rbs-page-payments-daily-close .table-wrap{
    overflow:auto;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
}

body.rbs-ui.rbs-page-payments-daily-close table{
    width:100%;
    border-collapse:collapse;
}

body.rbs-ui.rbs-page-payments-daily-close th, body.rbs-ui.rbs-page-payments-daily-close td{
    padding:12px 14px;
    text-align:left;
    vertical-align:top;
    border-bottom:1px solid #edf2f7;
    font-size:14px;
}

body.rbs-ui.rbs-page-payments-daily-close th{
    background:#f8fafc;
    color:var(--muted);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.04em;
}

body.rbs-ui.rbs-page-payments-daily-close tr:last-child td{
    border-bottom:none;
}

body.rbs-ui.rbs-page-payments-daily-close .badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
    border:1px solid transparent;
}

body.rbs-ui.rbs-page-payments-daily-close .badge-payment{background:#dcfce7;border-color:#bbf7d0;color:#166534;}
body.rbs-ui.rbs-page-payments-daily-close .badge-refund{background:#ffedd5;border-color:#fed7aa;color:#c2410c;}
body.rbs-ui.rbs-page-payments-daily-close .badge-invoice{background:#dbeafe;border-color:#bfdbfe;color:#1d4ed8;}
body.rbs-ui.rbs-page-payments-daily-close .badge-bill{background:#ede9fe;border-color:#ddd6fe;color:#6d28d9;}
body.rbs-ui.rbs-page-payments-daily-close .badge-note{background:#f1f5f9;border-color:#cbd5e1;color:#334155;}
body.rbs-ui.rbs-page-payments-daily-close .badge-adjustment{background:#e0e7ff;border-color:#c7d2fe;color:#4338ca;}
body.rbs-ui.rbs-page-payments-daily-close .badge-status_change{background:#fef3c7;border-color:#fde68a;color:#92400e;}
body.rbs-ui.rbs-page-payments-daily-close .badge-other{background:#e2e8f0;border-color:#cbd5e1;color:#334155;}

body.rbs-ui.rbs-page-payments-daily-close .mono{
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

body.rbs-ui.rbs-page-payments-daily-close .muted{
    color:var(--muted);
}

body.rbs-ui.rbs-page-payments-daily-close .empty{
    padding:18px;
    color:var(--muted);
}

body.rbs-ui.rbs-page-payments-daily-close .details{
    min-width:280px;
    white-space:pre-wrap;
    word-break:break-word;
}

@media print{
    body.rbs-ui.rbs-page-payments-daily-close .topbar .actions, body.rbs-ui.rbs-page-payments-daily-close .filters{
        display:none !important;
    }

    body.rbs-ui.rbs-page-payments-daily-close{
        background:#fff;
    }

    body.rbs-ui.rbs-page-payments-daily-close .wrap{
        max-width:none;
        padding:0;
    }

    body.rbs-ui.rbs-page-payments-daily-close .card, body.rbs-ui.rbs-page-payments-daily-close .hero, body.rbs-ui.rbs-page-payments-daily-close .summary-card{
        box-shadow:none;
    }
}

@media (max-width:1100px){
    body.rbs-ui.rbs-page-payments-daily-close .summary-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    body.rbs-ui.rbs-page-payments-daily-close .grid, body.rbs-ui.rbs-page-payments-daily-close .filters, body.rbs-ui.rbs-page-payments-daily-close .checklist{
        grid-template-columns:1fr;
    }
}

@media (max-width:700px){
    body.rbs-ui.rbs-page-payments-daily-close .title h1{ font-size:26px; }
    body.rbs-ui.rbs-page-payments-daily-close .hero h2{ font-size:24px; }

    body.rbs-ui.rbs-page-payments-daily-close .page-logo{
        max-height:40px;
        max-width:140px;
    }

    body.rbs-ui.rbs-page-payments-daily-close .summary-grid{
        grid-template-columns:1fr;
    }
}

/* louder fun button pass */
body.rbs-ui.rbs-page-payments-daily-close .btn, body.rbs-ui.rbs-page-payments-daily-close .text-link, body.rbs-ui.rbs-page-payments-daily-close .main-action, body.rbs-ui.rbs-page-payments-daily-close .secondary-link, body.rbs-ui.rbs-page-payments-daily-close .utility-link, body.rbs-ui.rbs-page-payments-daily-close .help-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border-radius:16px !important;
    font-weight:800 !important;
    letter-spacing:.01em;
    box-shadow:0 16px 30px rgba(15,23,42,.14) !important;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease, background .18s ease !important;
}

body.rbs-ui.rbs-page-payments-daily-close .btn:hover, body.rbs-ui.rbs-page-payments-daily-close .text-link:hover, body.rbs-ui.rbs-page-payments-daily-close .main-action:hover, body.rbs-ui.rbs-page-payments-daily-close .secondary-link:hover, body.rbs-ui.rbs-page-payments-daily-close .utility-link:hover, body.rbs-ui.rbs-page-payments-daily-close .help-link:hover{
    transform:translateY(-2px) scale(1.01);
    box-shadow:0 20px 36px rgba(15,23,42,.18) !important;
    filter:saturate(1.08);
}

body.rbs-ui.rbs-page-payments-daily-close .btn::before, body.rbs-ui.rbs-page-payments-daily-close .text-link::before, body.rbs-ui.rbs-page-payments-daily-close .main-action::before, body.rbs-ui.rbs-page-payments-daily-close .secondary-link::before, body.rbs-ui.rbs-page-payments-daily-close .utility-link::before, body.rbs-ui.rbs-page-payments-daily-close .help-link::before{
    content:"✦";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:999px;
    background:rgba(255,255,255,.9);
    border:1px solid rgba(148,163,184,.25);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
    font-size:14px;
    line-height:1;
    flex:0 0 28px;
}

body.rbs-ui.rbs-page-payments-daily-close a[href*="/dashboard"]::before{ content:"🏠"; }
body.rbs-ui.rbs-page-payments-daily-close a[href*="/logout"]::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-daily-close a[href*="/admin"]::before{ content:"🛠️"; }
body.rbs-ui.rbs-page-payments-daily-close a[href*="/settings"]::before{ content:"⚙️"; }
body.rbs-ui.rbs-page-payments-daily-close a[href*="/payment_log"]::before{ content:"📘"; }
body.rbs-ui.rbs-page-payments-daily-close a[href*="/payments/folios"]::before{ content:"📄"; }
body.rbs-ui.rbs-page-payments-daily-close a[href*="/payments/payments"]::before{ content:"💳"; }
body.rbs-ui.rbs-page-payments-daily-close a[href*="/payments/charges"]::before{ content:"🧾"; }
body.rbs-ui.rbs-page-payments-daily-close a[href*="/payments/refunds"]::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-daily-close a[href*="/payments/invoices"]::before{ content:"📑"; }
body.rbs-ui.rbs-page-payments-daily-close a[href*="/payments/reports"]::before{ content:"📊"; }
body.rbs-ui.rbs-page-payments-daily-close a[href*="/payments/addons"]::before{ content:"✨"; }
body.rbs-ui.rbs-page-payments-daily-close a[href*="/payments/tax_settings"]::before{ content:"🧮"; }
body.rbs-ui.rbs-page-payments-daily-close a[href*="/payments/payment_methods"]::before{ content:"💼"; }
body.rbs-ui.rbs-page-payments-daily-close a[href*="/payments/statements"]::before{ content:"🗂️"; }
body.rbs-ui.rbs-page-payments-daily-close a[href*="/payments/daily_close"]::before{ content:"🌙"; }
body.rbs-ui.rbs-page-payments-daily-close a[href*="/payments/terminal_setup"]::before{ content:"🖥️"; }
body.rbs-ui.rbs-page-payments-daily-close a[href*="/payments/receipt_templates"]::before{ content:"🧾"; }
body.rbs-ui.rbs-page-payments-daily-close a[href*="/booking/"]::before{ content:"📅"; }

body.rbs-ui.rbs-page-payments-daily-close .btn.primary, body.rbs-ui.rbs-page-payments-daily-close .main-action, body.rbs-ui.rbs-page-payments-daily-close button[type="submit"].btn{
    border:none !important;
    color:#fff !important;
    background:linear-gradient(135deg, #7c3aed 0%, #ec4899 55%, #f97316 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.28) !important;
}

body.rbs-ui.rbs-page-payments-daily-close .btn.primary::before, body.rbs-ui.rbs-page-payments-daily-close .main-action::before, body.rbs-ui.rbs-page-payments-daily-close button[type="submit"].btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-daily-close .btn.secondary, body.rbs-ui.rbs-page-payments-daily-close .btn.small, body.rbs-ui.rbs-page-payments-daily-close .text-link, body.rbs-ui.rbs-page-payments-daily-close .secondary-link, body.rbs-ui.rbs-page-payments-daily-close .utility-link, body.rbs-ui.rbs-page-payments-daily-close .help-link{
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
    border-color:#cbd5e1 !important;
    color:#1e293b !important;
}

body.rbs-ui.rbs-page-payments-daily-close .btn.small{
    min-height:40px !important;
    padding:0 14px !important;
    border-radius:12px !important;
}

body.rbs-ui.rbs-page-payments-daily-close .hero .btn{
    background:linear-gradient(135deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.10) 100%) !important;
    border:1px solid rgba(255,255,255,.26) !important;
    color:#fff !important;
    box-shadow:0 16px 30px rgba(15,23,42,.20) !important;
}

body.rbs-ui.rbs-page-payments-daily-close .hero .btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.26);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-daily-close .hero .btn.primary{
    background:linear-gradient(135deg,#22c55e 0%,#0ea5e9 100%) !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(14,165,233,.28) !important;
}

body.rbs-ui.rbs-page-payments-daily-close .actions .btn:nth-child(1){
    background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%) !important;
    border-color:#bfdbfe !important;
    color:#1d4ed8 !important;
}

body.rbs-ui.rbs-page-payments-daily-close .actions .btn:nth-child(2){
    background:linear-gradient(180deg,#ffffff 0%,#f5f3ff 100%) !important;
    border-color:#ddd6fe !important;
    color:#6d28d9 !important;
}

body.rbs-ui.rbs-page-payments-daily-close .actions .btn:last-child{
    background:linear-gradient(135deg,#fb7185 0%,#ef4444 100%) !important;
    color:#fff !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(239,68,68,.28) !important;
}

body.rbs-ui.rbs-page-payments-daily-close .actions .btn:last-child::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-daily-close .nav-card{
    border-radius:24px !important;
    border:none !important;
    background:linear-gradient(135deg,#0f172a 0%,#334155 40%,#7c3aed 100%) !important;
    color:#fff !important;
    box-shadow:0 20px 40px rgba(15,23,42,.18) !important;
}

body.rbs-ui.rbs-page-payments-daily-close .nav-card h3, body.rbs-ui.rbs-page-payments-daily-close .nav-card p, body.rbs-ui.rbs-page-payments-daily-close .nav-card .nav-arrow{
    color:#fff !important;
}

body.rbs-ui.rbs-page-payments-daily-close .nav-card .nav-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    border-radius:18px;
    background:rgba(255,255,255,.14);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}

body.rbs-ui.rbs-page-payments-daily-close .quick-view-btn{
    min-height:58px !important;
    border-radius:18px !important;
    box-shadow:0 16px 30px rgba(15,23,42,.10) !important;
}

body.rbs-ui.rbs-page-payments-daily-close .quick-view-btn.active-view{
    background:linear-gradient(135deg,#7c3aed 0%,#ec4899 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.26) !important;
}

body.rbs-ui.rbs-page-payments-daily-close .quick-view-btn .quick-view-icon{
    width:34px !important;
    height:34px !important;
}

body.rbs-ui.rbs-page-payments-daily-close .action-group .btn, body.rbs-ui.rbs-page-payments-daily-close td .btn{
    min-height:40px !important;
    padding:0 14px !important;
}

/* Migrated from /payments/folios.php (page-scoped). */
body.rbs-ui.rbs-page-payments-folios{font-family:Arial,sans-serif;background:#f5f7fb;margin:0;padding:40px;color:#0f172a}
        body.rbs-ui.rbs-page-payments-folios .card{max-width:720px;margin:0 auto;background:#fff;border:1px solid #dbe3ef;border-radius:14px;padding:24px;box-shadow:0 10px 28px rgba(15,23,42,.08)}
        body.rbs-ui.rbs-page-payments-folios .btn{display:inline-flex;align-items:center;justify-content:center;margin-top:14px;padding:10px 14px;border-radius:10px;background:#1f2937;color:#fff;text-decoration:none;font-weight:700;border:0;cursor:pointer;font:inherit}
        body.rbs-ui.rbs-page-payments-folios .btn.primary{background:#166534}
        body.rbs-ui.rbs-page-payments-folios .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
        body.rbs-ui.rbs-page-payments-folios .note{background:#fff7ed;border:1px solid #fed7aa;color:#92400e;border-radius:12px;padding:12px;margin-top:14px;font-weight:700;line-height:1.45}

/* Migrated from /payments/folios.php (page-scoped). */
body.rbs-ui.rbs-page-payments-folios{font-family:Arial,sans-serif;color:#111;margin:24px}
    body.rbs-ui.rbs-page-payments-folios .wrap{max-width:900px;margin:0 auto}
    body.rbs-ui.rbs-page-payments-folios .brandbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}
    body.rbs-ui.rbs-page-payments-folios .brandmark .page-logo{max-height:88px;max-width:320px}
    body.rbs-ui.rbs-page-payments-folios .top{display:flex;justify-content:space-between;gap:20px;margin-bottom:24px}
    body.rbs-ui.rbs-page-payments-folios h1{margin:0 0 8px;font-size:30px}
    body.rbs-ui.rbs-page-payments-folios .muted{color:#555}
    body.rbs-ui.rbs-page-payments-folios .box{border:1px solid #ccc;border-radius:12px;padding:14px}
    body.rbs-ui.rbs-page-payments-folios .grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
    body.rbs-ui.rbs-page-payments-folios table{width:100%;border-collapse:collapse;margin-top:12px}
    body.rbs-ui.rbs-page-payments-folios th, body.rbs-ui.rbs-page-payments-folios td{padding:10px;border-bottom:1px solid #ddd;text-align:left;font-size:14px}
    body.rbs-ui.rbs-page-payments-folios th{background:#f5f5f5;text-transform:uppercase;font-size:12px;letter-spacing:.04em}
    body.rbs-ui.rbs-page-payments-folios .right{text-align:right}
    body.rbs-ui.rbs-page-payments-folios .totals{margin-top:18px;margin-left:auto;max-width:340px}
    body.rbs-ui.rbs-page-payments-folios .totals table td{border:none;padding:6px 0}
    body.rbs-ui.rbs-page-payments-folios .totals .grand td{font-weight:700;border-top:2px solid #111;padding-top:10px}
    body.rbs-ui.rbs-page-payments-folios .section-title{margin:24px 0 10px;font-size:16px;font-weight:700}
    body.rbs-ui.rbs-page-payments-folios .meta-note{margin-top:6px;font-size:12px;color:#555}
    body.rbs-ui.rbs-page-payments-folios .refund-banner{border:2px solid #f59e0b;background:#fffbeb;border-radius:12px;padding:14px;margin:18px 0;font-weight:700;color:#92400e}
    body.rbs-ui.rbs-page-payments-folios .refund-banner .amount{font-size:18px;color:#7c2d12;margin-top:6px}
    body.rbs-ui.rbs-page-payments-folios .refund-highlight td{background:#fff7ed !important;font-weight:700}
    body.rbs-ui.rbs-page-payments-folios .refund-pill{display:inline-block;border:1px solid #f59e0b;background:#fffbeb;color:#92400e;border-radius:999px;padding:2px 8px;margin-left:6px;font-size:12px;font-weight:700}
    @media print{body.rbs-ui.rbs-page-payments-folios{margin:0}body.rbs-ui.rbs-page-payments-folios .no-print{display:none}body.rbs-ui.rbs-page-payments-folios .refund-banner{break-inside:avoid}}

/* louder fun button pass */
body.rbs-ui.rbs-page-payments-folios .btn, body.rbs-ui.rbs-page-payments-folios .text-link, body.rbs-ui.rbs-page-payments-folios .main-action, body.rbs-ui.rbs-page-payments-folios .secondary-link, body.rbs-ui.rbs-page-payments-folios .utility-link, body.rbs-ui.rbs-page-payments-folios .help-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border-radius:16px !important;
    font-weight:800 !important;
    letter-spacing:.01em;
    box-shadow:0 16px 30px rgba(15,23,42,.14) !important;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease, background .18s ease !important;
}

body.rbs-ui.rbs-page-payments-folios .btn:hover, body.rbs-ui.rbs-page-payments-folios .text-link:hover, body.rbs-ui.rbs-page-payments-folios .main-action:hover, body.rbs-ui.rbs-page-payments-folios .secondary-link:hover, body.rbs-ui.rbs-page-payments-folios .utility-link:hover, body.rbs-ui.rbs-page-payments-folios .help-link:hover{
    transform:translateY(-2px) scale(1.01);
    box-shadow:0 20px 36px rgba(15,23,42,.18) !important;
    filter:saturate(1.08);
}

body.rbs-ui.rbs-page-payments-folios .btn::before, body.rbs-ui.rbs-page-payments-folios .text-link::before, body.rbs-ui.rbs-page-payments-folios .main-action::before, body.rbs-ui.rbs-page-payments-folios .secondary-link::before, body.rbs-ui.rbs-page-payments-folios .utility-link::before, body.rbs-ui.rbs-page-payments-folios .help-link::before{
    content:"✦";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:999px;
    background:rgba(255,255,255,.9);
    border:1px solid rgba(148,163,184,.25);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
    font-size:14px;
    line-height:1;
    flex:0 0 28px;
}

body.rbs-ui.rbs-page-payments-folios a[href*="/dashboard"]::before{ content:"🏠"; }
body.rbs-ui.rbs-page-payments-folios a[href*="/logout"]::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-folios a[href*="/admin"]::before{ content:"🛠️"; }
body.rbs-ui.rbs-page-payments-folios a[href*="/settings"]::before{ content:"⚙️"; }
body.rbs-ui.rbs-page-payments-folios a[href*="/payment_log"]::before{ content:"📘"; }
body.rbs-ui.rbs-page-payments-folios a[href*="/payments/folios"]::before{ content:"📄"; }
body.rbs-ui.rbs-page-payments-folios a[href*="/payments/payments"]::before{ content:"💳"; }
body.rbs-ui.rbs-page-payments-folios a[href*="/payments/charges"]::before{ content:"🧾"; }
body.rbs-ui.rbs-page-payments-folios a[href*="/payments/refunds"]::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-folios a[href*="/payments/invoices"]::before{ content:"📑"; }
body.rbs-ui.rbs-page-payments-folios a[href*="/payments/reports"]::before{ content:"📊"; }
body.rbs-ui.rbs-page-payments-folios a[href*="/payments/addons"]::before{ content:"✨"; }
body.rbs-ui.rbs-page-payments-folios a[href*="/payments/tax_settings"]::before{ content:"🧮"; }
body.rbs-ui.rbs-page-payments-folios a[href*="/payments/payment_methods"]::before{ content:"💼"; }
body.rbs-ui.rbs-page-payments-folios a[href*="/payments/statements"]::before{ content:"🗂️"; }
body.rbs-ui.rbs-page-payments-folios a[href*="/payments/daily_close"]::before{ content:"🌙"; }
body.rbs-ui.rbs-page-payments-folios a[href*="/payments/terminal_setup"]::before{ content:"🖥️"; }
body.rbs-ui.rbs-page-payments-folios a[href*="/payments/receipt_templates"]::before{ content:"🧾"; }
body.rbs-ui.rbs-page-payments-folios a[href*="/booking/"]::before{ content:"📅"; }

body.rbs-ui.rbs-page-payments-folios .btn.primary, body.rbs-ui.rbs-page-payments-folios .main-action, body.rbs-ui.rbs-page-payments-folios button[type="submit"].btn{
    border:none !important;
    color:#fff !important;
    background:linear-gradient(135deg, #7c3aed 0%, #ec4899 55%, #f97316 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.28) !important;
}

body.rbs-ui.rbs-page-payments-folios .btn.primary::before, body.rbs-ui.rbs-page-payments-folios .main-action::before, body.rbs-ui.rbs-page-payments-folios button[type="submit"].btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-folios .btn.secondary, body.rbs-ui.rbs-page-payments-folios .btn.small, body.rbs-ui.rbs-page-payments-folios .text-link, body.rbs-ui.rbs-page-payments-folios .secondary-link, body.rbs-ui.rbs-page-payments-folios .utility-link, body.rbs-ui.rbs-page-payments-folios .help-link{
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
    border-color:#cbd5e1 !important;
    color:#1e293b !important;
}

body.rbs-ui.rbs-page-payments-folios .btn.small{
    min-height:40px !important;
    padding:0 14px !important;
    border-radius:12px !important;
}

body.rbs-ui.rbs-page-payments-folios .hero .btn{
    background:linear-gradient(135deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.10) 100%) !important;
    border:1px solid rgba(255,255,255,.26) !important;
    color:#fff !important;
    box-shadow:0 16px 30px rgba(15,23,42,.20) !important;
}

body.rbs-ui.rbs-page-payments-folios .hero .btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.26);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-folios .hero .btn.primary{
    background:linear-gradient(135deg,#22c55e 0%,#0ea5e9 100%) !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(14,165,233,.28) !important;
}

body.rbs-ui.rbs-page-payments-folios .actions .btn:nth-child(1){
    background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%) !important;
    border-color:#bfdbfe !important;
    color:#1d4ed8 !important;
}

body.rbs-ui.rbs-page-payments-folios .actions .btn:nth-child(2){
    background:linear-gradient(180deg,#ffffff 0%,#f5f3ff 100%) !important;
    border-color:#ddd6fe !important;
    color:#6d28d9 !important;
}

body.rbs-ui.rbs-page-payments-folios .actions .btn:last-child{
    background:linear-gradient(135deg,#fb7185 0%,#ef4444 100%) !important;
    color:#fff !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(239,68,68,.28) !important;
}

body.rbs-ui.rbs-page-payments-folios .actions .btn:last-child::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-folios .nav-card{
    border-radius:24px !important;
    border:none !important;
    background:linear-gradient(135deg,#0f172a 0%,#334155 40%,#7c3aed 100%) !important;
    color:#fff !important;
    box-shadow:0 20px 40px rgba(15,23,42,.18) !important;
}

body.rbs-ui.rbs-page-payments-folios .nav-card h3, body.rbs-ui.rbs-page-payments-folios .nav-card p, body.rbs-ui.rbs-page-payments-folios .nav-card .nav-arrow{
    color:#fff !important;
}

body.rbs-ui.rbs-page-payments-folios .nav-card .nav-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    border-radius:18px;
    background:rgba(255,255,255,.14);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}

body.rbs-ui.rbs-page-payments-folios .quick-view-btn{
    min-height:58px !important;
    border-radius:18px !important;
    box-shadow:0 16px 30px rgba(15,23,42,.10) !important;
}

body.rbs-ui.rbs-page-payments-folios .quick-view-btn.active-view{
    background:linear-gradient(135deg,#7c3aed 0%,#ec4899 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.26) !important;
}

body.rbs-ui.rbs-page-payments-folios .quick-view-btn .quick-view-icon{
    width:34px !important;
    height:34px !important;
}

body.rbs-ui.rbs-page-payments-folios .action-group .btn, body.rbs-ui.rbs-page-payments-folios td .btn{
    min-height:40px !important;
    padding:0 14px !important;
}

/* Migrated from /payments/folios.php (page-scoped). */
body.rbs-ui.rbs-page-payments-folios{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --success-bg:#f0fdf4;
    --success-line:#bbf7d0;
    --success-text:#166534;
    --warn-bg:#fff7ed;
    --warn-line:#fed7aa;
    --warn-text:#c2410c;
    --error-bg:#fef2f2;
    --error-line:#fecaca;
    --error-text:#b91c1c;
    --blue-bg:#eff6ff;
    --blue-line:#bfdbfe;
    --blue-text:#1d4ed8;
}
body.rbs-ui.rbs-page-payments-folios *{box-sizing:border-box}
body.rbs-ui.rbs-page-payments-folios{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--text)}
body.rbs-ui.rbs-page-payments-folios .wrap{max-width:1450px;margin:0 auto;padding:28px 20px 40px}
body.rbs-ui.rbs-page-payments-folios .topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}
body.rbs-ui.rbs-page-payments-folios .topbar-left{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-width:0}
body.rbs-ui.rbs-page-payments-folios .title h1{margin:0 0 6px;font-size:32px}
body.rbs-ui.rbs-page-payments-folios .title p{margin:0;color:var(--muted);font-size:15px}
body.rbs-ui.rbs-page-payments-folios .actions{display:flex;gap:10px;flex-wrap:wrap}
body.rbs-ui.rbs-page-payments-folios .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:12px;text-decoration:none;font-weight:700;border:1px solid var(--line);background:#fff;color:var(--text);font:inherit;cursor:pointer}
body.rbs-ui.rbs-page-payments-folios .btn.primary{background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);color:#fff;border:none}
body.rbs-ui.rbs-page-payments-folios .btn.pay{background:#166534;color:#fff;border:none}
body.rbs-ui.rbs-page-payments-folios .btn.small{min-height:36px;padding:0 12px;border-radius:10px;font-size:13px}
body.rbs-ui.rbs-page-payments-folios .hero{background:linear-gradient(135deg,#1e293b 0%,#334155 100%);color:#fff;border-radius:24px;padding:26px 28px;box-shadow:var(--shadow);margin-bottom:22px}
body.rbs-ui.rbs-page-payments-folios .hero h2{margin:0 0 10px;font-size:28px}
body.rbs-ui.rbs-page-payments-folios .hero p{margin:0;max-width:950px;line-height:1.6;color:rgba(255,255,255,.88)}
body.rbs-ui.rbs-page-payments-folios .flash{margin-bottom:18px;border-radius:16px;padding:14px 16px;border:1px solid transparent;box-shadow:var(--shadow);font-weight:700}
body.rbs-ui.rbs-page-payments-folios .flash.success{background:var(--success-bg);border-color:var(--success-line);color:var(--success-text)}
body.rbs-ui.rbs-page-payments-folios .flash.error{background:var(--error-bg);border-color:var(--error-line);color:var(--error-text)}
body.rbs-ui.rbs-page-payments-folios .grid{display:grid;grid-template-columns:minmax(360px, 460px) minmax(0, 1fr);gap:18px;align-items:start}
body.rbs-ui.rbs-page-payments-folios .card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow)}
body.rbs-ui.rbs-page-payments-folios .card h3{margin:0 0 12px;font-size:22px}
body.rbs-ui.rbs-page-payments-folios .helper{margin:0 0 16px;color:var(--muted);line-height:1.55}
body.rbs-ui.rbs-page-payments-folios .field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
body.rbs-ui.rbs-page-payments-folios .field:last-child{margin-bottom:0}
body.rbs-ui.rbs-page-payments-folios .field label{font-size:13px;font-weight:700;color:var(--text)}
body.rbs-ui.rbs-page-payments-folios .field-hint{margin-top:6px;font-size:13px;line-height:1.45;color:var(--muted)}
body.rbs-ui.rbs-page-payments-folios .field-hint.warn{padding:10px 12px;border-radius:12px;background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn-text);font-weight:700}
body.rbs-ui.rbs-page-payments-folios .field-error{display:none;margin-top:8px;padding:10px 12px;border-radius:12px;background:var(--error-bg);border:1px solid var(--error-line);color:var(--error-text);font-size:13px;font-weight:700;line-height:1.45}
body.rbs-ui.rbs-page-payments-folios .field-error.show{display:block}
body.rbs-ui.rbs-page-payments-folios .input, body.rbs-ui.rbs-page-payments-folios .select, body.rbs-ui.rbs-page-payments-folios .textarea{width:100%;min-height:44px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--text);font:inherit}
body.rbs-ui.rbs-page-payments-folios .textarea{min-height:108px;resize:vertical}
body.rbs-ui.rbs-page-payments-folios .mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
body.rbs-ui.rbs-page-payments-folios .summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
body.rbs-ui.rbs-page-payments-folios .summary-box{background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:14px}
body.rbs-ui.rbs-page-payments-folios .summary-box.full{grid-column:1 / -1}
body.rbs-ui.rbs-page-payments-folios .summary-box .label{display:block;margin-bottom:6px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}
body.rbs-ui.rbs-page-payments-folios .summary-box .value{font-size:15px;font-weight:700;line-height:1.45;word-break:break-word}
body.rbs-ui.rbs-page-payments-folios .notice{margin-top:14px;padding:14px 16px;border-radius:16px;border:1px solid var(--warn-line);background:var(--warn-bg);color:var(--warn-text);font-weight:700}
body.rbs-ui.rbs-page-payments-folios .notice.success{background:var(--success-bg);border-color:var(--success-line);color:var(--success-text)}
body.rbs-ui.rbs-page-payments-folios .notice.info{background:var(--blue-bg);border-color:var(--blue-line);color:var(--blue-text)}
body.rbs-ui.rbs-page-payments-folios .card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
body.rbs-ui.rbs-page-payments-folios .table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}
body.rbs-ui.rbs-page-payments-folios table{width:100%;border-collapse:collapse}
body.rbs-ui.rbs-page-payments-folios th, body.rbs-ui.rbs-page-payments-folios td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid #edf2f7;font-size:14px}
body.rbs-ui.rbs-page-payments-folios th{background:#f8fafc;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
body.rbs-ui.rbs-page-payments-folios tr:last-child td{border-bottom:none}
body.rbs-ui.rbs-page-payments-folios .muted{color:var(--muted)}
body.rbs-ui.rbs-page-payments-folios .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
body.rbs-ui.rbs-page-payments-folios .empty{padding:18px;color:var(--muted)}
body.rbs-ui.rbs-page-payments-folios .badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid transparent;white-space:nowrap}
body.rbs-ui.rbs-page-payments-folios .badge-open{background:#dbeafe;border-color:#bfdbfe;color:#1d4ed8}
body.rbs-ui.rbs-page-payments-folios .badge-closed{background:#f1f5f9;border-color:#cbd5e1;color:#334155}
body.rbs-ui.rbs-page-payments-folios .badge-paid{background:#dcfce7;border-color:#bbf7d0;color:#166534}
body.rbs-ui.rbs-page-payments-folios .badge-void{background:#fee2e2;border-color:#fecaca;color:#b91c1c}
body.rbs-ui.rbs-page-payments-folios .badge-bill{background:#fef3c7;border-color:#fde68a;color:#92400e}
body.rbs-ui.rbs-page-payments-folios .badge-invoice{background:#ede9fe;border-color:#ddd6fe;color:#6d28d9}
body.rbs-ui.rbs-page-payments-folios .item-actions{display:flex;justify-content:flex-end}
body.rbs-ui.rbs-page-payments-folios .delete-icon{width:34px;min-width:34px;height:34px;border-radius:999px;border:1px solid #fecaca;background:#fff;color:#b91c1c;font-size:18px;line-height:1;cursor:pointer}
body.rbs-ui.rbs-page-payments-folios .totals{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:16px}
body.rbs-ui.rbs-page-payments-folios .total-box{background:var(--success-bg);border:1px solid var(--success-line);border-radius:16px;padding:14px}
body.rbs-ui.rbs-page-payments-folios .total-box .label{display:block;margin-bottom:6px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--success-text);font-weight:700}
body.rbs-ui.rbs-page-payments-folios .total-box .value{font-size:18px;font-weight:800;color:var(--success-text)}
body.rbs-ui.rbs-page-payments-folios .after-create{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}
body.rbs-ui.rbs-page-payments-folios .modal{position:fixed;inset:0;background:rgba(15,23,42,.55);display:none;align-items:center;justify-content:center;padding:20px;z-index:1000}
body.rbs-ui.rbs-page-payments-folios .modal.open{display:flex}
body.rbs-ui.rbs-page-payments-folios .modal-panel{width:min(1080px, 100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;box-shadow:0 30px 80px rgba(15,23,42,.28);border:1px solid var(--line)}
body.rbs-ui.rbs-page-payments-folios .modal-head, body.rbs-ui.rbs-page-payments-folios .modal-body, body.rbs-ui.rbs-page-payments-folios .modal-foot{padding:20px}
body.rbs-ui.rbs-page-payments-folios .modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line)}
body.rbs-ui.rbs-page-payments-folios .modal-head h3{margin:0 0 6px;font-size:24px}
body.rbs-ui.rbs-page-payments-folios .modal-head p{margin:0;color:var(--muted)}
body.rbs-ui.rbs-page-payments-folios .modal-foot{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line)}
body.rbs-ui.rbs-page-payments-folios .detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}
body.rbs-ui.rbs-page-payments-folios .detail-box{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:14px}
body.rbs-ui.rbs-page-payments-folios .detail-box .label{display:block;margin-bottom:6px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}
body.rbs-ui.rbs-page-payments-folios .detail-box .value{font-size:15px;font-weight:700;line-height:1.45}
body.rbs-ui.rbs-page-payments-folios .filters{display:grid;grid-template-columns:2fr 1fr auto;gap:12px;align-items:end;margin-bottom:16px}
@media (max-width:1200px){body.rbs-ui.rbs-page-payments-folios .grid{grid-template-columns:1fr}body.rbs-ui.rbs-page-payments-folios .totals{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){body.rbs-ui.rbs-page-payments-folios .title h1{font-size:26px}body.rbs-ui.rbs-page-payments-folios .hero h2{font-size:24px}body.rbs-ui.rbs-page-payments-folios .mini-grid, body.rbs-ui.rbs-page-payments-folios .summary-grid, body.rbs-ui.rbs-page-payments-folios .detail-grid, body.rbs-ui.rbs-page-payments-folios .filters, body.rbs-ui.rbs-page-payments-folios .totals{grid-template-columns:1fr}}

/* louder fun button pass for main folios page */
body.rbs-ui.rbs-page-payments-folios .btn, body.rbs-ui.rbs-page-payments-folios .delete-icon{
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease, background .18s ease !important;
}

body.rbs-ui.rbs-page-payments-folios .btn{
    gap:10px;
    border-radius:16px !important;
    font-weight:800 !important;
    letter-spacing:.01em;
    box-shadow:0 16px 30px rgba(15,23,42,.14) !important;
}

body.rbs-ui.rbs-page-payments-folios .btn:hover, body.rbs-ui.rbs-page-payments-folios .delete-icon:hover{
    transform:translateY(-2px) scale(1.01);
    box-shadow:0 20px 36px rgba(15,23,42,.18) !important;
    filter:saturate(1.08);
}

body.rbs-ui.rbs-page-payments-folios .btn::before{
    content:"✦";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:999px;
    background:rgba(255,255,255,.9);
    border:1px solid rgba(148,163,184,.25);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
    font-size:14px;
    line-height:1;
    flex:0 0 28px;
}

body.rbs-ui.rbs-page-payments-folios .actions .btn:nth-child(1)::before{ content:"🔎"; }
body.rbs-ui.rbs-page-payments-folios a[href*="/dashboard"]::before{ content:"🏠"; }
body.rbs-ui.rbs-page-payments-folios a[href*="/admin"]::before{ content:"🛠️"; }
body.rbs-ui.rbs-page-payments-folios a[href*="/payments/index"]::before{ content:"💼"; }
body.rbs-ui.rbs-page-payments-folios a[href*="/payments/payment_log"]::before{ content:"📘"; }
body.rbs-ui.rbs-page-payments-folios a[href*="/payments/folios.php?print_bill_id="]::before{ content:"🖨️"; }
body.rbs-ui.rbs-page-payments-folios a[href*="/payments/payments.php"]::before, body.rbs-ui.rbs-page-payments-folios .btn.pay::before{ content:"💳"; }
body.rbs-ui.rbs-page-payments-folios button[data-open-modal="addItemModal"]::before{ content:"✨"; }
body.rbs-ui.rbs-page-payments-folios button[data-open-modal="findBillsModal"]::before{ content:"🔎"; }
body.rbs-ui.rbs-page-payments-folios .js-close-modal::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-folios button[type="submit"].btn.primary::before{ content:"✅"; }
body.rbs-ui.rbs-page-payments-folios .modal-foot .btn.primary::before{ content:"✨"; }

body.rbs-ui.rbs-page-payments-folios .btn.primary{
    border:none !important;
    color:#fff !important;
    background:linear-gradient(135deg, #7c3aed 0%, #ec4899 55%, #f97316 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.28) !important;
}

body.rbs-ui.rbs-page-payments-folios .btn.primary::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-folios .btn.pay{
    background:linear-gradient(135deg,#16a34a 0%,#0ea5e9 100%) !important;
    color:#fff !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(14,165,233,.24) !important;
}

body.rbs-ui.rbs-page-payments-folios .btn.pay::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-folios .btn.small{
    min-height:40px !important;
    padding:0 14px !important;
    border-radius:12px !important;
}

body.rbs-ui.rbs-page-payments-folios .actions .btn, body.rbs-ui.rbs-page-payments-folios .after-create .btn, body.rbs-ui.rbs-page-payments-folios .modal-foot .btn, body.rbs-ui.rbs-page-payments-folios .card-head .btn, body.rbs-ui.rbs-page-payments-folios .btn.small{
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
    border-color:#cbd5e1;
    color:#1e293b;
}

body.rbs-ui.rbs-page-payments-folios .actions .btn:nth-child(2){
    background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%) !important;
    border-color:#bfdbfe !important;
    color:#1d4ed8 !important;
}

body.rbs-ui.rbs-page-payments-folios .actions .btn:nth-child(3){
    background:linear-gradient(180deg,#ffffff 0%,#f5f3ff 100%) !important;
    border-color:#ddd6fe !important;
    color:#6d28d9 !important;
}

body.rbs-ui.rbs-page-payments-folios .actions .btn:last-child{
    background:linear-gradient(135deg,#fb7185 0%,#ef4444 100%) !important;
    color:#fff !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(239,68,68,.28) !important;
}

body.rbs-ui.rbs-page-payments-folios .actions .btn:last-child::before{
    content:"↩️";
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-folios .hero .btn{
    background:linear-gradient(135deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.10) 100%) !important;
    border:1px solid rgba(255,255,255,.26) !important;
    color:#fff !important;
    box-shadow:0 16px 30px rgba(15,23,42,.20) !important;
}

body.rbs-ui.rbs-page-payments-folios .hero .btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.26);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-folios .hero .btn.primary{
    background:linear-gradient(135deg,#22c55e 0%,#0ea5e9 100%) !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(14,165,233,.28) !important;
}

body.rbs-ui.rbs-page-payments-folios .delete-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    min-width:40px;
    height:40px;
    border-radius:999px !important;
    border:none !important;
    background:linear-gradient(135deg,#fb7185 0%,#e11d48 100%) !important;
    color:#fff !important;
    box-shadow:0 16px 30px rgba(225,29,72,.24) !important;
}

body.rbs-ui.rbs-page-payments-folios .delete-icon:hover{
    color:#fff !important;
}

/* Migrated from /payments/index.php (page-scoped). */
body.rbs-ui.rbs-page-payments-index{
    background:
        radial-gradient(circle at 15% 0%, rgba(18,59,120,.05), transparent 34rem),
        linear-gradient(180deg, #f8fafc 0%, #eef3f8 100%) !important;
}

body.rbs-ui.rbs-page-payments-index .wrap.pm-shell, body.rbs-ui.rbs-page-payments-index .wrap.pm-shell{
    width: min(1240px, calc(100% - 48px));
    max-width: 1240px;
    margin: 0 auto;
    padding: 24px 22px 42px;
    box-sizing: border-box;
}

body.rbs-ui.rbs-page-payments-index .pm-page-head{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 14px 0 22px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(15, 45, 99, .08);
}

body.rbs-ui.rbs-page-payments-index .pm-title-row{
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

body.rbs-ui.rbs-page-payments-index .pm-title h1{
    margin: 0;
    font-size: 30px;
    line-height: 1.08;
    letter-spacing: -.035em;
    color: #101828;
}

body.rbs-ui.rbs-page-payments-index .pm-title p{
    margin: 5px 0 0;
    color: #64748b;
    font-size: 13px;
}

body.rbs-ui.rbs-page-payments-index .pm-actions, body.rbs-ui.rbs-page-payments-index .pm-hero-actions, body.rbs-ui.rbs-page-payments-index .pm-hero-actions{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

body.rbs-ui.rbs-page-payments-index .pm-button, body.rbs-ui.rbs-page-payments-index .pm-tool-link, body.rbs-ui.rbs-page-payments-index .pm-card-button{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 40px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    border: 1px solid #d9e2ee !important;
    background: #ffffff !important;
    color: #123b78 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: 0 1px 2px rgba(15,23,42,.03) !important;
}

body.rbs-ui.rbs-page-payments-index .pm-button:hover, body.rbs-ui.rbs-page-payments-index .pm-tool-link:hover, body.rbs-ui.rbs-page-payments-index .pm-card-button:hover{
    border-color: #b9c7d8 !important;
    color: #0b2550 !important;
    transform: translateY(-1px);
}

body.rbs-ui.rbs-page-payments-index .pm-button.pm-primary, body.rbs-ui.rbs-page-payments-index .pm-card-button.pm-primary{
    background: linear-gradient(180deg, #123b78 0%, #0b2550 100%) !important;
    border-color: #123b78 !important;
    color: #ffffff !important;
}

body.rbs-ui.rbs-page-payments-index .pm-hero{
    position: relative;
    overflow: hidden;
    border-radius: 22px;
    background: linear-gradient(135deg, #13294f 0%, #203858 100%) !important;
    color: #ffffff !important;
    padding: 28px;
    margin-bottom: 22px;
    border: 1px solid rgba(255,255,255,.10);
    box-shadow: 0 18px 40px rgba(15,23,42,.10);
}

body.rbs-ui.rbs-page-payments-index .pm-hero::after{
    content: "";
    position: absolute;
    right: -120px;
    top: -160px;
    width: 340px;
    height: 340px;
    border-radius: 999px;
    background: rgba(255,255,255,.06);
    pointer-events: none;
}

body.rbs-ui.rbs-page-payments-index .pm-hero-inner, body.rbs-ui.rbs-page-payments-index .pm-hero-inner{
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 20px;
}

body.rbs-ui.rbs-page-payments-index .pm-kicker{
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 24px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    color: rgba(255,255,255,.88);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 12px;
}

body.rbs-ui.rbs-page-payments-index .pm-hero h2{
    margin: 0 0 8px;
    color: #ffffff !important;
    font-size: 28px;
    letter-spacing: -.03em;
}

body.rbs-ui.rbs-page-payments-index .pm-hero p{
    margin: 0;
    max-width: 740px;
    color: rgba(255,255,255,.82) !important;
    line-height: 1.55;
    font-size: 14px;
}

body.rbs-ui.rbs-page-payments-index .pm-hero .pm-button{
    background: rgba(255,255,255,.96) !important;
    border-color: rgba(255,255,255,.80) !important;
    color: #123b78 !important;
    box-shadow: none !important;
}

body.rbs-ui.rbs-page-payments-index .pm-hero .pm-button.pm-primary{
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: #0b2550 !important;
}

body.rbs-ui.rbs-page-payments-index .pm-section-head{
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin: 20px 0 14px;
}

body.rbs-ui.rbs-page-payments-index .pm-section-head h2{
    margin: 0;
    color: #101828;
    font-size: 22px;
    letter-spacing: -.025em;
}

body.rbs-ui.rbs-page-payments-index .pm-section-head p{
    margin: 4px 0 0;
    color: #667085;
    font-size: 13px;
}

body.rbs-ui.rbs-page-payments-index .pm-count{
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: #eef6ff;
    border: 1px solid #cfe3ff;
    color: #123b78;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

body.rbs-ui.rbs-page-payments-index .pm-card-grid, body.rbs-ui.rbs-page-payments-index .pm-card-grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 22px;
}

body.rbs-ui.rbs-page-payments-index .pm-card{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 178px;
    padding: 18px;
    border-radius: 20px;
    background: #ffffff !important;
    border: 1px solid rgba(15, 45, 99, .10) !important;
    box-shadow: 0 12px 30px rgba(15,23,42,.06) !important;
    text-decoration: none !important;
    color: #101828 !important;
}

body.rbs-ui.rbs-page-payments-index .pm-card:hover{
    border-color: rgba(18,59,120,.22) !important;
    box-shadow: 0 18px 38px rgba(15,23,42,.09) !important;
    transform: translateY(-2px);
}

body.rbs-ui.rbs-page-payments-index .pm-card-top{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

body.rbs-ui.rbs-page-payments-index .pm-card h3{
    margin: 0 0 8px;
    color: #101828;
    font-size: 18px;
    letter-spacing: -.02em;
}

body.rbs-ui.rbs-page-payments-index .pm-card p{
    margin: 0;
    color: #667085;
    font-size: 13px;
    line-height: 1.5;
}

body.rbs-ui.rbs-page-payments-index .pm-card-footer{
    margin-top: 18px;
}

body.rbs-ui.rbs-page-payments-index .pm-tools-panel{
    padding: 18px;
    border-radius: 20px;
    background: #ffffff !important;
    border: 1px solid rgba(15, 45, 99, .10) !important;
    box-shadow: 0 12px 30px rgba(15,23,42,.06) !important;
}

body.rbs-ui.rbs-page-payments-index .pm-tools-panel h2{
    margin: 0 0 5px;
    color: #101828;
    font-size: 20px;
    letter-spacing: -.02em;
}

body.rbs-ui.rbs-page-payments-index .pm-tools-panel p{
    margin: 0 0 14px;
    color: #667085;
    font-size: 13px;
}

body.rbs-ui.rbs-page-payments-index .pm-tool-row{
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

body.rbs-ui.rbs-page-payments-index .pm-empty{
    padding: 18px;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid rgba(15,45,99,.10);
    color: #667085;
}

@media (max-width: 1000px){
    body.rbs-ui.rbs-page-payments-index .pm-card-grid, body.rbs-ui.rbs-page-payments-index .pm-card-grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    body.rbs-ui.rbs-page-payments-index .pm-hero-inner, body.rbs-ui.rbs-page-payments-index .pm-hero-inner{
        grid-template-columns: 1fr;
    }
    body.rbs-ui.rbs-page-payments-index .pm-hero-actions, body.rbs-ui.rbs-page-payments-index .pm-hero-actions{
        justify-content: flex-start;
    }
}

@media (max-width: 720px){
    body.rbs-ui.rbs-page-payments-index .wrap.pm-shell{
        padding: 18px 12px 30px;
    }
    body.rbs-ui.rbs-page-payments-index .pm-page-head, body.rbs-ui.rbs-page-payments-index .pm-section-head{
        align-items: flex-start;
        flex-direction: column;
    }
    body.rbs-ui.rbs-page-payments-index .pm-actions, body.rbs-ui.rbs-page-payments-index .pm-hero-actions, body.rbs-ui.rbs-page-payments-index .pm-hero-actions{
        justify-content: flex-start;
        width: 100%;
    }
    body.rbs-ui.rbs-page-payments-index .pm-card-grid, body.rbs-ui.rbs-page-payments-index .pm-card-grid{
        grid-template-columns: 1fr;
    }
    body.rbs-ui.rbs-page-payments-index .pm-button, body.rbs-ui.rbs-page-payments-index .pm-tool-link, body.rbs-ui.rbs-page-payments-index .pm-card-button{
        min-height: 42px !important;
    }
}

/* Migrated from /payments/invoices.php (page-scoped). */
body.rbs-ui.rbs-page-payments-invoices{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --enabled-bg:#f0fdf4;
    --enabled-line:#bbf7d0;
    --enabled-text:#166534;
}

body.rbs-ui.rbs-page-payments-invoices *{box-sizing:border-box}

body.rbs-ui.rbs-page-payments-invoices{
    margin:0;
    font-family:Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}

body.rbs-ui.rbs-page-payments-invoices .wrap{
    max-width:1400px;
    margin:0 auto;
    padding:28px 20px 40px;
}

body.rbs-ui.rbs-page-payments-invoices .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-payments-invoices .topbar-left{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    min-width:0;
}

body.rbs-ui.rbs-page-payments-invoices .page-logo-wrap{
    margin:0;
    flex:0 0 auto;
}

body.rbs-ui.rbs-page-payments-invoices .page-logo-link{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
}

body.rbs-ui.rbs-page-payments-invoices .page-logo{
    display:block;
    width:auto;
    max-height:48px;
    max-width:180px;
}

body.rbs-ui.rbs-page-payments-invoices .title h1{
    margin:0 0 6px;
    font-size:32px;
}

body.rbs-ui.rbs-page-payments-invoices .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}

body.rbs-ui.rbs-page-payments-invoices .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-payments-invoices .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
}

body.rbs-ui.rbs-page-payments-invoices .btn.primary{
    background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-payments-invoices .hero{
    background:linear-gradient(135deg,#1e293b 0%,#334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:22px;
}

body.rbs-ui.rbs-page-payments-invoices .hero h2{
    margin:0 0 10px;
    font-size:28px;
}

body.rbs-ui.rbs-page-payments-invoices .hero p{
    margin:0;
    max-width:860px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}

body.rbs-ui.rbs-page-payments-invoices .summary-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:18px;
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-payments-invoices .summary-card{
    background:var(--enabled-bg);
    border:1px solid var(--enabled-line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-payments-invoices .summary-card .label{
    margin:0 0 8px;
    font-size:13px;
    color:#166534;
    font-weight:700;
}

body.rbs-ui.rbs-page-payments-invoices .summary-card .value{
    margin:0;
    font-size:28px;
    color:var(--enabled-text);
    font-weight:800;
    line-height:1.15;
}

body.rbs-ui.rbs-page-payments-invoices .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-payments-invoices .card h3{
    margin:0 0 14px;
    font-size:20px;
}

body.rbs-ui.rbs-page-payments-invoices .card p.helper{
    margin:0 0 16px;
    color:var(--muted);
    line-height:1.55;
}

body.rbs-ui.rbs-page-payments-invoices .filters{
    display:grid;
    grid-template-columns:2fr 1fr 1.2fr 1fr 120px auto;
    gap:12px;
    align-items:end;
}

body.rbs-ui.rbs-page-payments-invoices .field{
    display:flex;
    flex-direction:column;
    gap:6px;
}

body.rbs-ui.rbs-page-payments-invoices .field label{
    font-size:13px;
    font-weight:700;
    color:var(--text);
}

body.rbs-ui.rbs-page-payments-invoices .input, body.rbs-ui.rbs-page-payments-invoices .select{
    width:100%;
    min-height:44px;
    padding:10px 12px;
    border-radius:12px;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    font:inherit;
}

body.rbs-ui.rbs-page-payments-invoices .table-wrap{
    overflow:auto;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
}

body.rbs-ui.rbs-page-payments-invoices table{
    width:100%;
    border-collapse:collapse;
}

body.rbs-ui.rbs-page-payments-invoices th, body.rbs-ui.rbs-page-payments-invoices td{
    padding:12px 14px;
    text-align:left;
    vertical-align:top;
    border-bottom:1px solid #edf2f7;
    font-size:14px;
}

body.rbs-ui.rbs-page-payments-invoices th{
    background:#f8fafc;
    color:var(--muted);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.04em;
}

body.rbs-ui.rbs-page-payments-invoices tr:last-child td{
    border-bottom:none;
}

body.rbs-ui.rbs-page-payments-invoices .badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
    border:1px solid transparent;
}

body.rbs-ui.rbs-page-payments-invoices .badge-open{background:#dbeafe;border-color:#bfdbfe;color:#1d4ed8;}
body.rbs-ui.rbs-page-payments-invoices .badge-closed{background:#f1f5f9;border-color:#cbd5e1;color:#334155;}
body.rbs-ui.rbs-page-payments-invoices .badge-paid{background:#dcfce7;border-color:#bbf7d0;color:#166534;}
body.rbs-ui.rbs-page-payments-invoices .badge-void{background:#fee2e2;border-color:#fecaca;color:#b91c1c;}

body.rbs-ui.rbs-page-payments-invoices .mono{
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

body.rbs-ui.rbs-page-payments-invoices .muted{
    color:var(--muted);
}

body.rbs-ui.rbs-page-payments-invoices .empty{
    padding:18px;
    color:var(--muted);
}

body.rbs-ui.rbs-page-payments-invoices .amount-stack > div{
    margin-bottom:4px;
}

body.rbs-ui.rbs-page-payments-invoices .amount-stack > div:last-child{
    margin-bottom:0;
}

@media (max-width:1100px){
    body.rbs-ui.rbs-page-payments-invoices .summary-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    body.rbs-ui.rbs-page-payments-invoices .filters{
        grid-template-columns:1fr 1fr;
    }
}

@media (max-width:700px){
    body.rbs-ui.rbs-page-payments-invoices .title h1{ font-size:26px; }
    body.rbs-ui.rbs-page-payments-invoices .hero h2{ font-size:24px; }

    body.rbs-ui.rbs-page-payments-invoices .page-logo{
        max-height:40px;
        max-width:140px;
    }

    body.rbs-ui.rbs-page-payments-invoices .summary-grid, body.rbs-ui.rbs-page-payments-invoices .filters{
        grid-template-columns:1fr;
    }
}

/* louder fun button pass */
body.rbs-ui.rbs-page-payments-invoices .btn, body.rbs-ui.rbs-page-payments-invoices .text-link, body.rbs-ui.rbs-page-payments-invoices .main-action, body.rbs-ui.rbs-page-payments-invoices .secondary-link, body.rbs-ui.rbs-page-payments-invoices .utility-link, body.rbs-ui.rbs-page-payments-invoices .help-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border-radius:16px !important;
    font-weight:800 !important;
    letter-spacing:.01em;
    box-shadow:0 16px 30px rgba(15,23,42,.14) !important;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease, background .18s ease !important;
}

body.rbs-ui.rbs-page-payments-invoices .btn:hover, body.rbs-ui.rbs-page-payments-invoices .text-link:hover, body.rbs-ui.rbs-page-payments-invoices .main-action:hover, body.rbs-ui.rbs-page-payments-invoices .secondary-link:hover, body.rbs-ui.rbs-page-payments-invoices .utility-link:hover, body.rbs-ui.rbs-page-payments-invoices .help-link:hover{
    transform:translateY(-2px) scale(1.01);
    box-shadow:0 20px 36px rgba(15,23,42,.18) !important;
    filter:saturate(1.08);
}

body.rbs-ui.rbs-page-payments-invoices .btn::before, body.rbs-ui.rbs-page-payments-invoices .text-link::before, body.rbs-ui.rbs-page-payments-invoices .main-action::before, body.rbs-ui.rbs-page-payments-invoices .secondary-link::before, body.rbs-ui.rbs-page-payments-invoices .utility-link::before, body.rbs-ui.rbs-page-payments-invoices .help-link::before{
    content:"✦";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:999px;
    background:rgba(255,255,255,.9);
    border:1px solid rgba(148,163,184,.25);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
    font-size:14px;
    line-height:1;
    flex:0 0 28px;
}

body.rbs-ui.rbs-page-payments-invoices a[href*="/dashboard"]::before{ content:"🏠"; }
body.rbs-ui.rbs-page-payments-invoices a[href*="/logout"]::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-invoices a[href*="/admin"]::before{ content:"🛠️"; }
body.rbs-ui.rbs-page-payments-invoices a[href*="/settings"]::before{ content:"⚙️"; }
body.rbs-ui.rbs-page-payments-invoices a[href*="/payment_log"]::before{ content:"📘"; }
body.rbs-ui.rbs-page-payments-invoices a[href*="/payments/folios"]::before{ content:"📄"; }
body.rbs-ui.rbs-page-payments-invoices a[href*="/payments/payments"]::before{ content:"💳"; }
body.rbs-ui.rbs-page-payments-invoices a[href*="/payments/charges"]::before{ content:"🧾"; }
body.rbs-ui.rbs-page-payments-invoices a[href*="/payments/refunds"]::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-invoices a[href*="/payments/invoices"]::before{ content:"📑"; }
body.rbs-ui.rbs-page-payments-invoices a[href*="/payments/reports"]::before{ content:"📊"; }
body.rbs-ui.rbs-page-payments-invoices a[href*="/payments/addons"]::before{ content:"✨"; }
body.rbs-ui.rbs-page-payments-invoices a[href*="/payments/tax_settings"]::before{ content:"🧮"; }
body.rbs-ui.rbs-page-payments-invoices a[href*="/payments/payment_methods"]::before{ content:"💼"; }
body.rbs-ui.rbs-page-payments-invoices a[href*="/payments/statements"]::before{ content:"🗂️"; }
body.rbs-ui.rbs-page-payments-invoices a[href*="/payments/daily_close"]::before{ content:"🌙"; }
body.rbs-ui.rbs-page-payments-invoices a[href*="/payments/terminal_setup"]::before{ content:"🖥️"; }
body.rbs-ui.rbs-page-payments-invoices a[href*="/payments/receipt_templates"]::before{ content:"🧾"; }
body.rbs-ui.rbs-page-payments-invoices a[href*="/booking/"]::before{ content:"📅"; }

body.rbs-ui.rbs-page-payments-invoices .btn.primary, body.rbs-ui.rbs-page-payments-invoices .main-action, body.rbs-ui.rbs-page-payments-invoices button[type="submit"].btn{
    border:none !important;
    color:#fff !important;
    background:linear-gradient(135deg, #7c3aed 0%, #ec4899 55%, #f97316 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.28) !important;
}

body.rbs-ui.rbs-page-payments-invoices .btn.primary::before, body.rbs-ui.rbs-page-payments-invoices .main-action::before, body.rbs-ui.rbs-page-payments-invoices button[type="submit"].btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-invoices .btn.secondary, body.rbs-ui.rbs-page-payments-invoices .btn.small, body.rbs-ui.rbs-page-payments-invoices .text-link, body.rbs-ui.rbs-page-payments-invoices .secondary-link, body.rbs-ui.rbs-page-payments-invoices .utility-link, body.rbs-ui.rbs-page-payments-invoices .help-link{
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
    border-color:#cbd5e1 !important;
    color:#1e293b !important;
}

body.rbs-ui.rbs-page-payments-invoices .btn.small{
    min-height:40px !important;
    padding:0 14px !important;
    border-radius:12px !important;
}

body.rbs-ui.rbs-page-payments-invoices .hero .btn{
    background:linear-gradient(135deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.10) 100%) !important;
    border:1px solid rgba(255,255,255,.26) !important;
    color:#fff !important;
    box-shadow:0 16px 30px rgba(15,23,42,.20) !important;
}

body.rbs-ui.rbs-page-payments-invoices .hero .btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.26);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-invoices .hero .btn.primary{
    background:linear-gradient(135deg,#22c55e 0%,#0ea5e9 100%) !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(14,165,233,.28) !important;
}

body.rbs-ui.rbs-page-payments-invoices .actions .btn:nth-child(1){
    background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%) !important;
    border-color:#bfdbfe !important;
    color:#1d4ed8 !important;
}

body.rbs-ui.rbs-page-payments-invoices .actions .btn:nth-child(2){
    background:linear-gradient(180deg,#ffffff 0%,#f5f3ff 100%) !important;
    border-color:#ddd6fe !important;
    color:#6d28d9 !important;
}

body.rbs-ui.rbs-page-payments-invoices .actions .btn:last-child{
    background:linear-gradient(135deg,#fb7185 0%,#ef4444 100%) !important;
    color:#fff !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(239,68,68,.28) !important;
}

body.rbs-ui.rbs-page-payments-invoices .actions .btn:last-child::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-invoices .nav-card{
    border-radius:24px !important;
    border:none !important;
    background:linear-gradient(135deg,#0f172a 0%,#334155 40%,#7c3aed 100%) !important;
    color:#fff !important;
    box-shadow:0 20px 40px rgba(15,23,42,.18) !important;
}

body.rbs-ui.rbs-page-payments-invoices .nav-card h3, body.rbs-ui.rbs-page-payments-invoices .nav-card p, body.rbs-ui.rbs-page-payments-invoices .nav-card .nav-arrow{
    color:#fff !important;
}

body.rbs-ui.rbs-page-payments-invoices .nav-card .nav-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    border-radius:18px;
    background:rgba(255,255,255,.14);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}

body.rbs-ui.rbs-page-payments-invoices .quick-view-btn{
    min-height:58px !important;
    border-radius:18px !important;
    box-shadow:0 16px 30px rgba(15,23,42,.10) !important;
}

body.rbs-ui.rbs-page-payments-invoices .quick-view-btn.active-view{
    background:linear-gradient(135deg,#7c3aed 0%,#ec4899 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.26) !important;
}

body.rbs-ui.rbs-page-payments-invoices .quick-view-btn .quick-view-icon{
    width:34px !important;
    height:34px !important;
}

body.rbs-ui.rbs-page-payments-invoices .action-group .btn, body.rbs-ui.rbs-page-payments-invoices td .btn{
    min-height:40px !important;
    padding:0 14px !important;
}

/* Migrated from /payments/paid_invoices.php (page-scoped). */
body.rbs-ui.rbs-page-payments-paid-invoices{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --ok-bg:#f0fdf4;
    --ok-line:#bbf7d0;
    --ok-text:#166534;
    --warn-bg:#fff7ed;
    --warn-line:#fed7aa;
    --warn-text:#9a3412;
}
body.rbs-ui.rbs-page-payments-paid-invoices *{box-sizing:border-box}
body.rbs-ui.rbs-page-payments-paid-invoices{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--text)}
body.rbs-ui.rbs-page-payments-paid-invoices a{color:inherit}
body.rbs-ui.rbs-page-payments-paid-invoices .wrap{max-width:1480px;margin:0 auto;padding:22px 18px 40px}
body.rbs-ui.rbs-page-payments-paid-invoices .topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;flex-wrap:wrap}
body.rbs-ui.rbs-page-payments-paid-invoices .topbar-left{display:flex;align-items:center;gap:14px;min-width:260px}
body.rbs-ui.rbs-page-payments-paid-invoices .title h1{margin:0;font-size:30px;letter-spacing:-.03em}
body.rbs-ui.rbs-page-payments-paid-invoices .title p{margin:4px 0 0;color:var(--muted);font-size:13px}
body.rbs-ui.rbs-page-payments-paid-invoices .actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
body.rbs-ui.rbs-page-payments-paid-invoices .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:#fff;color:var(--text);border-radius:999px;padding:9px 13px;font-weight:800;font-size:13px;text-decoration:none;cursor:pointer;white-space:nowrap}
body.rbs-ui.rbs-page-payments-paid-invoices .btn:hover{border-color:#cbd5e1;background:#f8fafc}
body.rbs-ui.rbs-page-payments-paid-invoices .btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}
body.rbs-ui.rbs-page-payments-paid-invoices .btn.primary:hover{background:var(--brand-dark);border-color:var(--brand-dark)}
body.rbs-ui.rbs-page-payments-paid-invoices .btn.small{padding:7px 10px;font-size:12px}
body.rbs-ui.rbs-page-payments-paid-invoices .hero{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:20px;margin-bottom:16px}
body.rbs-ui.rbs-page-payments-paid-invoices .hero h2{margin:0 0 6px;font-size:24px}
body.rbs-ui.rbs-page-payments-paid-invoices .hero p{margin:0;color:var(--muted);line-height:1.5}
body.rbs-ui.rbs-page-payments-paid-invoices .summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
body.rbs-ui.rbs-page-payments-paid-invoices .summary-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:var(--shadow)}
body.rbs-ui.rbs-page-payments-paid-invoices .summary-card .label{margin:0;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
body.rbs-ui.rbs-page-payments-paid-invoices .summary-card .value{margin:6px 0 0;font-size:24px;font-weight:900}
body.rbs-ui.rbs-page-payments-paid-invoices .layout{display:grid;grid-template-columns:minmax(520px,1fr) minmax(420px,.85fr);gap:16px;align-items:start}
body.rbs-ui.rbs-page-payments-paid-invoices .card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:18px;margin-bottom:16px}
body.rbs-ui.rbs-page-payments-paid-invoices .card h3{margin:0 0 6px;font-size:20px}
body.rbs-ui.rbs-page-payments-paid-invoices .helper{margin:0 0 14px;color:var(--muted);line-height:1.5;font-size:13px}
body.rbs-ui.rbs-page-payments-paid-invoices .filters{display:grid;grid-template-columns:1fr 140px auto;gap:12px;align-items:end;margin-bottom:14px}
body.rbs-ui.rbs-page-payments-paid-invoices .field label{display:block;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#475569;margin-bottom:6px}
body.rbs-ui.rbs-page-payments-paid-invoices .input, body.rbs-ui.rbs-page-payments-paid-invoices .select{width:100%;border:1px solid var(--line);border-radius:14px;padding:10px 11px;font:inherit;background:#fff;color:var(--text)}
body.rbs-ui.rbs-page-payments-paid-invoices .table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}
body.rbs-ui.rbs-page-payments-paid-invoices table{width:100%;border-collapse:collapse;font-size:13px;background:#fff}
body.rbs-ui.rbs-page-payments-paid-invoices th, body.rbs-ui.rbs-page-payments-paid-invoices td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
body.rbs-ui.rbs-page-payments-paid-invoices th{background:#f8fafc;color:#475569;font-size:11px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
body.rbs-ui.rbs-page-payments-paid-invoices tr:last-child td{border-bottom:0}
body.rbs-ui.rbs-page-payments-paid-invoices tbody tr.row-link:hover{background:#f8fafc}
body.rbs-ui.rbs-page-payments-paid-invoices .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
body.rbs-ui.rbs-page-payments-paid-invoices .muted{color:var(--muted)}
body.rbs-ui.rbs-page-payments-paid-invoices .empty{padding:22px;text-align:center;color:var(--muted)}
body.rbs-ui.rbs-page-payments-paid-invoices .badge{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;background:#f8fafc;color:#334155}
body.rbs-ui.rbs-page-payments-paid-invoices .badge-paid, body.rbs-ui.rbs-page-payments-paid-invoices .badge-closed{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok-text)}
body.rbs-ui.rbs-page-payments-paid-invoices .badge-open{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn-text)}
body.rbs-ui.rbs-page-payments-paid-invoices .invoice-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px;flex-wrap:wrap}
body.rbs-ui.rbs-page-payments-paid-invoices .invoice-title{margin:0;font-size:22px}
body.rbs-ui.rbs-page-payments-paid-invoices .detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}
body.rbs-ui.rbs-page-payments-paid-invoices .detail-box{border:1px solid var(--line);border-radius:16px;padding:11px;background:#f8fafc}
body.rbs-ui.rbs-page-payments-paid-invoices .detail-box .label{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
body.rbs-ui.rbs-page-payments-paid-invoices .detail-box .value{font-weight:800;line-height:1.35}
body.rbs-ui.rbs-page-payments-paid-invoices .totals{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px}
body.rbs-ui.rbs-page-payments-paid-invoices .total-box{border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff}
body.rbs-ui.rbs-page-payments-paid-invoices .total-box.grand{background:#0f172a;color:#fff;border-color:#0f172a}
body.rbs-ui.rbs-page-payments-paid-invoices .total-box .label{display:block;color:inherit;opacity:.72;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
body.rbs-ui.rbs-page-payments-paid-invoices .total-box .value{font-size:20px;font-weight:900}
body.rbs-ui.rbs-page-payments-paid-invoices .side-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 0}
body.rbs-ui.rbs-page-payments-paid-invoices .amount-negative{color:#b91c1c;font-weight:900}
body.rbs-ui.rbs-page-payments-paid-invoices .amount-positive{color:#166534;font-weight:900}
@media (max-width:1100px){body.rbs-ui.rbs-page-payments-paid-invoices .layout{grid-template-columns:1fr}body.rbs-ui.rbs-page-payments-paid-invoices .summary-grid{grid-template-columns:1fr}body.rbs-ui.rbs-page-payments-paid-invoices .filters{grid-template-columns:1fr}}
@media (max-width:700px){body.rbs-ui.rbs-page-payments-paid-invoices .wrap{padding:16px 14px 32px}body.rbs-ui.rbs-page-payments-paid-invoices .btn{width:100%}body.rbs-ui.rbs-page-payments-paid-invoices .actions{width:100%;justify-content:stretch}body.rbs-ui.rbs-page-payments-paid-invoices .detail-grid, body.rbs-ui.rbs-page-payments-paid-invoices .totals{grid-template-columns:1fr}}

/* Migrated from /payments/payment_log.php (page-scoped). */
body.rbs-ui.rbs-page-payments-payment-log{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --enabled-bg:#f0fdf4;
    --enabled-line:#bbf7d0;
    --enabled-text:#166534;
}

body.rbs-ui.rbs-page-payments-payment-log *{box-sizing:border-box}

body.rbs-ui.rbs-page-payments-payment-log{
    margin:0;
    font-family:Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}

body.rbs-ui.rbs-page-payments-payment-log .wrap{
    max-width:1400px;
    margin:0 auto;
    padding:28px 20px 40px;
}

body.rbs-ui.rbs-page-payments-payment-log .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-payments-payment-log .topbar-left{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    min-width:0;
}

body.rbs-ui.rbs-page-payments-payment-log .page-logo-wrap{
    margin:0;
    flex:0 0 auto;
}

body.rbs-ui.rbs-page-payments-payment-log .page-logo-link{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
}

body.rbs-ui.rbs-page-payments-payment-log .page-logo{
    display:block;
    width:auto;
    max-height:48px;
    max-width:180px;
}

body.rbs-ui.rbs-page-payments-payment-log .title h1{
    margin:0 0 6px;
    font-size:32px;
}

body.rbs-ui.rbs-page-payments-payment-log .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}

body.rbs-ui.rbs-page-payments-payment-log .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-payments-payment-log .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
}

body.rbs-ui.rbs-page-payments-payment-log .btn.primary{
    background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-payments-payment-log .hero{
    background:linear-gradient(135deg,#1e293b 0%,#334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:22px;
}

body.rbs-ui.rbs-page-payments-payment-log .hero h2{
    margin:0 0 10px;
    font-size:28px;
}

body.rbs-ui.rbs-page-payments-payment-log .hero p{
    margin:0;
    max-width:900px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}

body.rbs-ui.rbs-page-payments-payment-log .summary-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:18px;
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-payments-payment-log .summary-card{
    background:var(--enabled-bg);
    border:1px solid var(--enabled-line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-payments-payment-log .summary-card .label{
    margin:0 0 8px;
    font-size:13px;
    color:#166534;
    font-weight:700;
}

body.rbs-ui.rbs-page-payments-payment-log .summary-card .value{
    margin:0;
    font-size:28px;
    color:var(--enabled-text);
    font-weight:800;
    line-height:1.15;
}

body.rbs-ui.rbs-page-payments-payment-log .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-payments-payment-log .card h3{
    margin:0 0 14px;
    font-size:20px;
}

body.rbs-ui.rbs-page-payments-payment-log .card p.helper{
    margin:0 0 16px;
    color:var(--muted);
    line-height:1.55;
}

body.rbs-ui.rbs-page-payments-payment-log .filters{
    display:flex;
    flex-direction:column;
    gap:14px;
}

body.rbs-ui.rbs-page-payments-payment-log .filter-main-row, body.rbs-ui.rbs-page-payments-payment-log .filter-secondary-row{
    display:grid;
    gap:12px;
    align-items:end;
}

body.rbs-ui.rbs-page-payments-payment-log .filter-main-row{
    grid-template-columns:minmax(240px,2fr) repeat(4,minmax(140px,1fr)) minmax(120px,.9fr) auto auto;
}

body.rbs-ui.rbs-page-payments-payment-log .filter-secondary-row{
    grid-template-columns:minmax(320px,2.2fr) minmax(140px,1fr) minmax(140px,1fr);
}

body.rbs-ui.rbs-page-payments-payment-log .field.field-reservation select{
    max-width:100%;
}

body.rbs-ui.rbs-page-payments-payment-log .field{
    display:flex;
    flex-direction:column;
    gap:6px;
}

body.rbs-ui.rbs-page-payments-payment-log .field label{
    font-size:13px;
    font-weight:700;
    color:var(--text);
}

body.rbs-ui.rbs-page-payments-payment-log .input, body.rbs-ui.rbs-page-payments-payment-log .select{
    width:100%;
    min-height:44px;
    padding:10px 12px;
    border-radius:12px;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    font:inherit;
}

body.rbs-ui.rbs-page-payments-payment-log .table-wrap{
    overflow:auto;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
}

body.rbs-ui.rbs-page-payments-payment-log table{
    width:100%;
    border-collapse:collapse;
}

body.rbs-ui.rbs-page-payments-payment-log th, body.rbs-ui.rbs-page-payments-payment-log td{
    padding:12px 14px;
    text-align:left;
    vertical-align:top;
    border-bottom:1px solid #edf2f7;
    font-size:14px;
}

body.rbs-ui.rbs-page-payments-payment-log th{
    background:#f8fafc;
    color:var(--muted);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.04em;
}

body.rbs-ui.rbs-page-payments-payment-log tr:last-child td{
    border-bottom:none;
}

body.rbs-ui.rbs-page-payments-payment-log .badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
    border:1px solid transparent;
}

body.rbs-ui.rbs-page-payments-payment-log .badge-invoice{background:#dbeafe;border-color:#bfdbfe;color:#1d4ed8;}
body.rbs-ui.rbs-page-payments-payment-log .badge-payment{background:#dcfce7;border-color:#bbf7d0;color:#166534;}
body.rbs-ui.rbs-page-payments-payment-log .badge-payment_voided{background:#fee2e2;border-color:#fecaca;color:#991b1b;}
body.rbs-ui.rbs-page-payments-payment-log .badge-refund{background:#ffedd5;border-color:#fed7aa;color:#c2410c;}
body.rbs-ui.rbs-page-payments-payment-log .badge-bill{background:#ede9fe;border-color:#ddd6fe;color:#6d28d9;}
body.rbs-ui.rbs-page-payments-payment-log .badge-note{background:#f1f5f9;border-color:#cbd5e1;color:#334155;}
body.rbs-ui.rbs-page-payments-payment-log .badge-adjustment{background:#fef9c3;border-color:#fde68a;color:#854d0e;}
body.rbs-ui.rbs-page-payments-payment-log .badge-status_change{background:#e0e7ff;border-color:#c7d2fe;color:#4338ca;}
body.rbs-ui.rbs-page-payments-payment-log .badge-other{background:#e2e8f0;border-color:#cbd5e1;color:#334155;}

body.rbs-ui.rbs-page-payments-payment-log .mono{
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

body.rbs-ui.rbs-page-payments-payment-log .muted{
    color:var(--muted);
}

body.rbs-ui.rbs-page-payments-payment-log .details{
    min-width:280px;
    white-space:pre-wrap;
    word-break:break-word;
}

body.rbs-ui.rbs-page-payments-payment-log .empty{
    padding:18px;
    color:var(--muted);
}

@media (max-width:1100px){
    body.rbs-ui.rbs-page-payments-payment-log .summary-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    body.rbs-ui.rbs-page-payments-payment-log .filter-main-row, body.rbs-ui.rbs-page-payments-payment-log .filter-secondary-row{
        grid-template-columns:1fr 1fr;
    }
}

@media (max-width:700px){
    body.rbs-ui.rbs-page-payments-payment-log .title h1{ font-size:26px; }
    body.rbs-ui.rbs-page-payments-payment-log .hero h2{ font-size:24px; }

    body.rbs-ui.rbs-page-payments-payment-log .page-logo{
        max-height:40px;
        max-width:140px;
    }

    body.rbs-ui.rbs-page-payments-payment-log .summary-grid, body.rbs-ui.rbs-page-payments-payment-log .filter-main-row, body.rbs-ui.rbs-page-payments-payment-log .filter-secondary-row{
        grid-template-columns:1fr;
    }
}

/* louder fun button pass */
body.rbs-ui.rbs-page-payments-payment-log .btn, body.rbs-ui.rbs-page-payments-payment-log .text-link, body.rbs-ui.rbs-page-payments-payment-log .main-action, body.rbs-ui.rbs-page-payments-payment-log .secondary-link, body.rbs-ui.rbs-page-payments-payment-log .utility-link, body.rbs-ui.rbs-page-payments-payment-log .help-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border-radius:16px !important;
    font-weight:800 !important;
    letter-spacing:.01em;
    box-shadow:0 16px 30px rgba(15,23,42,.14) !important;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease, background .18s ease !important;
}

body.rbs-ui.rbs-page-payments-payment-log .btn:hover, body.rbs-ui.rbs-page-payments-payment-log .text-link:hover, body.rbs-ui.rbs-page-payments-payment-log .main-action:hover, body.rbs-ui.rbs-page-payments-payment-log .secondary-link:hover, body.rbs-ui.rbs-page-payments-payment-log .utility-link:hover, body.rbs-ui.rbs-page-payments-payment-log .help-link:hover{
    transform:translateY(-2px) scale(1.01);
    box-shadow:0 20px 36px rgba(15,23,42,.18) !important;
    filter:saturate(1.08);
}

body.rbs-ui.rbs-page-payments-payment-log .btn::before, body.rbs-ui.rbs-page-payments-payment-log .text-link::before, body.rbs-ui.rbs-page-payments-payment-log .main-action::before, body.rbs-ui.rbs-page-payments-payment-log .secondary-link::before, body.rbs-ui.rbs-page-payments-payment-log .utility-link::before, body.rbs-ui.rbs-page-payments-payment-log .help-link::before{
    content:"✦";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:999px;
    background:rgba(255,255,255,.9);
    border:1px solid rgba(148,163,184,.25);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
    font-size:14px;
    line-height:1;
    flex:0 0 28px;
}

body.rbs-ui.rbs-page-payments-payment-log a[href*="/dashboard"]::before{ content:"🏠"; }
body.rbs-ui.rbs-page-payments-payment-log a[href*="/logout"]::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-payment-log a[href*="/admin"]::before{ content:"🛠️"; }
body.rbs-ui.rbs-page-payments-payment-log a[href*="/settings"]::before{ content:"⚙️"; }
body.rbs-ui.rbs-page-payments-payment-log a[href*="/payment_log"]::before{ content:"📘"; }
body.rbs-ui.rbs-page-payments-payment-log a[href*="/payments/folios"]::before{ content:"📄"; }
body.rbs-ui.rbs-page-payments-payment-log a[href*="/payments/payments"]::before{ content:"💳"; }
body.rbs-ui.rbs-page-payments-payment-log a[href*="/payments/charges"]::before{ content:"🧾"; }
body.rbs-ui.rbs-page-payments-payment-log a[href*="/payments/refunds"]::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-payment-log a[href*="/payments/invoices"]::before{ content:"📑"; }
body.rbs-ui.rbs-page-payments-payment-log a[href*="/payments/reports"]::before{ content:"📊"; }
body.rbs-ui.rbs-page-payments-payment-log a[href*="/payments/addons"]::before{ content:"✨"; }
body.rbs-ui.rbs-page-payments-payment-log a[href*="/payments/tax_settings"]::before{ content:"🧮"; }
body.rbs-ui.rbs-page-payments-payment-log a[href*="/payments/payment_methods"]::before{ content:"💼"; }
body.rbs-ui.rbs-page-payments-payment-log a[href*="/payments/statements"]::before{ content:"🗂️"; }
body.rbs-ui.rbs-page-payments-payment-log a[href*="/payments/daily_close"]::before{ content:"🌙"; }
body.rbs-ui.rbs-page-payments-payment-log a[href*="/payments/terminal_setup"]::before{ content:"🖥️"; }
body.rbs-ui.rbs-page-payments-payment-log a[href*="/payments/receipt_templates"]::before{ content:"🧾"; }
body.rbs-ui.rbs-page-payments-payment-log a[href*="/booking/"]::before{ content:"📅"; }

body.rbs-ui.rbs-page-payments-payment-log .btn.primary, body.rbs-ui.rbs-page-payments-payment-log .main-action, body.rbs-ui.rbs-page-payments-payment-log button[type="submit"].btn{
    border:none !important;
    color:#fff !important;
    background:linear-gradient(135deg, #7c3aed 0%, #ec4899 55%, #f97316 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.28) !important;
}

body.rbs-ui.rbs-page-payments-payment-log .btn.primary::before, body.rbs-ui.rbs-page-payments-payment-log .main-action::before, body.rbs-ui.rbs-page-payments-payment-log button[type="submit"].btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-payment-log .btn.secondary, body.rbs-ui.rbs-page-payments-payment-log .btn.small, body.rbs-ui.rbs-page-payments-payment-log .text-link, body.rbs-ui.rbs-page-payments-payment-log .secondary-link, body.rbs-ui.rbs-page-payments-payment-log .utility-link, body.rbs-ui.rbs-page-payments-payment-log .help-link{
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
    border-color:#cbd5e1 !important;
    color:#1e293b !important;
}

body.rbs-ui.rbs-page-payments-payment-log .btn.small{
    min-height:40px !important;
    padding:0 14px !important;
    border-radius:12px !important;
}

body.rbs-ui.rbs-page-payments-payment-log .hero .btn{
    background:linear-gradient(135deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.10) 100%) !important;
    border:1px solid rgba(255,255,255,.26) !important;
    color:#fff !important;
    box-shadow:0 16px 30px rgba(15,23,42,.20) !important;
}

body.rbs-ui.rbs-page-payments-payment-log .hero .btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.26);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-payment-log .hero .btn.primary{
    background:linear-gradient(135deg,#22c55e 0%,#0ea5e9 100%) !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(14,165,233,.28) !important;
}

body.rbs-ui.rbs-page-payments-payment-log .actions .btn:nth-child(1){
    background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%) !important;
    border-color:#bfdbfe !important;
    color:#1d4ed8 !important;
}

body.rbs-ui.rbs-page-payments-payment-log .actions .btn:nth-child(2){
    background:linear-gradient(180deg,#ffffff 0%,#f5f3ff 100%) !important;
    border-color:#ddd6fe !important;
    color:#6d28d9 !important;
}

body.rbs-ui.rbs-page-payments-payment-log .actions .btn:last-child{
    background:linear-gradient(135deg,#fb7185 0%,#ef4444 100%) !important;
    color:#fff !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(239,68,68,.28) !important;
}

body.rbs-ui.rbs-page-payments-payment-log .actions .btn:last-child::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-payment-log .nav-card{
    border-radius:24px !important;
    border:none !important;
    background:linear-gradient(135deg,#0f172a 0%,#334155 40%,#7c3aed 100%) !important;
    color:#fff !important;
    box-shadow:0 20px 40px rgba(15,23,42,.18) !important;
}

body.rbs-ui.rbs-page-payments-payment-log .nav-card h3, body.rbs-ui.rbs-page-payments-payment-log .nav-card p, body.rbs-ui.rbs-page-payments-payment-log .nav-card .nav-arrow{
    color:#fff !important;
}

body.rbs-ui.rbs-page-payments-payment-log .nav-card .nav-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    border-radius:18px;
    background:rgba(255,255,255,.14);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}

body.rbs-ui.rbs-page-payments-payment-log .quick-view-btn{
    min-height:58px !important;
    border-radius:18px !important;
    box-shadow:0 16px 30px rgba(15,23,42,.10) !important;
}

body.rbs-ui.rbs-page-payments-payment-log .quick-view-btn.active-view{
    background:linear-gradient(135deg,#7c3aed 0%,#ec4899 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.26) !important;
}

body.rbs-ui.rbs-page-payments-payment-log .quick-view-btn .quick-view-icon{
    width:34px !important;
    height:34px !important;
}

body.rbs-ui.rbs-page-payments-payment-log .action-group .btn, body.rbs-ui.rbs-page-payments-payment-log td .btn{
    min-height:40px !important;
    padding:0 14px !important;
}

body.rbs-ui.rbs-page-payments-payment-log .inline-link{
    color:inherit;
    text-decoration:none;
    border-bottom:1px dashed rgba(124,58,237,.35);
}

body.rbs-ui.rbs-page-payments-payment-log .inline-link:hover{
    color:#6d28d9;
    border-bottom-color:#6d28d9;
}

body.rbs-ui.rbs-page-payments-payment-log .inline-link-row{
    display:inline-block;
    margin-top:6px;
    font-size:12px;
    font-weight:700;
}

/* Migrated from /payments/payment_methods.php (page-scoped). */
body.rbs-ui.rbs-page-payments-payment-methods{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --enabled-bg:#f0fdf4;
    --enabled-line:#bbf7d0;
    --enabled-text:#166534;
}

body.rbs-ui.rbs-page-payments-payment-methods *{box-sizing:border-box}

body.rbs-ui.rbs-page-payments-payment-methods{
    margin:0;
    font-family:Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}

body.rbs-ui.rbs-page-payments-payment-methods .wrap{
    max-width:1400px;
    margin:0 auto;
    padding:28px 20px 40px;
}

body.rbs-ui.rbs-page-payments-payment-methods .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-payments-payment-methods .topbar-left{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    min-width:0;
}

body.rbs-ui.rbs-page-payments-payment-methods .page-logo-wrap{
    margin:0;
    flex:0 0 auto;
}

body.rbs-ui.rbs-page-payments-payment-methods .page-logo-link{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
}

body.rbs-ui.rbs-page-payments-payment-methods .page-logo{
    display:block;
    width:auto;
    max-height:48px;
    max-width:180px;
}

body.rbs-ui.rbs-page-payments-payment-methods .title h1{
    margin:0 0 6px;
    font-size:32px;
}

body.rbs-ui.rbs-page-payments-payment-methods .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}

body.rbs-ui.rbs-page-payments-payment-methods .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-payments-payment-methods .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
}

body.rbs-ui.rbs-page-payments-payment-methods .btn.primary{
    background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-payments-payment-methods .hero{
    background:linear-gradient(135deg,#1e293b 0%,#334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:22px;
}

body.rbs-ui.rbs-page-payments-payment-methods .hero h2{
    margin:0 0 10px;
    font-size:28px;
}

body.rbs-ui.rbs-page-payments-payment-methods .hero p{
    margin:0;
    max-width:860px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}

body.rbs-ui.rbs-page-payments-payment-methods .summary-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:18px;
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-payments-payment-methods .summary-card{
    background:var(--enabled-bg);
    border:1px solid var(--enabled-line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-payments-payment-methods .summary-card .label{
    margin:0 0 8px;
    font-size:13px;
    color:#166534;
    font-weight:700;
}

body.rbs-ui.rbs-page-payments-payment-methods .summary-card .value{
    margin:0;
    font-size:28px;
    color:var(--enabled-text);
    font-weight:800;
    line-height:1.15;
}

body.rbs-ui.rbs-page-payments-payment-methods .grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

body.rbs-ui.rbs-page-payments-payment-methods .card{
    background:var(--enabled-bg);
    border:1px solid var(--enabled-line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-payments-payment-methods .card h3{
    margin:0 0 10px;
    font-size:20px;
    color:var(--enabled-text);
}

body.rbs-ui.rbs-page-payments-payment-methods .card p{
    margin:0 0 16px;
    line-height:1.55;
    color:#166534;
}

body.rbs-ui.rbs-page-payments-payment-methods .stats{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

body.rbs-ui.rbs-page-payments-payment-methods .stat{
    background:#dcfce7;
    border:1px solid #bbf7d0;
    border-radius:12px;
    padding:12px;
}

body.rbs-ui.rbs-page-payments-payment-methods .stat .label{
    display:block;
    font-size:12px;
    font-weight:700;
    color:#166534;
    margin-bottom:4px;
}

body.rbs-ui.rbs-page-payments-payment-methods .stat .value{
    font-size:18px;
    font-weight:800;
    color:#166534;
}

body.rbs-ui.rbs-page-payments-payment-methods .card.wide{
    grid-column:1 / -1;
}

body.rbs-ui.rbs-page-payments-payment-methods .helper-card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
    margin-top:18px;
}

body.rbs-ui.rbs-page-payments-payment-methods .helper-card h3{
    margin:0 0 12px;
    font-size:20px;
}

body.rbs-ui.rbs-page-payments-payment-methods .helper-card p{
    margin:0;
    color:var(--muted);
    line-height:1.6;
}

@media (max-width:1100px){
    body.rbs-ui.rbs-page-payments-payment-methods .summary-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:900px){
    body.rbs-ui.rbs-page-payments-payment-methods .grid{ grid-template-columns:1fr; }
}

@media (max-width:700px){
    body.rbs-ui.rbs-page-payments-payment-methods .title h1{ font-size:26px; }
    body.rbs-ui.rbs-page-payments-payment-methods .hero h2{ font-size:24px; }

    body.rbs-ui.rbs-page-payments-payment-methods .page-logo{
        max-height:40px;
        max-width:140px;
    }

    body.rbs-ui.rbs-page-payments-payment-methods .summary-grid, body.rbs-ui.rbs-page-payments-payment-methods .stats{
        grid-template-columns:1fr;
    }
}

/* louder fun button pass */
body.rbs-ui.rbs-page-payments-payment-methods .btn, body.rbs-ui.rbs-page-payments-payment-methods .text-link, body.rbs-ui.rbs-page-payments-payment-methods .main-action, body.rbs-ui.rbs-page-payments-payment-methods .secondary-link, body.rbs-ui.rbs-page-payments-payment-methods .utility-link, body.rbs-ui.rbs-page-payments-payment-methods .help-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border-radius:16px !important;
    font-weight:800 !important;
    letter-spacing:.01em;
    box-shadow:0 16px 30px rgba(15,23,42,.14) !important;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease, background .18s ease !important;
}

body.rbs-ui.rbs-page-payments-payment-methods .btn:hover, body.rbs-ui.rbs-page-payments-payment-methods .text-link:hover, body.rbs-ui.rbs-page-payments-payment-methods .main-action:hover, body.rbs-ui.rbs-page-payments-payment-methods .secondary-link:hover, body.rbs-ui.rbs-page-payments-payment-methods .utility-link:hover, body.rbs-ui.rbs-page-payments-payment-methods .help-link:hover{
    transform:translateY(-2px) scale(1.01);
    box-shadow:0 20px 36px rgba(15,23,42,.18) !important;
    filter:saturate(1.08);
}

body.rbs-ui.rbs-page-payments-payment-methods .btn::before, body.rbs-ui.rbs-page-payments-payment-methods .text-link::before, body.rbs-ui.rbs-page-payments-payment-methods .main-action::before, body.rbs-ui.rbs-page-payments-payment-methods .secondary-link::before, body.rbs-ui.rbs-page-payments-payment-methods .utility-link::before, body.rbs-ui.rbs-page-payments-payment-methods .help-link::before{
    content:"✦";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:999px;
    background:rgba(255,255,255,.9);
    border:1px solid rgba(148,163,184,.25);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
    font-size:14px;
    line-height:1;
    flex:0 0 28px;
}

body.rbs-ui.rbs-page-payments-payment-methods a[href*="/dashboard"]::before{ content:"🏠"; }
body.rbs-ui.rbs-page-payments-payment-methods a[href*="/logout"]::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-payment-methods a[href*="/admin"]::before{ content:"🛠️"; }
body.rbs-ui.rbs-page-payments-payment-methods a[href*="/settings"]::before{ content:"⚙️"; }
body.rbs-ui.rbs-page-payments-payment-methods a[href*="/payment_log"]::before{ content:"📘"; }
body.rbs-ui.rbs-page-payments-payment-methods a[href*="/payments/folios"]::before{ content:"📄"; }
body.rbs-ui.rbs-page-payments-payment-methods a[href*="/payments/payments"]::before{ content:"💳"; }
body.rbs-ui.rbs-page-payments-payment-methods a[href*="/payments/charges"]::before{ content:"🧾"; }
body.rbs-ui.rbs-page-payments-payment-methods a[href*="/payments/refunds"]::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-payment-methods a[href*="/payments/invoices"]::before{ content:"📑"; }
body.rbs-ui.rbs-page-payments-payment-methods a[href*="/payments/reports"]::before{ content:"📊"; }
body.rbs-ui.rbs-page-payments-payment-methods a[href*="/payments/addons"]::before{ content:"✨"; }
body.rbs-ui.rbs-page-payments-payment-methods a[href*="/payments/tax_settings"]::before{ content:"🧮"; }
body.rbs-ui.rbs-page-payments-payment-methods a[href*="/payments/payment_methods"]::before{ content:"💼"; }
body.rbs-ui.rbs-page-payments-payment-methods a[href*="/payments/statements"]::before{ content:"🗂️"; }
body.rbs-ui.rbs-page-payments-payment-methods a[href*="/payments/daily_close"]::before{ content:"🌙"; }
body.rbs-ui.rbs-page-payments-payment-methods a[href*="/payments/terminal_setup"]::before{ content:"🖥️"; }
body.rbs-ui.rbs-page-payments-payment-methods a[href*="/payments/receipt_templates"]::before{ content:"🧾"; }
body.rbs-ui.rbs-page-payments-payment-methods a[href*="/booking/"]::before{ content:"📅"; }

body.rbs-ui.rbs-page-payments-payment-methods .btn.primary, body.rbs-ui.rbs-page-payments-payment-methods .main-action, body.rbs-ui.rbs-page-payments-payment-methods button[type="submit"].btn{
    border:none !important;
    color:#fff !important;
    background:linear-gradient(135deg, #7c3aed 0%, #ec4899 55%, #f97316 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.28) !important;
}

body.rbs-ui.rbs-page-payments-payment-methods .btn.primary::before, body.rbs-ui.rbs-page-payments-payment-methods .main-action::before, body.rbs-ui.rbs-page-payments-payment-methods button[type="submit"].btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-payment-methods .btn.secondary, body.rbs-ui.rbs-page-payments-payment-methods .btn.small, body.rbs-ui.rbs-page-payments-payment-methods .text-link, body.rbs-ui.rbs-page-payments-payment-methods .secondary-link, body.rbs-ui.rbs-page-payments-payment-methods .utility-link, body.rbs-ui.rbs-page-payments-payment-methods .help-link{
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
    border-color:#cbd5e1 !important;
    color:#1e293b !important;
}

body.rbs-ui.rbs-page-payments-payment-methods .btn.small{
    min-height:40px !important;
    padding:0 14px !important;
    border-radius:12px !important;
}

body.rbs-ui.rbs-page-payments-payment-methods .hero .btn{
    background:linear-gradient(135deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.10) 100%) !important;
    border:1px solid rgba(255,255,255,.26) !important;
    color:#fff !important;
    box-shadow:0 16px 30px rgba(15,23,42,.20) !important;
}

body.rbs-ui.rbs-page-payments-payment-methods .hero .btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.26);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-payment-methods .hero .btn.primary{
    background:linear-gradient(135deg,#22c55e 0%,#0ea5e9 100%) !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(14,165,233,.28) !important;
}

body.rbs-ui.rbs-page-payments-payment-methods .actions .btn:nth-child(1){
    background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%) !important;
    border-color:#bfdbfe !important;
    color:#1d4ed8 !important;
}

body.rbs-ui.rbs-page-payments-payment-methods .actions .btn:nth-child(2){
    background:linear-gradient(180deg,#ffffff 0%,#f5f3ff 100%) !important;
    border-color:#ddd6fe !important;
    color:#6d28d9 !important;
}

body.rbs-ui.rbs-page-payments-payment-methods .actions .btn:last-child{
    background:linear-gradient(135deg,#fb7185 0%,#ef4444 100%) !important;
    color:#fff !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(239,68,68,.28) !important;
}

body.rbs-ui.rbs-page-payments-payment-methods .actions .btn:last-child::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-payment-methods .nav-card{
    border-radius:24px !important;
    border:none !important;
    background:linear-gradient(135deg,#0f172a 0%,#334155 40%,#7c3aed 100%) !important;
    color:#fff !important;
    box-shadow:0 20px 40px rgba(15,23,42,.18) !important;
}

body.rbs-ui.rbs-page-payments-payment-methods .nav-card h3, body.rbs-ui.rbs-page-payments-payment-methods .nav-card p, body.rbs-ui.rbs-page-payments-payment-methods .nav-card .nav-arrow{
    color:#fff !important;
}

body.rbs-ui.rbs-page-payments-payment-methods .nav-card .nav-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    border-radius:18px;
    background:rgba(255,255,255,.14);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}

body.rbs-ui.rbs-page-payments-payment-methods .quick-view-btn{
    min-height:58px !important;
    border-radius:18px !important;
    box-shadow:0 16px 30px rgba(15,23,42,.10) !important;
}

body.rbs-ui.rbs-page-payments-payment-methods .quick-view-btn.active-view{
    background:linear-gradient(135deg,#7c3aed 0%,#ec4899 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.26) !important;
}

body.rbs-ui.rbs-page-payments-payment-methods .quick-view-btn .quick-view-icon{
    width:34px !important;
    height:34px !important;
}

body.rbs-ui.rbs-page-payments-payment-methods .action-group .btn, body.rbs-ui.rbs-page-payments-payment-methods td .btn{
    min-height:40px !important;
    padding:0 14px !important;
}

/* Migrated from /payments/payments.php (page-scoped). */
body.rbs-ui.rbs-page-payments-payments{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --enabled-bg:#f0fdf4;
    --enabled-line:#bbf7d0;
    --enabled-text:#166534;
    --error-bg:#fef2f2;
    --error-line:#fecaca;
    --error-text:#b91c1c;
    --notice-bg:#fff7ed;
    --notice-line:#fed7aa;
    --notice-text:#9a3412;
    --panel-bg:#f8fafc;
    --panel-line:#cbd5e1;
}

body.rbs-ui.rbs-page-payments-payments *{box-sizing:border-box}

body.rbs-ui.rbs-page-payments-payments{
    margin:0;
    font-family:Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}

body.rbs-ui.rbs-page-payments-payments .wrap{
    max-width:1600px;
    margin:0 auto;
    padding:28px 20px 40px;
}

body.rbs-ui.rbs-page-payments-payments .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-payments-payments .topbar-left{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    min-width:0;
}

body.rbs-ui.rbs-page-payments-payments .page-logo-wrap{
    margin:0;
    flex:0 0 auto;
}

body.rbs-ui.rbs-page-payments-payments .page-logo-link{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
}

body.rbs-ui.rbs-page-payments-payments .page-logo{
    display:block;
    width:auto;
    max-height:48px;
    max-width:180px;
}

body.rbs-ui.rbs-page-payments-payments .title h1{
    margin:0 0 6px;
    font-size:32px;
}

body.rbs-ui.rbs-page-payments-payments .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}

body.rbs-ui.rbs-page-payments-payments .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-payments-payments .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:44px;
    padding:0 16px;
    border-radius:14px;
    text-decoration:none;
    font-weight:800;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    font:inherit;
    cursor:pointer;
    box-shadow:0 10px 24px rgba(15,23,42,.08);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
}

body.rbs-ui.rbs-page-payments-payments .btn:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(15,23,42,.12);
}

body.rbs-ui.rbs-page-payments-payments .btn.primary{
    background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);
    color:#fff;
    border:none;
    box-shadow:0 14px 28px rgba(111,71,43,.24);
}

body.rbs-ui.rbs-page-payments-payments .btn.small{
    min-height:38px;
    padding:0 12px;
    border-radius:11px;
    font-size:13px;
}

body.rbs-ui.rbs-page-payments-payments .btn.danger{
    background:linear-gradient(135deg,#fb7185 0%,#dc2626 100%) !important;
    color:#fff !important;
    border:none !important;
    box-shadow:0 12px 24px rgba(220,38,38,.22) !important;
}

body.rbs-ui.rbs-page-payments-payments .inline-action-form{
    display:inline;
    margin:0;
}

body.rbs-ui.rbs-page-payments-payments .badge-voided{
    background:#fee2e2;
    border-color:#fecaca;
    color:#991b1b;
}

body.rbs-ui.rbs-page-payments-payments .actions .btn[href="/dashboard.php"]{
    background:linear-gradient(180deg,#60a5fa 0%,#2563eb 100%);
    color:#fff;
    border:none;
    box-shadow:0 12px 24px rgba(37,99,235,.22);
}

body.rbs-ui.rbs-page-payments-payments .actions .btn[href="/admin/index.php"]{
    background:linear-gradient(180deg,#818cf8 0%,#4f46e5 100%);
    color:#fff;
    border:none;
    box-shadow:0 12px 24px rgba(79,70,229,.22);
}

body.rbs-ui.rbs-page-payments-payments .actions .btn[href="/settings/index.php"]{
    background:linear-gradient(180deg,#c084fc 0%,#9333ea 100%);
    color:#fff;
    border:none;
    box-shadow:0 12px 24px rgba(147,51,234,.22);
}

body.rbs-ui.rbs-page-payments-payments .actions .btn[href="/payments/payment_log.php"]{
    background:linear-gradient(180deg,#fb923c 0%,#ea580c 100%);
    color:#fff;
    border:none;
    box-shadow:0 12px 24px rgba(234,88,12,.22);
}

body.rbs-ui.rbs-page-payments-payments .actions .btn[href="/logout.php"]{
    background:linear-gradient(180deg,#fb7185 0%,#e11d48 100%);
    color:#fff;
    border:none;
    box-shadow:0 12px 24px rgba(225,29,72,.22);
}

body.rbs-ui.rbs-page-payments-payments #toggle-bill-finder{
    background:linear-gradient(180deg,#a78bfa 0%,#7c3aed 100%);
    color:#fff;
    border:none;
    box-shadow:0 12px 24px rgba(124,58,237,.22);
}

body.rbs-ui.rbs-page-payments-payments #clear-bill-finder{
    background:linear-gradient(180deg,#e2e8f0 0%,#cbd5e1 100%);
    color:#1e293b;
    border:1px solid #cbd5e1;
}

body.rbs-ui.rbs-page-payments-payments [data-use-bill-id]{
    background:linear-gradient(180deg,#14b8a6 0%,#0f766e 100%);
    color:#fff;
    border:none;
    box-shadow:0 10px 20px rgba(15,118,110,.20);
}

body.rbs-ui.rbs-page-payments-payments #save-payment-btn{
    background:linear-gradient(180deg,#22c55e 0%,#15803d 100%);
    color:#fff;
    border:none;
    box-shadow:0 14px 28px rgba(21,128,61,.24);
}

body.rbs-ui.rbs-page-payments-payments .btn[href="/dashboard.php"]::before{content:"🏠";}
body.rbs-ui.rbs-page-payments-payments .btn[href="/admin/index.php"]::before{content:"🧰";}
body.rbs-ui.rbs-page-payments-payments .btn[href="/settings/index.php"]::before{content:"⚙️";}
body.rbs-ui.rbs-page-payments-payments .btn[href="/payments/payment_log.php"]::before{content:"📘";}
body.rbs-ui.rbs-page-payments-payments .btn[href="/logout.php"]::before{content:"🚪";}
body.rbs-ui.rbs-page-payments-payments #toggle-bill-finder::before{content:"🔎";}
body.rbs-ui.rbs-page-payments-payments #clear-bill-finder::before{content:"🧹";}
body.rbs-ui.rbs-page-payments-payments [data-use-bill-id]::before{content:"✅";}
body.rbs-ui.rbs-page-payments-payments #save-payment-btn::before{content:"💾";}

body.rbs-ui.rbs-page-payments-payments .hero{
    background:linear-gradient(135deg,#1e293b 0%,#334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:22px;
}

body.rbs-ui.rbs-page-payments-payments .hero h2{
    margin:0 0 10px;
    font-size:28px;
}

body.rbs-ui.rbs-page-payments-payments .hero p{
    margin:0;
    max-width:860px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}

body.rbs-ui.rbs-page-payments-payments .flash{
    margin-bottom:18px;
    border-radius:16px;
    padding:14px 16px;
    border:1px solid transparent;
    box-shadow:var(--shadow);
    font-weight:700;
}

body.rbs-ui.rbs-page-payments-payments .flash.success{
    background:var(--enabled-bg);
    border-color:var(--enabled-line);
    color:var(--enabled-text);
}

body.rbs-ui.rbs-page-payments-payments .flash.error{
    background:var(--error-bg);
    border-color:var(--error-line);
    color:var(--error-text);
}
body.rbs-ui.rbs-page-payments-payments .flash ul{margin:8px 0 0 20px;padding:0;font-weight:600;line-height:1.45}

body.rbs-ui.rbs-page-payments-payments .grid{
    display:grid;
    grid-template-columns:minmax(520px, .95fr) minmax(680px, 1.05fr);
    gap:18px;
    margin-bottom:18px;
    align-items:start;
}

body.rbs-ui.rbs-page-payments-payments .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-payments-payments .card h3{
    margin:0 0 14px;
    font-size:20px;
}

body.rbs-ui.rbs-page-payments-payments .card p.helper{
    margin:0 0 16px;
    color:var(--muted);
    line-height:1.55;
}

body.rbs-ui.rbs-page-payments-payments .helper-tools{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0 0 16px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-payments-payments .finder-panel{
    margin:0 0 18px;
    padding:16px;
    border:1px solid var(--panel-line);
    border-radius:18px;
    background:var(--panel-bg);
}

body.rbs-ui.rbs-page-payments-payments .finder-panel[hidden]{
    display:none !important;
}

body.rbs-ui.rbs-page-payments-payments .finder-panel h4{
    margin:0 0 8px;
    font-size:17px;
}

body.rbs-ui.rbs-page-payments-payments .finder-panel p{
    margin:0 0 14px;
    color:var(--muted);
    line-height:1.5;
}

body.rbs-ui.rbs-page-payments-payments .finder-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-bottom:12px;
}

body.rbs-ui.rbs-page-payments-payments .finder-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:12px;
}

body.rbs-ui.rbs-page-payments-payments .finder-status{
    margin:0 0 12px;
    color:var(--muted);
    font-size:14px;
    font-weight:700;
}

body.rbs-ui.rbs-page-payments-payments .finder-results-wrap{
    max-height:260px;
}

body.rbs-ui.rbs-page-payments-payments .form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

body.rbs-ui.rbs-page-payments-payments .field{
    display:flex;
    flex-direction:column;
    gap:6px;
}

body.rbs-ui.rbs-page-payments-payments .field.full{
    grid-column:1 / -1;
}

body.rbs-ui.rbs-page-payments-payments .field label{
    font-size:13px;
    font-weight:700;
    color:var(--text);
}

body.rbs-ui.rbs-page-payments-payments .input, body.rbs-ui.rbs-page-payments-payments .select, body.rbs-ui.rbs-page-payments-payments .textarea{
    width:100%;
    min-height:44px;
    padding:10px 12px;
    border-radius:12px;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    font:inherit;
}

body.rbs-ui.rbs-page-payments-payments .textarea{
    min-height:110px;
    resize:vertical;
}

body.rbs-ui.rbs-page-payments-payments .card-entry-panel{
    grid-column:1 / -1;
    border:1px solid var(--notice-line);
    background:linear-gradient(180deg,#fffaf5 0%, #fff 100%);
    border-radius:18px;
    padding:16px;
    box-shadow:0 8px 24px rgba(15,23,42,.06);
}

body.rbs-ui.rbs-page-payments-payments .card-entry-panel[hidden]{
    display:none !important;
}

body.rbs-ui.rbs-page-payments-payments .card-entry-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:12px;
}

body.rbs-ui.rbs-page-payments-payments .card-entry-header h4{
    margin:0;
    font-size:18px;
}

body.rbs-ui.rbs-page-payments-payments .card-entry-header p{
    margin:6px 0 0;
    color:var(--muted);
    line-height:1.5;
}

body.rbs-ui.rbs-page-payments-payments .card-notice{
    margin:0 0 14px;
    padding:12px 14px;
    border-radius:14px;
    background:var(--notice-bg);
    border:1px solid var(--notice-line);
    color:var(--notice-text);
    font-weight:700;
    line-height:1.5;
}

body.rbs-ui.rbs-page-payments-payments #card-container{
    padding:12px;
    border:1px solid var(--line);
    border-radius:12px;
    min-height:48px;
    background:#fff;
}

body.rbs-ui.rbs-page-payments-payments #square-card-fields[hidden], body.rbs-ui.rbs-page-payments-payments #manual-card-fields[hidden], body.rbs-ui.rbs-page-payments-payments #new-card-payment-fields[hidden]{
    display:none !important;
}

body.rbs-ui.rbs-page-payments-payments .summary-boxes{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

body.rbs-ui.rbs-page-payments-payments .summary-box{
    background:var(--enabled-bg);
    border:1px solid var(--enabled-line);
    border-radius:16px;
    padding:14px;
}

body.rbs-ui.rbs-page-payments-payments .summary-box .label{
    display:block;
    font-size:12px;
    color:#166534;
    margin-bottom:6px;
    font-weight:700;
}

body.rbs-ui.rbs-page-payments-payments .summary-box .value{
    font-size:17px;
    font-weight:700;
    color:var(--enabled-text);
}

body.rbs-ui.rbs-page-payments-payments .summary-box.full{
    grid-column:1 / -1;
}

body.rbs-ui.rbs-page-payments-payments .bill-preview-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:0 0 16px;
}

body.rbs-ui.rbs-page-payments-payments .bill-items-card{
    margin-top:16px;
}

body.rbs-ui.rbs-page-payments-payments .bill-items-card h4{
    margin:0 0 6px;
    font-size:18px;
}

body.rbs-ui.rbs-page-payments-payments .bill-items-card p{
    margin:0 0 14px;
    color:var(--muted);
    line-height:1.5;
}

body.rbs-ui.rbs-page-payments-payments .payment-breakdown-card{
    margin-top:16px;
}

body.rbs-ui.rbs-page-payments-payments .payment-breakdown-card h4{
    margin:0 0 6px;
    font-size:18px;
}

body.rbs-ui.rbs-page-payments-payments .payment-breakdown-card p{
    margin:0 0 14px;
    color:var(--muted);
    line-height:1.5;
}

body.rbs-ui.rbs-page-payments-payments .payment-method-list{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin:0 0 14px;
}

body.rbs-ui.rbs-page-payments-payments .payment-method-pill{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:8px 10px;
    border-radius:999px;
    border:1px solid var(--line);
    background:#f8fafc;
    font-size:13px;
    font-weight:800;
}

body.rbs-ui.rbs-page-payments-payments .copy-reference-btn{
    white-space:nowrap;
    min-height:34px !important;
    padding:0 10px !important;
    font-size:12px !important;
}


body.rbs-ui.rbs-page-payments-payments .line-total{
    font-weight:700;
    white-space:nowrap;
}

body.rbs-ui.rbs-page-payments-payments .mono{
    font-variant-numeric:tabular-nums;
}

body.rbs-ui.rbs-page-payments-payments .muted{
    color:var(--muted);
}

body.rbs-ui.rbs-page-payments-payments .table-wrap{
    overflow:auto;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
}

body.rbs-ui.rbs-page-payments-payments table{
    width:100%;
    border-collapse:collapse;
}

body.rbs-ui.rbs-page-payments-payments th, body.rbs-ui.rbs-page-payments-payments td{
    padding:12px 14px;
    text-align:left;
    vertical-align:top;
    border-bottom:1px solid #edf2f7;
    font-size:14px;
}

body.rbs-ui.rbs-page-payments-payments th{
    background:#f8fafc;
    color:var(--muted);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.04em;
}

body.rbs-ui.rbs-page-payments-payments tr:last-child td{
    border-bottom:none;
}

body.rbs-ui.rbs-page-payments-payments .badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
    border:1px solid transparent;
}

body.rbs-ui.rbs-page-payments-payments .badge-payment{background:#dcfce7;border-color:#bbf7d0;color:#166534;}
body.rbs-ui.rbs-page-payments-payments .badge-refund{background:#ffedd5;border-color:#fed7aa;color:#c2410c;}

body.rbs-ui.rbs-page-payments-payments .mono{
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

body.rbs-ui.rbs-page-payments-payments .muted{
    color:var(--muted);
}

body.rbs-ui.rbs-page-payments-payments .empty{
    padding:18px;
    color:var(--muted);
}

@media (max-width:1250px){
    body.rbs-ui.rbs-page-payments-payments .grid{
        grid-template-columns:1fr;
    }
}

@media (max-width:700px){
    body.rbs-ui.rbs-page-payments-payments .title h1{ font-size:26px; }
    body.rbs-ui.rbs-page-payments-payments .hero h2{ font-size:24px; }

    body.rbs-ui.rbs-page-payments-payments .page-logo{
        max-height:40px;
        max-width:140px;
    }

    body.rbs-ui.rbs-page-payments-payments .form-grid, body.rbs-ui.rbs-page-payments-payments .summary-boxes, body.rbs-ui.rbs-page-payments-payments .finder-grid{
        grid-template-columns:1fr;
    }
}

/* louder fun button pass */
body.rbs-ui.rbs-page-payments-payments .btn, body.rbs-ui.rbs-page-payments-payments .text-link, body.rbs-ui.rbs-page-payments-payments .main-action, body.rbs-ui.rbs-page-payments-payments .secondary-link, body.rbs-ui.rbs-page-payments-payments .utility-link, body.rbs-ui.rbs-page-payments-payments .help-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border-radius:16px !important;
    font-weight:800 !important;
    letter-spacing:.01em;
    box-shadow:0 16px 30px rgba(15,23,42,.14) !important;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease, background .18s ease !important;
}

body.rbs-ui.rbs-page-payments-payments .btn:hover, body.rbs-ui.rbs-page-payments-payments .text-link:hover, body.rbs-ui.rbs-page-payments-payments .main-action:hover, body.rbs-ui.rbs-page-payments-payments .secondary-link:hover, body.rbs-ui.rbs-page-payments-payments .utility-link:hover, body.rbs-ui.rbs-page-payments-payments .help-link:hover{
    transform:translateY(-2px) scale(1.01);
    box-shadow:0 20px 36px rgba(15,23,42,.18) !important;
    filter:saturate(1.08);
}

body.rbs-ui.rbs-page-payments-payments .btn::before, body.rbs-ui.rbs-page-payments-payments .text-link::before, body.rbs-ui.rbs-page-payments-payments .main-action::before, body.rbs-ui.rbs-page-payments-payments .secondary-link::before, body.rbs-ui.rbs-page-payments-payments .utility-link::before, body.rbs-ui.rbs-page-payments-payments .help-link::before{
    content:"✦";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:999px;
    background:rgba(255,255,255,.9);
    border:1px solid rgba(148,163,184,.25);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
    font-size:14px;
    line-height:1;
    flex:0 0 28px;
}

body.rbs-ui.rbs-page-payments-payments a[href*="/dashboard"]::before{ content:"🏠"; }
body.rbs-ui.rbs-page-payments-payments a[href*="/logout"]::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-payments a[href*="/admin"]::before{ content:"🛠️"; }
body.rbs-ui.rbs-page-payments-payments a[href*="/settings"]::before{ content:"⚙️"; }
body.rbs-ui.rbs-page-payments-payments a[href*="/payment_log"]::before{ content:"📘"; }
body.rbs-ui.rbs-page-payments-payments a[href*="/payments/folios"]::before{ content:"📄"; }
body.rbs-ui.rbs-page-payments-payments a[href*="/payments/payments"]::before{ content:"💳"; }
body.rbs-ui.rbs-page-payments-payments a[href*="/payments/charges"]::before{ content:"🧾"; }
body.rbs-ui.rbs-page-payments-payments a[href*="/payments/refunds"]::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-payments a[href*="/payments/invoices"]::before{ content:"📑"; }
body.rbs-ui.rbs-page-payments-payments a[href*="/payments/reports"]::before{ content:"📊"; }
body.rbs-ui.rbs-page-payments-payments a[href*="/payments/addons"]::before{ content:"✨"; }
body.rbs-ui.rbs-page-payments-payments a[href*="/payments/tax_settings"]::before{ content:"🧮"; }
body.rbs-ui.rbs-page-payments-payments a[href*="/payments/payment_methods"]::before{ content:"💼"; }
body.rbs-ui.rbs-page-payments-payments a[href*="/payments/statements"]::before{ content:"🗂️"; }
body.rbs-ui.rbs-page-payments-payments a[href*="/payments/daily_close"]::before{ content:"🌙"; }
body.rbs-ui.rbs-page-payments-payments a[href*="/payments/terminal_setup"]::before{ content:"🖥️"; }
body.rbs-ui.rbs-page-payments-payments a[href*="/payments/receipt_templates"]::before{ content:"🧾"; }
body.rbs-ui.rbs-page-payments-payments a[href*="/booking/"]::before{ content:"📅"; }

body.rbs-ui.rbs-page-payments-payments .btn.primary, body.rbs-ui.rbs-page-payments-payments .main-action, body.rbs-ui.rbs-page-payments-payments button[type="submit"].btn{
    border:none !important;
    color:#fff !important;
    background:linear-gradient(135deg, #7c3aed 0%, #ec4899 55%, #f97316 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.28) !important;
}

body.rbs-ui.rbs-page-payments-payments .btn.primary::before, body.rbs-ui.rbs-page-payments-payments .main-action::before, body.rbs-ui.rbs-page-payments-payments button[type="submit"].btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-payments .btn.secondary, body.rbs-ui.rbs-page-payments-payments .btn.small, body.rbs-ui.rbs-page-payments-payments .text-link, body.rbs-ui.rbs-page-payments-payments .secondary-link, body.rbs-ui.rbs-page-payments-payments .utility-link, body.rbs-ui.rbs-page-payments-payments .help-link{
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
    border-color:#cbd5e1 !important;
    color:#1e293b !important;
}

body.rbs-ui.rbs-page-payments-payments .btn.small{
    min-height:40px !important;
    padding:0 14px !important;
    border-radius:12px !important;
}

body.rbs-ui.rbs-page-payments-payments .hero .btn{
    background:linear-gradient(135deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.10) 100%) !important;
    border:1px solid rgba(255,255,255,.26) !important;
    color:#fff !important;
    box-shadow:0 16px 30px rgba(15,23,42,.20) !important;
}

body.rbs-ui.rbs-page-payments-payments .hero .btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.26);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-payments .hero .btn.primary{
    background:linear-gradient(135deg,#22c55e 0%,#0ea5e9 100%) !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(14,165,233,.28) !important;
}

body.rbs-ui.rbs-page-payments-payments .actions .btn:nth-child(1){
    background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%) !important;
    border-color:#bfdbfe !important;
    color:#1d4ed8 !important;
}

body.rbs-ui.rbs-page-payments-payments .actions .btn:nth-child(2){
    background:linear-gradient(180deg,#ffffff 0%,#f5f3ff 100%) !important;
    border-color:#ddd6fe !important;
    color:#6d28d9 !important;
}

body.rbs-ui.rbs-page-payments-payments .actions .btn:last-child{
    background:linear-gradient(135deg,#fb7185 0%,#ef4444 100%) !important;
    color:#fff !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(239,68,68,.28) !important;
}

body.rbs-ui.rbs-page-payments-payments .actions .btn:last-child::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-payments .nav-card{
    border-radius:24px !important;
    border:none !important;
    background:linear-gradient(135deg,#0f172a 0%,#334155 40%,#7c3aed 100%) !important;
    color:#fff !important;
    box-shadow:0 20px 40px rgba(15,23,42,.18) !important;
}

body.rbs-ui.rbs-page-payments-payments .nav-card h3, body.rbs-ui.rbs-page-payments-payments .nav-card p, body.rbs-ui.rbs-page-payments-payments .nav-card .nav-arrow{
    color:#fff !important;
}

body.rbs-ui.rbs-page-payments-payments .nav-card .nav-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    border-radius:18px;
    background:rgba(255,255,255,.14);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}

body.rbs-ui.rbs-page-payments-payments .quick-view-btn{
    min-height:58px !important;
    border-radius:18px !important;
    box-shadow:0 16px 30px rgba(15,23,42,.10) !important;
}

body.rbs-ui.rbs-page-payments-payments .quick-view-btn.active-view{
    background:linear-gradient(135deg,#7c3aed 0%,#ec4899 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.26) !important;
}

body.rbs-ui.rbs-page-payments-payments .quick-view-btn .quick-view-icon{
    width:34px !important;
    height:34px !important;
}

body.rbs-ui.rbs-page-payments-payments .action-group .btn, body.rbs-ui.rbs-page-payments-payments td .btn{
    min-height:40px !important;
    padding:0 14px !important;
}

body.rbs-ui.rbs-page-payments-payments .btn.btn-checkout-today, body.rbs-ui.rbs-page-payments-payments button[type="submit"].btn.btn-checkout-today{
    background:linear-gradient(180deg, #b91c1c 0%, #7f1d1d 100%) !important;
    color:#fff !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(185,28,28,.34) !important;
    min-height:48px !important;
    padding:0 20px !important;
    border-radius:16px !important;
    font-size:16px !important;
    font-weight:900 !important;
    letter-spacing:-.01em;
}

body.rbs-ui.rbs-page-payments-payments .btn.btn-checkout-today::before, body.rbs-ui.rbs-page-payments-payments button[type="submit"].btn.btn-checkout-today::before{
    content:"" !important;
    width:12px !important;
    height:12px !important;
    border-radius:50% !important;
    background:#fb7185 !important;
    border:none !important;
    box-shadow:0 0 0 4px rgba(251,113,133,.18) !important;
}

/* Migrated from /payments/refund_processed.php (page-scoped). */
body.rbs-ui.rbs-page-payments-refund-processed{
    --bg:#f4f7fb;
    --card:#fff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --ok-bg:#f0fdf4;
    --ok-line:#bbf7d0;
    --ok-text:#166534;
    --bad-bg:#fef2f2;
    --bad-line:#fecaca;
    --bad-text:#991b1b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
}
body.rbs-ui.rbs-page-payments-refund-processed *{box-sizing:border-box}
body.rbs-ui.rbs-page-payments-refund-processed{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--text)}
body.rbs-ui.rbs-page-payments-refund-processed .wrap{max-width:1100px;margin:0 auto;padding:28px 20px 44px}
body.rbs-ui.rbs-page-payments-refund-processed .topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px}
body.rbs-ui.rbs-page-payments-refund-processed .topbar-left{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
body.rbs-ui.rbs-page-payments-refund-processed .page-logo{display:block;width:auto;max-height:48px;max-width:180px}
body.rbs-ui.rbs-page-payments-refund-processed h1{margin:0 0 6px;font-size:32px}
body.rbs-ui.rbs-page-payments-refund-processed p{margin:0;color:var(--muted)}
body.rbs-ui.rbs-page-payments-refund-processed .actions{display:flex;gap:10px;flex-wrap:wrap}
body.rbs-ui.rbs-page-payments-refund-processed .btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 15px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--text);font-weight:700;text-decoration:none;cursor:pointer}
body.rbs-ui.rbs-page-payments-refund-processed .btn.primary{background:#1e293b;color:#fff;border-color:#1e293b}
body.rbs-ui.rbs-page-payments-refund-processed .result-card{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:24px;margin-bottom:18px}
body.rbs-ui.rbs-page-payments-refund-processed .result-card.success{border-color:var(--ok-line);background:linear-gradient(180deg,var(--ok-bg) 0%,#fff 46%)}
body.rbs-ui.rbs-page-payments-refund-processed .result-card.error{border-color:var(--bad-line);background:linear-gradient(180deg,var(--bad-bg) 0%,#fff 46%)}
body.rbs-ui.rbs-page-payments-refund-processed .status{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;font-weight:800;margin-bottom:14px}
body.rbs-ui.rbs-page-payments-refund-processed .success .status{background:var(--ok-bg);border:1px solid var(--ok-line);color:var(--ok-text)}
body.rbs-ui.rbs-page-payments-refund-processed .error .status{background:var(--bad-bg);border:1px solid var(--bad-line);color:var(--bad-text)}
body.rbs-ui.rbs-page-payments-refund-processed .result-card h2{margin:0 0 10px;font-size:26px}
body.rbs-ui.rbs-page-payments-refund-processed .result-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
body.rbs-ui.rbs-page-payments-refund-processed .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
body.rbs-ui.rbs-page-payments-refund-processed .info{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}
body.rbs-ui.rbs-page-payments-refund-processed .label{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
body.rbs-ui.rbs-page-payments-refund-processed .value{font-weight:800;word-break:break-word}
body.rbs-ui.rbs-page-payments-refund-processed .note{background:#fffbeb;border:1px solid #fde68a;color:#92400e;border-radius:16px;padding:14px;margin-top:16px;font-weight:700}
body.rbs-ui.rbs-page-payments-refund-processed .mini-alert{border-radius:14px;padding:12px 14px;margin-bottom:16px;font-weight:700;border:1px solid var(--line)}
body.rbs-ui.rbs-page-payments-refund-processed .mini-alert.success{background:#ecfdf5;color:#14532d;border-color:#bbf7d0}
body.rbs-ui.rbs-page-payments-refund-processed .mini-alert.warning{background:#fffbeb;color:#92400e;border-color:#fde68a}
body.rbs-ui.rbs-page-payments-refund-processed .mini-alert.danger{background:#fef2f2;color:#991b1b;border-color:#fecaca}
@media (max-width:800px){body.rbs-ui.rbs-page-payments-refund-processed .grid{grid-template-columns:1fr}body.rbs-ui.rbs-page-payments-refund-processed .actions, body.rbs-ui.rbs-page-payments-refund-processed .result-actions{width:100%}body.rbs-ui.rbs-page-payments-refund-processed .btn{width:100%}}

/* Migrated from /payments/refunds.php (page-scoped). */
body.rbs-ui.rbs-page-payments-refunds{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --enabled-bg:#f0fdf4;
    --enabled-line:#bbf7d0;
    --enabled-text:#166534;
    --error-bg:#fef2f2;
    --error-line:#fecaca;
    --error-text:#b91c1c;
    --notice-bg:#fff7ed;
    --notice-line:#fed7aa;
    --notice-text:#9a3412;
}

body.rbs-ui.rbs-page-payments-refunds *{box-sizing:border-box}

body.rbs-ui.rbs-page-payments-refunds{
    margin:0;
    font-family:Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}

body.rbs-ui.rbs-page-payments-refunds .wrap{
    max-width:1400px;
    margin:0 auto;
    padding:28px 20px 40px;
}

body.rbs-ui.rbs-page-payments-refunds .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-payments-refunds .topbar-left{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    min-width:0;
}

body.rbs-ui.rbs-page-payments-refunds .page-logo-wrap{
    margin:0;
    flex:0 0 auto;
}

body.rbs-ui.rbs-page-payments-refunds .page-logo-link{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
}

body.rbs-ui.rbs-page-payments-refunds .page-logo{
    display:block;
    width:auto;
    max-height:48px;
    max-width:180px;
}

body.rbs-ui.rbs-page-payments-refunds .title h1{
    margin:0 0 6px;
    font-size:32px;
}

body.rbs-ui.rbs-page-payments-refunds .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}

body.rbs-ui.rbs-page-payments-refunds .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-payments-refunds .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    font:inherit;
    cursor:pointer;
}

body.rbs-ui.rbs-page-payments-refunds .btn.primary{
    background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-payments-refunds .hero{
    background:linear-gradient(135deg,#1e293b 0%,#334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:22px;
}

body.rbs-ui.rbs-page-payments-refunds .hero h2{
    margin:0 0 10px;
    font-size:28px;
}

body.rbs-ui.rbs-page-payments-refunds .hero p{
    margin:0;
    max-width:860px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}

body.rbs-ui.rbs-page-payments-refunds .flash{
    margin-bottom:18px;
    border-radius:16px;
    padding:14px 16px;
    border:1px solid transparent;
    box-shadow:var(--shadow);
    font-weight:700;
}

body.rbs-ui.rbs-page-payments-refunds .flash.success{
    background:var(--enabled-bg);
    border-color:var(--enabled-line);
    color:var(--enabled-text);
}

body.rbs-ui.rbs-page-payments-refunds .flash.error{
    background:var(--error-bg);
    border-color:var(--error-line);
    color:var(--error-text);
}

body.rbs-ui.rbs-page-payments-refunds .flash.warning, body.rbs-ui.rbs-page-payments-refunds .repeat-refund-warning{
    background:#fffbeb;
    border-color:#f59e0b;
    color:#78350f;
}

body.rbs-ui.rbs-page-payments-refunds .repeat-refund-warning{
    margin:0 0 16px;
    padding:14px 16px;
    border-radius:16px;
    border:1px solid #f59e0b;
    font-weight:800;
    line-height:1.5;
}

body.rbs-ui.rbs-page-payments-refunds .repeat-refund-warning span{
    display:block;
    margin-top:4px;
    color:#92400e;
    font-weight:700;
}

body.rbs-ui.rbs-page-payments-refunds .flash-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:12px;
}

body.rbs-ui.rbs-page-payments-refunds .flash-actions .btn{
    min-height:38px;
    padding:0 12px;
    box-shadow:none !important;
}

body.rbs-ui.rbs-page-payments-refunds .summary-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-payments-refunds .summary-card{
    background:var(--enabled-bg);
    border:1px solid var(--enabled-line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-payments-refunds .summary-card .label{
    margin:0 0 8px;
    font-size:13px;
    color:#166534;
    font-weight:700;
}

body.rbs-ui.rbs-page-payments-refunds .summary-card .value{
    margin:0;
    font-size:28px;
    color:var(--enabled-text);
    font-weight:800;
    line-height:1.15;
}

body.rbs-ui.rbs-page-payments-refunds .grid{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:18px;
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-payments-refunds .lookup-grid{
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:18px;
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-payments-refunds .bill-search-form{
    margin:0 0 16px;
}

body.rbs-ui.rbs-page-payments-refunds .bill-search-actions{
    align-self:end;
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-payments-refunds .refund-details{
    display:contents;
}

body.rbs-ui.rbs-page-payments-refunds .refund-details[hidden], body.rbs-ui.rbs-page-payments-refunds #selected-bill-card[hidden]{
    display:none !important;
}

body.rbs-ui.rbs-page-payments-refunds .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-payments-refunds .card h3{
    margin:0 0 14px;
    font-size:20px;
}

body.rbs-ui.rbs-page-payments-refunds .card p.helper{
    margin:0 0 16px;
    color:var(--muted);
    line-height:1.55;
}

body.rbs-ui.rbs-page-payments-refunds .form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

body.rbs-ui.rbs-page-payments-refunds .field{
    display:flex;
    flex-direction:column;
    gap:6px;
}

body.rbs-ui.rbs-page-payments-refunds .field.full{
    grid-column:1 / -1;
}

body.rbs-ui.rbs-page-payments-refunds .field label{
    font-size:13px;
    font-weight:700;
    color:var(--text);
}

body.rbs-ui.rbs-page-payments-refunds .checkbox-field{
    justify-content:end;
    padding-bottom:2px;
}

body.rbs-ui.rbs-page-payments-refunds .check-row{
    min-height:44px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    cursor:pointer;
}

body.rbs-ui.rbs-page-payments-refunds .check-row input{
    width:18px;
    height:18px;
}

body.rbs-ui.rbs-page-payments-refunds .tiny-note{
    min-height:16px;
    font-size:12px;
    color:var(--muted);
}

body.rbs-ui.rbs-page-payments-refunds .input, body.rbs-ui.rbs-page-payments-refunds .select, body.rbs-ui.rbs-page-payments-refunds .textarea{
    width:100%;
    min-height:44px;
    padding:10px 12px;
    border-radius:12px;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    font:inherit;
}

body.rbs-ui.rbs-page-payments-refunds .textarea{
    min-height:110px;
    resize:vertical;
}

body.rbs-ui.rbs-page-payments-refunds .card-entry-panel{
    grid-column:1 / -1;
    border:1px solid var(--notice-line);
    background:linear-gradient(180deg,#fffaf5 0%, #fff 100%);
    border-radius:18px;
    padding:16px;
    box-shadow:0 8px 24px rgba(15,23,42,.06);
}

body.rbs-ui.rbs-page-payments-refunds .card-entry-panel[hidden], body.rbs-ui.rbs-page-payments-refunds #square-original-payment-field[hidden], body.rbs-ui.rbs-page-payments-refunds #manual-card-refund-fields[hidden]{
    display:none !important;
}

body.rbs-ui.rbs-page-payments-refunds .card-entry-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:12px;
}

body.rbs-ui.rbs-page-payments-refunds .card-entry-header h4{
    margin:0;
    font-size:18px;
}

body.rbs-ui.rbs-page-payments-refunds .card-entry-header p{
    margin:6px 0 0;
    color:var(--muted);
    line-height:1.5;
}

body.rbs-ui.rbs-page-payments-refunds .card-notice{
    margin:0 0 14px;
    padding:12px 14px;
    border-radius:14px;
    background:var(--notice-bg);
    border:1px solid var(--notice-line);
    color:var(--notice-text);
    font-weight:700;
    line-height:1.5;
}

body.rbs-ui.rbs-page-payments-refunds .summary-boxes{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

body.rbs-ui.rbs-page-payments-refunds .summary-box{
    background:var(--enabled-bg);
    border:1px solid var(--enabled-line);
    border-radius:16px;
    padding:14px;
}

body.rbs-ui.rbs-page-payments-refunds .summary-box .label{
    display:block;
    font-size:12px;
    color:#166534;
    margin-bottom:6px;
    font-weight:700;
}

body.rbs-ui.rbs-page-payments-refunds .summary-box .value{
    font-size:17px;
    font-weight:700;
    color:var(--enabled-text);
}

body.rbs-ui.rbs-page-payments-refunds .summary-box.full{
    grid-column:1 / -1;
}

body.rbs-ui.rbs-page-payments-refunds .table-wrap{
    overflow:auto;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
}

body.rbs-ui.rbs-page-payments-refunds table{
    width:100%;
    border-collapse:collapse;
}

body.rbs-ui.rbs-page-payments-refunds th, body.rbs-ui.rbs-page-payments-refunds td{
    padding:12px 14px;
    text-align:left;
    vertical-align:top;
    border-bottom:1px solid #edf2f7;
    font-size:14px;
}

body.rbs-ui.rbs-page-payments-refunds th{
    background:#f8fafc;
    color:var(--muted);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.04em;
}

body.rbs-ui.rbs-page-payments-refunds tr:last-child td{
    border-bottom:none;
}

body.rbs-ui.rbs-page-payments-refunds .badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
    border:1px solid transparent;
}

body.rbs-ui.rbs-page-payments-refunds .badge-refund{background:#ffedd5;border-color:#fed7aa;color:#c2410c;}
body.rbs-ui.rbs-page-payments-refunds .badge-card{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8;}

body.rbs-ui.rbs-page-payments-refunds .mono{
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

body.rbs-ui.rbs-page-payments-refunds .muted{
    color:var(--muted);
}

body.rbs-ui.rbs-page-payments-refunds .empty{
    padding:18px;
    color:var(--muted);
}

@media (max-width:1100px){
    body.rbs-ui.rbs-page-payments-refunds .summary-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    body.rbs-ui.rbs-page-payments-refunds .grid{
        grid-template-columns:1fr;
    }
}

@media (max-width:700px){
    body.rbs-ui.rbs-page-payments-refunds .title h1{ font-size:26px; }
    body.rbs-ui.rbs-page-payments-refunds .hero h2{ font-size:24px; }

    body.rbs-ui.rbs-page-payments-refunds .page-logo{
        max-height:40px;
        max-width:140px;
    }

    body.rbs-ui.rbs-page-payments-refunds .summary-grid, body.rbs-ui.rbs-page-payments-refunds .form-grid, body.rbs-ui.rbs-page-payments-refunds .summary-boxes{
        grid-template-columns:1fr;
    }
}

/* louder fun button pass */
body.rbs-ui.rbs-page-payments-refunds .btn, body.rbs-ui.rbs-page-payments-refunds .text-link, body.rbs-ui.rbs-page-payments-refunds .main-action, body.rbs-ui.rbs-page-payments-refunds .secondary-link, body.rbs-ui.rbs-page-payments-refunds .utility-link, body.rbs-ui.rbs-page-payments-refunds .help-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border-radius:16px !important;
    font-weight:800 !important;
    letter-spacing:.01em;
    box-shadow:0 16px 30px rgba(15,23,42,.14) !important;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease, background .18s ease !important;
}

body.rbs-ui.rbs-page-payments-refunds .btn:hover, body.rbs-ui.rbs-page-payments-refunds .text-link:hover, body.rbs-ui.rbs-page-payments-refunds .main-action:hover, body.rbs-ui.rbs-page-payments-refunds .secondary-link:hover, body.rbs-ui.rbs-page-payments-refunds .utility-link:hover, body.rbs-ui.rbs-page-payments-refunds .help-link:hover{
    transform:translateY(-2px) scale(1.01);
    box-shadow:0 20px 36px rgba(15,23,42,.18) !important;
    filter:saturate(1.08);
}

body.rbs-ui.rbs-page-payments-refunds .btn::before, body.rbs-ui.rbs-page-payments-refunds .text-link::before, body.rbs-ui.rbs-page-payments-refunds .main-action::before, body.rbs-ui.rbs-page-payments-refunds .secondary-link::before, body.rbs-ui.rbs-page-payments-refunds .utility-link::before, body.rbs-ui.rbs-page-payments-refunds .help-link::before{
    content:"✦";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:999px;
    background:rgba(255,255,255,.9);
    border:1px solid rgba(148,163,184,.25);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
    font-size:14px;
    line-height:1;
    flex:0 0 28px;
}

body.rbs-ui.rbs-page-payments-refunds a[href*="/dashboard"]::before{ content:"🏠"; }
body.rbs-ui.rbs-page-payments-refunds a[href*="/logout"]::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-refunds a[href*="/admin"]::before{ content:"🛠️"; }
body.rbs-ui.rbs-page-payments-refunds a[href*="/settings"]::before{ content:"⚙️"; }
body.rbs-ui.rbs-page-payments-refunds a[href*="/payment_log"]::before{ content:"📘"; }
body.rbs-ui.rbs-page-payments-refunds a[href*="/payments/folios"]::before{ content:"📄"; }
body.rbs-ui.rbs-page-payments-refunds a[href*="/payments/payments"]::before{ content:"💳"; }
body.rbs-ui.rbs-page-payments-refunds a[href*="/payments/charges"]::before{ content:"🧾"; }
body.rbs-ui.rbs-page-payments-refunds a[href*="/payments/refunds"]::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-refunds a[href*="/payments/invoices"]::before{ content:"📑"; }
body.rbs-ui.rbs-page-payments-refunds a[href*="/payments/reports"]::before{ content:"📊"; }
body.rbs-ui.rbs-page-payments-refunds a[href*="/payments/addons"]::before{ content:"✨"; }
body.rbs-ui.rbs-page-payments-refunds a[href*="/payments/tax_settings"]::before{ content:"🧮"; }
body.rbs-ui.rbs-page-payments-refunds a[href*="/payments/payment_methods"]::before{ content:"💼"; }
body.rbs-ui.rbs-page-payments-refunds a[href*="/payments/statements"]::before{ content:"🗂️"; }
body.rbs-ui.rbs-page-payments-refunds a[href*="/payments/daily_close"]::before{ content:"🌙"; }
body.rbs-ui.rbs-page-payments-refunds a[href*="/payments/terminal_setup"]::before{ content:"🖥️"; }
body.rbs-ui.rbs-page-payments-refunds a[href*="/payments/receipt_templates"]::before{ content:"🧾"; }
body.rbs-ui.rbs-page-payments-refunds a[href*="/booking/"]::before{ content:"📅"; }

body.rbs-ui.rbs-page-payments-refunds .btn.primary, body.rbs-ui.rbs-page-payments-refunds .main-action, body.rbs-ui.rbs-page-payments-refunds button[type="submit"].btn{
    border:none !important;
    color:#fff !important;
    background:linear-gradient(135deg, #7c3aed 0%, #ec4899 55%, #f97316 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.28) !important;
}

body.rbs-ui.rbs-page-payments-refunds .btn.primary::before, body.rbs-ui.rbs-page-payments-refunds .main-action::before, body.rbs-ui.rbs-page-payments-refunds button[type="submit"].btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-refunds .btn.secondary, body.rbs-ui.rbs-page-payments-refunds .btn.small, body.rbs-ui.rbs-page-payments-refunds .text-link, body.rbs-ui.rbs-page-payments-refunds .secondary-link, body.rbs-ui.rbs-page-payments-refunds .utility-link, body.rbs-ui.rbs-page-payments-refunds .help-link{
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
    border-color:#cbd5e1 !important;
    color:#1e293b !important;
}

body.rbs-ui.rbs-page-payments-refunds .btn.small{
    min-height:40px !important;
    padding:0 14px !important;
    border-radius:12px !important;
}

body.rbs-ui.rbs-page-payments-refunds .hero .btn{
    background:linear-gradient(135deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.10) 100%) !important;
    border:1px solid rgba(255,255,255,.26) !important;
    color:#fff !important;
    box-shadow:0 16px 30px rgba(15,23,42,.20) !important;
}

body.rbs-ui.rbs-page-payments-refunds .hero .btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.26);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-refunds .hero .btn.primary{
    background:linear-gradient(135deg,#22c55e 0%,#0ea5e9 100%) !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(14,165,233,.28) !important;
}

body.rbs-ui.rbs-page-payments-refunds .actions .btn:nth-child(1){
    background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%) !important;
    border-color:#bfdbfe !important;
    color:#1d4ed8 !important;
}

body.rbs-ui.rbs-page-payments-refunds .actions .btn:nth-child(2){
    background:linear-gradient(180deg,#ffffff 0%,#f5f3ff 100%) !important;
    border-color:#ddd6fe !important;
    color:#6d28d9 !important;
}

body.rbs-ui.rbs-page-payments-refunds .actions .btn:last-child{
    background:linear-gradient(135deg,#fb7185 0%,#ef4444 100%) !important;
    color:#fff !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(239,68,68,.28) !important;
}

body.rbs-ui.rbs-page-payments-refunds .actions .btn:last-child::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-refunds .nav-card{
    border-radius:24px !important;
    border:none !important;
    background:linear-gradient(135deg,#0f172a 0%,#334155 40%,#7c3aed 100%) !important;
    color:#fff !important;
    box-shadow:0 20px 40px rgba(15,23,42,.18) !important;
}

body.rbs-ui.rbs-page-payments-refunds .nav-card h3, body.rbs-ui.rbs-page-payments-refunds .nav-card p, body.rbs-ui.rbs-page-payments-refunds .nav-card .nav-arrow{
    color:#fff !important;
}

body.rbs-ui.rbs-page-payments-refunds .nav-card .nav-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    border-radius:18px;
    background:rgba(255,255,255,.14);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}

body.rbs-ui.rbs-page-payments-refunds .quick-view-btn{
    min-height:58px !important;
    border-radius:18px !important;
    box-shadow:0 16px 30px rgba(15,23,42,.10) !important;
}

body.rbs-ui.rbs-page-payments-refunds .quick-view-btn.active-view{
    background:linear-gradient(135deg,#7c3aed 0%,#ec4899 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.26) !important;
}

body.rbs-ui.rbs-page-payments-refunds .quick-view-btn .quick-view-icon{
    width:34px !important;
    height:34px !important;
}

body.rbs-ui.rbs-page-payments-refunds .action-group .btn, body.rbs-ui.rbs-page-payments-refunds td .btn{
    min-height:40px !important;
    padding:0 14px !important;
}

/* Migrated from /payments/settings.php (page-scoped). */
body.rbs-ui.rbs-page-payments-settings{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --enabled-bg:#f0fdf4;
    --enabled-line:#bbf7d0;
    --enabled-text:#166534;
}

body.rbs-ui.rbs-page-payments-settings *{box-sizing:border-box}

body.rbs-ui.rbs-page-payments-settings{
    margin:0;
    font-family:Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}

body.rbs-ui.rbs-page-payments-settings .wrap{
    max-width:1400px;
    margin:0 auto;
    padding:28px 20px 40px;
}

body.rbs-ui.rbs-page-payments-settings .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-payments-settings .topbar-left{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    min-width:0;
}

body.rbs-ui.rbs-page-payments-settings .page-logo-wrap{
    margin:0;
    flex:0 0 auto;
}

body.rbs-ui.rbs-page-payments-settings .page-logo-link{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
}

body.rbs-ui.rbs-page-payments-settings .page-logo{
    display:block;
    width:auto;
    max-height:48px;
    max-width:180px;
}

body.rbs-ui.rbs-page-payments-settings .title h1{
    margin:0 0 6px;
    font-size:32px;
}

body.rbs-ui.rbs-page-payments-settings .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}

body.rbs-ui.rbs-page-payments-settings .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-payments-settings .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
}

body.rbs-ui.rbs-page-payments-settings .btn.primary{
    background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-payments-settings .hero{
    background:linear-gradient(135deg,#1e293b 0%,#334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:22px;
}

body.rbs-ui.rbs-page-payments-settings .hero h2{
    margin:0 0 10px;
    font-size:28px;
}

body.rbs-ui.rbs-page-payments-settings .hero p{
    margin:0;
    max-width:760px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}

body.rbs-ui.rbs-page-payments-settings .grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

body.rbs-ui.rbs-page-payments-settings .card{
    background:var(--enabled-bg);
    border:1px solid var(--enabled-line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-payments-settings .card h3{
    margin:0 0 10px;
    font-size:20px;
    color:var(--enabled-text);
}

body.rbs-ui.rbs-page-payments-settings .card p{
    margin:0 0 16px;
    line-height:1.55;
    color:#166534;
}

body.rbs-ui.rbs-page-payments-settings .links{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

body.rbs-ui.rbs-page-payments-settings .link-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 12px;
    border-radius:10px;
    font-size:14px;
    font-weight:600;
    text-decoration:none;
    border:1px solid #bbf7d0;
    background:#dcfce7;
    color:#166534;
}

@media (max-width:900px){
    body.rbs-ui.rbs-page-payments-settings .grid{ grid-template-columns:1fr; }
}

@media (max-width:700px){
    body.rbs-ui.rbs-page-payments-settings .title h1{ font-size:26px; }
    body.rbs-ui.rbs-page-payments-settings .hero h2{ font-size:24px; }

    body.rbs-ui.rbs-page-payments-settings .page-logo{
        max-height:40px;
        max-width:140px;
    }
}

/* louder fun button pass */
body.rbs-ui.rbs-page-payments-settings .btn, body.rbs-ui.rbs-page-payments-settings .text-link, body.rbs-ui.rbs-page-payments-settings .main-action, body.rbs-ui.rbs-page-payments-settings .secondary-link, body.rbs-ui.rbs-page-payments-settings .utility-link, body.rbs-ui.rbs-page-payments-settings .help-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border-radius:16px !important;
    font-weight:800 !important;
    letter-spacing:.01em;
    box-shadow:0 16px 30px rgba(15,23,42,.14) !important;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease, background .18s ease !important;
}

body.rbs-ui.rbs-page-payments-settings .btn:hover, body.rbs-ui.rbs-page-payments-settings .text-link:hover, body.rbs-ui.rbs-page-payments-settings .main-action:hover, body.rbs-ui.rbs-page-payments-settings .secondary-link:hover, body.rbs-ui.rbs-page-payments-settings .utility-link:hover, body.rbs-ui.rbs-page-payments-settings .help-link:hover{
    transform:translateY(-2px) scale(1.01);
    box-shadow:0 20px 36px rgba(15,23,42,.18) !important;
    filter:saturate(1.08);
}

body.rbs-ui.rbs-page-payments-settings .btn::before, body.rbs-ui.rbs-page-payments-settings .text-link::before, body.rbs-ui.rbs-page-payments-settings .main-action::before, body.rbs-ui.rbs-page-payments-settings .secondary-link::before, body.rbs-ui.rbs-page-payments-settings .utility-link::before, body.rbs-ui.rbs-page-payments-settings .help-link::before{
    content:"✦";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:999px;
    background:rgba(255,255,255,.9);
    border:1px solid rgba(148,163,184,.25);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
    font-size:14px;
    line-height:1;
    flex:0 0 28px;
}

body.rbs-ui.rbs-page-payments-settings a[href*="/dashboard"]::before{ content:"🏠"; }
body.rbs-ui.rbs-page-payments-settings a[href*="/logout"]::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-settings a[href*="/admin"]::before{ content:"🛠️"; }
body.rbs-ui.rbs-page-payments-settings a[href*="/settings"]::before{ content:"⚙️"; }
body.rbs-ui.rbs-page-payments-settings a[href*="/payment_log"]::before{ content:"📘"; }
body.rbs-ui.rbs-page-payments-settings a[href*="/payments/folios"]::before{ content:"📄"; }
body.rbs-ui.rbs-page-payments-settings a[href*="/payments/payments"]::before{ content:"💳"; }
body.rbs-ui.rbs-page-payments-settings a[href*="/payments/charges"]::before{ content:"🧾"; }
body.rbs-ui.rbs-page-payments-settings a[href*="/payments/refunds"]::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-settings a[href*="/payments/invoices"]::before{ content:"📑"; }
body.rbs-ui.rbs-page-payments-settings a[href*="/payments/reports"]::before{ content:"📊"; }
body.rbs-ui.rbs-page-payments-settings a[href*="/payments/addons"]::before{ content:"✨"; }
body.rbs-ui.rbs-page-payments-settings a[href*="/payments/tax_settings"]::before{ content:"🧮"; }
body.rbs-ui.rbs-page-payments-settings a[href*="/payments/payment_methods"]::before{ content:"💼"; }
body.rbs-ui.rbs-page-payments-settings a[href*="/payments/statements"]::before{ content:"🗂️"; }
body.rbs-ui.rbs-page-payments-settings a[href*="/payments/daily_close"]::before{ content:"🌙"; }
body.rbs-ui.rbs-page-payments-settings a[href*="/payments/terminal_setup"]::before{ content:"🖥️"; }
body.rbs-ui.rbs-page-payments-settings a[href*="/payments/receipt_templates"]::before{ content:"🧾"; }
body.rbs-ui.rbs-page-payments-settings a[href*="/booking/"]::before{ content:"📅"; }

body.rbs-ui.rbs-page-payments-settings .btn.primary, body.rbs-ui.rbs-page-payments-settings .main-action, body.rbs-ui.rbs-page-payments-settings button[type="submit"].btn{
    border:none !important;
    color:#fff !important;
    background:linear-gradient(135deg, #7c3aed 0%, #ec4899 55%, #f97316 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.28) !important;
}

body.rbs-ui.rbs-page-payments-settings .btn.primary::before, body.rbs-ui.rbs-page-payments-settings .main-action::before, body.rbs-ui.rbs-page-payments-settings button[type="submit"].btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-settings .btn.secondary, body.rbs-ui.rbs-page-payments-settings .btn.small, body.rbs-ui.rbs-page-payments-settings .text-link, body.rbs-ui.rbs-page-payments-settings .secondary-link, body.rbs-ui.rbs-page-payments-settings .utility-link, body.rbs-ui.rbs-page-payments-settings .help-link{
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
    border-color:#cbd5e1 !important;
    color:#1e293b !important;
}

body.rbs-ui.rbs-page-payments-settings .btn.small{
    min-height:40px !important;
    padding:0 14px !important;
    border-radius:12px !important;
}

body.rbs-ui.rbs-page-payments-settings .hero .btn{
    background:linear-gradient(135deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.10) 100%) !important;
    border:1px solid rgba(255,255,255,.26) !important;
    color:#fff !important;
    box-shadow:0 16px 30px rgba(15,23,42,.20) !important;
}

body.rbs-ui.rbs-page-payments-settings .hero .btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.26);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-settings .hero .btn.primary{
    background:linear-gradient(135deg,#22c55e 0%,#0ea5e9 100%) !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(14,165,233,.28) !important;
}

body.rbs-ui.rbs-page-payments-settings .actions .btn:nth-child(1){
    background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%) !important;
    border-color:#bfdbfe !important;
    color:#1d4ed8 !important;
}

body.rbs-ui.rbs-page-payments-settings .actions .btn:nth-child(2){
    background:linear-gradient(180deg,#ffffff 0%,#f5f3ff 100%) !important;
    border-color:#ddd6fe !important;
    color:#6d28d9 !important;
}

body.rbs-ui.rbs-page-payments-settings .actions .btn:last-child{
    background:linear-gradient(135deg,#fb7185 0%,#ef4444 100%) !important;
    color:#fff !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(239,68,68,.28) !important;
}

body.rbs-ui.rbs-page-payments-settings .actions .btn:last-child::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-settings .nav-card{
    border-radius:24px !important;
    border:none !important;
    background:linear-gradient(135deg,#0f172a 0%,#334155 40%,#7c3aed 100%) !important;
    color:#fff !important;
    box-shadow:0 20px 40px rgba(15,23,42,.18) !important;
}

body.rbs-ui.rbs-page-payments-settings .nav-card h3, body.rbs-ui.rbs-page-payments-settings .nav-card p, body.rbs-ui.rbs-page-payments-settings .nav-card .nav-arrow{
    color:#fff !important;
}

body.rbs-ui.rbs-page-payments-settings .nav-card .nav-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    border-radius:18px;
    background:rgba(255,255,255,.14);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}

body.rbs-ui.rbs-page-payments-settings .quick-view-btn{
    min-height:58px !important;
    border-radius:18px !important;
    box-shadow:0 16px 30px rgba(15,23,42,.10) !important;
}

body.rbs-ui.rbs-page-payments-settings .quick-view-btn.active-view{
    background:linear-gradient(135deg,#7c3aed 0%,#ec4899 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.26) !important;
}

body.rbs-ui.rbs-page-payments-settings .quick-view-btn .quick-view-icon{
    width:34px !important;
    height:34px !important;
}

body.rbs-ui.rbs-page-payments-settings .action-group .btn, body.rbs-ui.rbs-page-payments-settings td .btn{
    min-height:40px !important;
    padding:0 14px !important;
}

/* Migrated from /payments/statements.php (page-scoped). */
body.rbs-ui.rbs-page-payments-statements{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --enabled-bg:#f0fdf4;
    --enabled-line:#bbf7d0;
    --enabled-text:#166534;
}

body.rbs-ui.rbs-page-payments-statements *{box-sizing:border-box}

body.rbs-ui.rbs-page-payments-statements{
    margin:0;
    font-family:Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}

body.rbs-ui.rbs-page-payments-statements .wrap{
    max-width:1400px;
    margin:0 auto;
    padding:28px 20px 40px;
}

body.rbs-ui.rbs-page-payments-statements .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-payments-statements .topbar-left{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    min-width:0;
}

body.rbs-ui.rbs-page-payments-statements .page-logo-wrap{
    margin:0;
    flex:0 0 auto;
}

body.rbs-ui.rbs-page-payments-statements .page-logo-link{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
}

body.rbs-ui.rbs-page-payments-statements .page-logo{
    display:block;
    width:auto;
    max-height:48px;
    max-width:180px;
}

body.rbs-ui.rbs-page-payments-statements .title h1{
    margin:0 0 6px;
    font-size:32px;
}

body.rbs-ui.rbs-page-payments-statements .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}

body.rbs-ui.rbs-page-payments-statements .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-payments-statements .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
}

body.rbs-ui.rbs-page-payments-statements .btn.primary{
    background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-payments-statements .hero{
    background:linear-gradient(135deg,#1e293b 0%,#334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:22px;
}

body.rbs-ui.rbs-page-payments-statements .hero h2{
    margin:0 0 10px;
    font-size:28px;
}

body.rbs-ui.rbs-page-payments-statements .hero p{
    margin:0;
    max-width:860px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}

body.rbs-ui.rbs-page-payments-statements .summary-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:18px;
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-payments-statements .summary-card{
    background:var(--enabled-bg);
    border:1px solid var(--enabled-line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-payments-statements .summary-card .label{
    margin:0 0 8px;
    font-size:13px;
    color:#166534;
    font-weight:700;
}

body.rbs-ui.rbs-page-payments-statements .summary-card .value{
    margin:0;
    font-size:28px;
    color:var(--enabled-text);
    font-weight:800;
    line-height:1.15;
}

body.rbs-ui.rbs-page-payments-statements .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-payments-statements .card h3{
    margin:0 0 14px;
    font-size:20px;
}

body.rbs-ui.rbs-page-payments-statements .card p.helper{
    margin:0 0 16px;
    color:var(--muted);
    line-height:1.55;
}

body.rbs-ui.rbs-page-payments-statements .filters{
    display:grid;
    grid-template-columns:2fr 1fr 1.2fr 120px auto;
    gap:12px;
    align-items:end;
}

body.rbs-ui.rbs-page-payments-statements .field{
    display:flex;
    flex-direction:column;
    gap:6px;
}

body.rbs-ui.rbs-page-payments-statements .field label{
    font-size:13px;
    font-weight:700;
    color:var(--text);
}

body.rbs-ui.rbs-page-payments-statements .input, body.rbs-ui.rbs-page-payments-statements .select{
    width:100%;
    min-height:44px;
    padding:10px 12px;
    border-radius:12px;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    font:inherit;
}

body.rbs-ui.rbs-page-payments-statements .detail-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-payments-statements .summary-boxes{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

body.rbs-ui.rbs-page-payments-statements .summary-box{
    background:var(--enabled-bg);
    border:1px solid var(--enabled-line);
    border-radius:16px;
    padding:14px;
}

body.rbs-ui.rbs-page-payments-statements .summary-box .label{
    display:block;
    font-size:12px;
    color:#166534;
    margin-bottom:6px;
    font-weight:700;
}

body.rbs-ui.rbs-page-payments-statements .summary-box .value{
    font-size:17px;
    font-weight:700;
    color:var(--enabled-text);
}

body.rbs-ui.rbs-page-payments-statements .summary-box.full{
    grid-column:1 / -1;
}

body.rbs-ui.rbs-page-payments-statements .table-wrap{
    overflow:auto;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
}

body.rbs-ui.rbs-page-payments-statements table{
    width:100%;
    border-collapse:collapse;
}

body.rbs-ui.rbs-page-payments-statements th, body.rbs-ui.rbs-page-payments-statements td{
    padding:12px 14px;
    text-align:left;
    vertical-align:top;
    border-bottom:1px solid #edf2f7;
    font-size:14px;
}

body.rbs-ui.rbs-page-payments-statements th{
    background:#f8fafc;
    color:var(--muted);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.04em;
}

body.rbs-ui.rbs-page-payments-statements tr:last-child td{
    border-bottom:none;
}

body.rbs-ui.rbs-page-payments-statements .badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
    border:1px solid transparent;
}

body.rbs-ui.rbs-page-payments-statements .badge-due{background:#ffedd5;border-color:#fed7aa;color:#c2410c;}
body.rbs-ui.rbs-page-payments-statements .badge-paid{background:#dcfce7;border-color:#bbf7d0;color:#166534;}
body.rbs-ui.rbs-page-payments-statements .badge-open_bills{background:#dbeafe;border-color:#bfdbfe;color:#1d4ed8;}
body.rbs-ui.rbs-page-payments-statements .badge-open{background:#dbeafe;border-color:#bfdbfe;color:#1d4ed8;}
body.rbs-ui.rbs-page-payments-statements .badge-closed{background:#f1f5f9;border-color:#cbd5e1;color:#334155;}
body.rbs-ui.rbs-page-payments-statements .badge-void{background:#fee2e2;border-color:#fecaca;color:#b91c1c;}
body.rbs-ui.rbs-page-payments-statements .badge-payment{background:#dcfce7;border-color:#bbf7d0;color:#166534;}
body.rbs-ui.rbs-page-payments-statements .badge-refund{background:#ffedd5;border-color:#fed7aa;color:#c2410c;}

body.rbs-ui.rbs-page-payments-statements .mono{
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

body.rbs-ui.rbs-page-payments-statements .muted{
    color:var(--muted);
}

body.rbs-ui.rbs-page-payments-statements .empty{
    padding:18px;
    color:var(--muted);
}

@media (max-width:1100px){
    body.rbs-ui.rbs-page-payments-statements .summary-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    body.rbs-ui.rbs-page-payments-statements .filters, body.rbs-ui.rbs-page-payments-statements .detail-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width:700px){
    body.rbs-ui.rbs-page-payments-statements .title h1{ font-size:26px; }
    body.rbs-ui.rbs-page-payments-statements .hero h2{ font-size:24px; }

    body.rbs-ui.rbs-page-payments-statements .page-logo{
        max-height:40px;
        max-width:140px;
    }

    body.rbs-ui.rbs-page-payments-statements .summary-grid, body.rbs-ui.rbs-page-payments-statements .summary-boxes{
        grid-template-columns:1fr;
    }
}

/* louder fun button pass */
body.rbs-ui.rbs-page-payments-statements .btn, body.rbs-ui.rbs-page-payments-statements .text-link, body.rbs-ui.rbs-page-payments-statements .main-action, body.rbs-ui.rbs-page-payments-statements .secondary-link, body.rbs-ui.rbs-page-payments-statements .utility-link, body.rbs-ui.rbs-page-payments-statements .help-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border-radius:16px !important;
    font-weight:800 !important;
    letter-spacing:.01em;
    box-shadow:0 16px 30px rgba(15,23,42,.14) !important;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease, background .18s ease !important;
}

body.rbs-ui.rbs-page-payments-statements .btn:hover, body.rbs-ui.rbs-page-payments-statements .text-link:hover, body.rbs-ui.rbs-page-payments-statements .main-action:hover, body.rbs-ui.rbs-page-payments-statements .secondary-link:hover, body.rbs-ui.rbs-page-payments-statements .utility-link:hover, body.rbs-ui.rbs-page-payments-statements .help-link:hover{
    transform:translateY(-2px) scale(1.01);
    box-shadow:0 20px 36px rgba(15,23,42,.18) !important;
    filter:saturate(1.08);
}

body.rbs-ui.rbs-page-payments-statements .btn::before, body.rbs-ui.rbs-page-payments-statements .text-link::before, body.rbs-ui.rbs-page-payments-statements .main-action::before, body.rbs-ui.rbs-page-payments-statements .secondary-link::before, body.rbs-ui.rbs-page-payments-statements .utility-link::before, body.rbs-ui.rbs-page-payments-statements .help-link::before{
    content:"✦";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:999px;
    background:rgba(255,255,255,.9);
    border:1px solid rgba(148,163,184,.25);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
    font-size:14px;
    line-height:1;
    flex:0 0 28px;
}

body.rbs-ui.rbs-page-payments-statements a[href*="/dashboard"]::before{ content:"🏠"; }
body.rbs-ui.rbs-page-payments-statements a[href*="/logout"]::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-statements a[href*="/admin"]::before{ content:"🛠️"; }
body.rbs-ui.rbs-page-payments-statements a[href*="/settings"]::before{ content:"⚙️"; }
body.rbs-ui.rbs-page-payments-statements a[href*="/payment_log"]::before{ content:"📘"; }
body.rbs-ui.rbs-page-payments-statements a[href*="/payments/folios"]::before{ content:"📄"; }
body.rbs-ui.rbs-page-payments-statements a[href*="/payments/payments"]::before{ content:"💳"; }
body.rbs-ui.rbs-page-payments-statements a[href*="/payments/charges"]::before{ content:"🧾"; }
body.rbs-ui.rbs-page-payments-statements a[href*="/payments/refunds"]::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-statements a[href*="/payments/invoices"]::before{ content:"📑"; }
body.rbs-ui.rbs-page-payments-statements a[href*="/payments/reports"]::before{ content:"📊"; }
body.rbs-ui.rbs-page-payments-statements a[href*="/payments/addons"]::before{ content:"✨"; }
body.rbs-ui.rbs-page-payments-statements a[href*="/payments/tax_settings"]::before{ content:"🧮"; }
body.rbs-ui.rbs-page-payments-statements a[href*="/payments/payment_methods"]::before{ content:"💼"; }
body.rbs-ui.rbs-page-payments-statements a[href*="/payments/statements"]::before{ content:"🗂️"; }
body.rbs-ui.rbs-page-payments-statements a[href*="/payments/daily_close"]::before{ content:"🌙"; }
body.rbs-ui.rbs-page-payments-statements a[href*="/payments/terminal_setup"]::before{ content:"🖥️"; }
body.rbs-ui.rbs-page-payments-statements a[href*="/payments/receipt_templates"]::before{ content:"🧾"; }
body.rbs-ui.rbs-page-payments-statements a[href*="/booking/"]::before{ content:"📅"; }

body.rbs-ui.rbs-page-payments-statements .btn.primary, body.rbs-ui.rbs-page-payments-statements .main-action, body.rbs-ui.rbs-page-payments-statements button[type="submit"].btn{
    border:none !important;
    color:#fff !important;
    background:linear-gradient(135deg, #7c3aed 0%, #ec4899 55%, #f97316 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.28) !important;
}

body.rbs-ui.rbs-page-payments-statements .btn.primary::before, body.rbs-ui.rbs-page-payments-statements .main-action::before, body.rbs-ui.rbs-page-payments-statements button[type="submit"].btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-statements .btn.secondary, body.rbs-ui.rbs-page-payments-statements .btn.small, body.rbs-ui.rbs-page-payments-statements .text-link, body.rbs-ui.rbs-page-payments-statements .secondary-link, body.rbs-ui.rbs-page-payments-statements .utility-link, body.rbs-ui.rbs-page-payments-statements .help-link{
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
    border-color:#cbd5e1 !important;
    color:#1e293b !important;
}

body.rbs-ui.rbs-page-payments-statements .btn.small{
    min-height:40px !important;
    padding:0 14px !important;
    border-radius:12px !important;
}

body.rbs-ui.rbs-page-payments-statements .hero .btn{
    background:linear-gradient(135deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.10) 100%) !important;
    border:1px solid rgba(255,255,255,.26) !important;
    color:#fff !important;
    box-shadow:0 16px 30px rgba(15,23,42,.20) !important;
}

body.rbs-ui.rbs-page-payments-statements .hero .btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.26);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-statements .hero .btn.primary{
    background:linear-gradient(135deg,#22c55e 0%,#0ea5e9 100%) !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(14,165,233,.28) !important;
}

body.rbs-ui.rbs-page-payments-statements .actions .btn:nth-child(1){
    background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%) !important;
    border-color:#bfdbfe !important;
    color:#1d4ed8 !important;
}

body.rbs-ui.rbs-page-payments-statements .actions .btn:nth-child(2){
    background:linear-gradient(180deg,#ffffff 0%,#f5f3ff 100%) !important;
    border-color:#ddd6fe !important;
    color:#6d28d9 !important;
}

body.rbs-ui.rbs-page-payments-statements .actions .btn:last-child{
    background:linear-gradient(135deg,#fb7185 0%,#ef4444 100%) !important;
    color:#fff !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(239,68,68,.28) !important;
}

body.rbs-ui.rbs-page-payments-statements .actions .btn:last-child::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-statements .nav-card{
    border-radius:24px !important;
    border:none !important;
    background:linear-gradient(135deg,#0f172a 0%,#334155 40%,#7c3aed 100%) !important;
    color:#fff !important;
    box-shadow:0 20px 40px rgba(15,23,42,.18) !important;
}

body.rbs-ui.rbs-page-payments-statements .nav-card h3, body.rbs-ui.rbs-page-payments-statements .nav-card p, body.rbs-ui.rbs-page-payments-statements .nav-card .nav-arrow{
    color:#fff !important;
}

body.rbs-ui.rbs-page-payments-statements .nav-card .nav-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    border-radius:18px;
    background:rgba(255,255,255,.14);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}

body.rbs-ui.rbs-page-payments-statements .quick-view-btn{
    min-height:58px !important;
    border-radius:18px !important;
    box-shadow:0 16px 30px rgba(15,23,42,.10) !important;
}

body.rbs-ui.rbs-page-payments-statements .quick-view-btn.active-view{
    background:linear-gradient(135deg,#7c3aed 0%,#ec4899 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.26) !important;
}

body.rbs-ui.rbs-page-payments-statements .quick-view-btn .quick-view-icon{
    width:34px !important;
    height:34px !important;
}

body.rbs-ui.rbs-page-payments-statements .action-group .btn, body.rbs-ui.rbs-page-payments-statements td .btn{
    min-height:40px !important;
    padding:0 14px !important;
}

/* Migrated from /payments/tax_settings.php (page-scoped). */
body.rbs-ui.rbs-page-payments-tax-settings{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --enabled-bg:#f0fdf4;
    --enabled-line:#bbf7d0;
    --enabled-text:#166534;
    --error-bg:#fef2f2;
    --error-line:#fecaca;
    --error-text:#b91c1c;
    --warn-bg:#fff7ed;
    --warn-line:#fed7aa;
    --warn-text:#c2410c;
}

body.rbs-ui.rbs-page-payments-tax-settings *{box-sizing:border-box}
body.rbs-ui.rbs-page-payments-tax-settings{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--text);}
body.rbs-ui.rbs-page-payments-tax-settings .wrap{max-width:1400px;margin:0 auto;padding:28px 20px 40px;}
body.rbs-ui.rbs-page-payments-tax-settings .topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap;}
body.rbs-ui.rbs-page-payments-tax-settings .topbar-left{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-width:0;}
body.rbs-ui.rbs-page-payments-tax-settings .page-logo-wrap{margin:0;flex:0 0 auto;}
body.rbs-ui.rbs-page-payments-tax-settings .page-logo-link{display:inline-flex;align-items:center;text-decoration:none;}
body.rbs-ui.rbs-page-payments-tax-settings .page-logo{display:block;width:auto;max-height:48px;max-width:180px;}
body.rbs-ui.rbs-page-payments-tax-settings .title h1{margin:0 0 6px;font-size:32px;}
body.rbs-ui.rbs-page-payments-tax-settings .title p{margin:0;color:var(--muted);font-size:15px;}
body.rbs-ui.rbs-page-payments-tax-settings .actions{display:flex;gap:10px;flex-wrap:wrap;}
body.rbs-ui.rbs-page-payments-tax-settings .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:12px;text-decoration:none;font-weight:700;border:1px solid var(--line);background:#fff;color:var(--text);font:inherit;cursor:pointer;}
body.rbs-ui.rbs-page-payments-tax-settings .btn.primary{background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);color:#fff;border:none;}
body.rbs-ui.rbs-page-payments-tax-settings .btn.danger{background:#fff;border-color:#fecaca;color:#b91c1c;}
body.rbs-ui.rbs-page-payments-tax-settings .btn.danger:hover{background:#fef2f2;}
body.rbs-ui.rbs-page-payments-tax-settings .btn.icon-btn{min-width:44px;width:44px;padding:0;font-size:17px;line-height:1;}
body.rbs-ui.rbs-page-payments-tax-settings .trash-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:40px;min-width:40px;height:40px;padding:0;border-radius:12px;border:1px solid #fecaca;background:#fff;color:#b91c1c;font-size:18px;line-height:1;cursor:pointer;box-shadow:none;vertical-align:middle;}
body.rbs-ui.rbs-page-payments-tax-settings .trash-btn:hover{background:#fef2f2;border-color:#fca5a5;}
body.rbs-ui.rbs-page-payments-tax-settings .trash-btn::before{content:none !important;display:none !important;}
body.rbs-ui.rbs-page-payments-tax-settings .row-actions{display:inline-flex;gap:8px;align-items:center;flex-wrap:nowrap;}
body.rbs-ui.rbs-page-payments-tax-settings .hero{background:linear-gradient(135deg,#1e293b 0%,#334155 100%);color:#fff;border-radius:24px;padding:28px;box-shadow:var(--shadow);margin-bottom:22px;}
body.rbs-ui.rbs-page-payments-tax-settings .hero h2{margin:0 0 10px;font-size:28px;}
body.rbs-ui.rbs-page-payments-tax-settings .hero p{margin:0;max-width:900px;line-height:1.6;color:rgba(255,255,255,.88);}
body.rbs-ui.rbs-page-payments-tax-settings .flash{margin-bottom:18px;border-radius:16px;padding:14px 16px;border:1px solid transparent;box-shadow:var(--shadow);font-weight:700;}
body.rbs-ui.rbs-page-payments-tax-settings .flash.success{background:var(--enabled-bg);border-color:var(--enabled-line);color:var(--enabled-text);}
body.rbs-ui.rbs-page-payments-tax-settings .flash.error{background:var(--error-bg);border-color:var(--error-line);color:var(--error-text);}
body.rbs-ui.rbs-page-payments-tax-settings .summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;margin-bottom:18px;}
body.rbs-ui.rbs-page-payments-tax-settings .summary-card{background:var(--enabled-bg);border:1px solid var(--enabled-line);border-radius:20px;padding:20px;box-shadow:var(--shadow);}
body.rbs-ui.rbs-page-payments-tax-settings .summary-card .label{margin:0 0 8px;font-size:13px;color:#166534;font-weight:700;}
body.rbs-ui.rbs-page-payments-tax-settings .summary-card .value{margin:0;font-size:28px;color:var(--enabled-text);font-weight:800;line-height:1.15;}
body.rbs-ui.rbs-page-payments-tax-settings .card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow);margin-bottom:18px;}
body.rbs-ui.rbs-page-payments-tax-settings .card h3{margin:0 0 14px;font-size:20px;}
body.rbs-ui.rbs-page-payments-tax-settings .card p.helper{margin:0 0 16px;color:var(--muted);line-height:1.55;}
body.rbs-ui.rbs-page-payments-tax-settings .grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
body.rbs-ui.rbs-page-payments-tax-settings .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
body.rbs-ui.rbs-page-payments-tax-settings .field{display:flex;flex-direction:column;gap:6px;}
body.rbs-ui.rbs-page-payments-tax-settings .field.full{grid-column:1 / -1;}
body.rbs-ui.rbs-page-payments-tax-settings .field label{font-size:13px;font-weight:700;color:var(--text);}
body.rbs-ui.rbs-page-payments-tax-settings .input, body.rbs-ui.rbs-page-payments-tax-settings .select, body.rbs-ui.rbs-page-payments-tax-settings .textarea{width:100%;min-height:44px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--text);font:inherit;}
body.rbs-ui.rbs-page-payments-tax-settings .textarea{min-height:110px;resize:vertical;}
body.rbs-ui.rbs-page-payments-tax-settings .check-row{display:flex;flex-wrap:wrap;gap:18px;align-items:center;padding-top:6px;}
body.rbs-ui.rbs-page-payments-tax-settings .check-row label{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13px;color:var(--text);}
body.rbs-ui.rbs-page-payments-tax-settings .check-row input[type="checkbox"]{width:16px;height:16px;}
body.rbs-ui.rbs-page-payments-tax-settings .links{display:flex;flex-wrap:wrap;gap:10px;}
body.rbs-ui.rbs-page-payments-tax-settings .link-pill{display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:600;text-decoration:none;border:1px solid #bbf7d0;background:#dcfce7;color:#166534;}
body.rbs-ui.rbs-page-payments-tax-settings .table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff;}
body.rbs-ui.rbs-page-payments-tax-settings table{width:100%;border-collapse:collapse;}
body.rbs-ui.rbs-page-payments-tax-settings th, body.rbs-ui.rbs-page-payments-tax-settings td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid #edf2f7;font-size:14px;}
body.rbs-ui.rbs-page-payments-tax-settings th{background:#f8fafc;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;}
body.rbs-ui.rbs-page-payments-tax-settings tr:last-child td{border-bottom:none;}
body.rbs-ui.rbs-page-payments-tax-settings .badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;border:1px solid transparent;}
body.rbs-ui.rbs-page-payments-tax-settings .badge.default{background:#dcfce7;border-color:#bbf7d0;color:#166534;}
body.rbs-ui.rbs-page-payments-tax-settings .badge.active{background:#dbeafe;border-color:#bfdbfe;color:#1d4ed8;}
body.rbs-ui.rbs-page-payments-tax-settings .badge.inactive{background:#f1f5f9;border-color:#cbd5e1;color:#334155;}
body.rbs-ui.rbs-page-payments-tax-settings .badge.warn{background:#fff7ed;border-color:#fed7aa;color:#c2410c;}
body.rbs-ui.rbs-page-payments-tax-settings .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;}
body.rbs-ui.rbs-page-payments-tax-settings .muted{color:var(--muted);}
body.rbs-ui.rbs-page-payments-tax-settings .empty{padding:18px;color:var(--muted);}

@media (max-width:1200px){
    body.rbs-ui.rbs-page-payments-tax-settings .summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:1100px){
    body.rbs-ui.rbs-page-payments-tax-settings .grid{grid-template-columns:1fr;}
}
@media (max-width:700px){
    body.rbs-ui.rbs-page-payments-tax-settings .title h1{font-size:26px;}
    body.rbs-ui.rbs-page-payments-tax-settings .hero h2{font-size:24px;}
    body.rbs-ui.rbs-page-payments-tax-settings .page-logo{max-height:40px;max-width:140px;}
    body.rbs-ui.rbs-page-payments-tax-settings .summary-grid, body.rbs-ui.rbs-page-payments-tax-settings .form-grid{grid-template-columns:1fr;}
    body.rbs-ui.rbs-page-payments-tax-settings .check-row{flex-direction:column;align-items:flex-start;gap:10px;}
}

/* louder fun button pass */
body.rbs-ui.rbs-page-payments-tax-settings .btn, body.rbs-ui.rbs-page-payments-tax-settings .text-link, body.rbs-ui.rbs-page-payments-tax-settings .main-action, body.rbs-ui.rbs-page-payments-tax-settings .secondary-link, body.rbs-ui.rbs-page-payments-tax-settings .utility-link, body.rbs-ui.rbs-page-payments-tax-settings .help-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border-radius:16px !important;
    font-weight:800 !important;
    letter-spacing:.01em;
    box-shadow:0 16px 30px rgba(15,23,42,.14) !important;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease, background .18s ease !important;
}

body.rbs-ui.rbs-page-payments-tax-settings .btn:hover, body.rbs-ui.rbs-page-payments-tax-settings .text-link:hover, body.rbs-ui.rbs-page-payments-tax-settings .main-action:hover, body.rbs-ui.rbs-page-payments-tax-settings .secondary-link:hover, body.rbs-ui.rbs-page-payments-tax-settings .utility-link:hover, body.rbs-ui.rbs-page-payments-tax-settings .help-link:hover{
    transform:translateY(-2px) scale(1.01);
    box-shadow:0 20px 36px rgba(15,23,42,.18) !important;
    filter:saturate(1.08);
}

body.rbs-ui.rbs-page-payments-tax-settings .btn::before, body.rbs-ui.rbs-page-payments-tax-settings .text-link::before, body.rbs-ui.rbs-page-payments-tax-settings .main-action::before, body.rbs-ui.rbs-page-payments-tax-settings .secondary-link::before, body.rbs-ui.rbs-page-payments-tax-settings .utility-link::before, body.rbs-ui.rbs-page-payments-tax-settings .help-link::before{
    content:"✦";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:999px;
    background:rgba(255,255,255,.9);
    border:1px solid rgba(148,163,184,.25);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95);
    font-size:14px;
    line-height:1;
    flex:0 0 28px;
}

body.rbs-ui.rbs-page-payments-tax-settings a[href*="/dashboard"]::before{ content:"🏠"; }
body.rbs-ui.rbs-page-payments-tax-settings a[href*="/logout"]::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-tax-settings a[href*="/admin"]::before{ content:"🛠️"; }
body.rbs-ui.rbs-page-payments-tax-settings a[href*="/settings"]::before{ content:"⚙️"; }
body.rbs-ui.rbs-page-payments-tax-settings a[href*="/payment_log"]::before{ content:"📘"; }
body.rbs-ui.rbs-page-payments-tax-settings a[href*="/payments/folios"]::before{ content:"📄"; }
body.rbs-ui.rbs-page-payments-tax-settings a[href*="/payments/payments"]::before{ content:"💳"; }
body.rbs-ui.rbs-page-payments-tax-settings a[href*="/payments/charges"]::before{ content:"🧾"; }
body.rbs-ui.rbs-page-payments-tax-settings a[href*="/payments/refunds"]::before{ content:"↩️"; }
body.rbs-ui.rbs-page-payments-tax-settings a[href*="/payments/invoices"]::before{ content:"📑"; }
body.rbs-ui.rbs-page-payments-tax-settings a[href*="/payments/reports"]::before{ content:"📊"; }
body.rbs-ui.rbs-page-payments-tax-settings a[href*="/payments/addons"]::before{ content:"✨"; }
body.rbs-ui.rbs-page-payments-tax-settings a[href*="/payments/tax_settings"]::before{ content:"🧮"; }
body.rbs-ui.rbs-page-payments-tax-settings a[href*="/payments/payment_methods"]::before{ content:"💼"; }
body.rbs-ui.rbs-page-payments-tax-settings a[href*="/payments/statements"]::before{ content:"🗂️"; }
body.rbs-ui.rbs-page-payments-tax-settings a[href*="/payments/daily_close"]::before{ content:"🌙"; }
body.rbs-ui.rbs-page-payments-tax-settings a[href*="/payments/terminal_setup"]::before{ content:"🖥️"; }
body.rbs-ui.rbs-page-payments-tax-settings a[href*="/payments/receipt_templates"]::before{ content:"🧾"; }
body.rbs-ui.rbs-page-payments-tax-settings a[href*="/booking/"]::before{ content:"📅"; }

body.rbs-ui.rbs-page-payments-tax-settings .btn.primary, body.rbs-ui.rbs-page-payments-tax-settings .main-action, body.rbs-ui.rbs-page-payments-tax-settings button[type="submit"].btn{
    border:none !important;
    color:#fff !important;
    background:linear-gradient(135deg, #7c3aed 0%, #ec4899 55%, #f97316 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.28) !important;
}

body.rbs-ui.rbs-page-payments-tax-settings .btn.primary::before, body.rbs-ui.rbs-page-payments-tax-settings .main-action::before, body.rbs-ui.rbs-page-payments-tax-settings button[type="submit"].btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-tax-settings .btn.secondary, body.rbs-ui.rbs-page-payments-tax-settings .btn.small, body.rbs-ui.rbs-page-payments-tax-settings .text-link, body.rbs-ui.rbs-page-payments-tax-settings .secondary-link, body.rbs-ui.rbs-page-payments-tax-settings .utility-link, body.rbs-ui.rbs-page-payments-tax-settings .help-link{
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
    border-color:#cbd5e1 !important;
    color:#1e293b !important;
}

body.rbs-ui.rbs-page-payments-tax-settings .btn.small{
    min-height:40px !important;
    padding:0 14px !important;
    border-radius:12px !important;
}

body.rbs-ui.rbs-page-payments-tax-settings .hero .btn{
    background:linear-gradient(135deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.10) 100%) !important;
    border:1px solid rgba(255,255,255,.26) !important;
    color:#fff !important;
    box-shadow:0 16px 30px rgba(15,23,42,.20) !important;
}

body.rbs-ui.rbs-page-payments-tax-settings .hero .btn::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.26);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-tax-settings .hero .btn.primary{
    background:linear-gradient(135deg,#22c55e 0%,#0ea5e9 100%) !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(14,165,233,.28) !important;
}

body.rbs-ui.rbs-page-payments-tax-settings .actions .btn:nth-child(1){
    background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%) !important;
    border-color:#bfdbfe !important;
    color:#1d4ed8 !important;
}

body.rbs-ui.rbs-page-payments-tax-settings .actions .btn:nth-child(2){
    background:linear-gradient(180deg,#ffffff 0%,#f5f3ff 100%) !important;
    border-color:#ddd6fe !important;
    color:#6d28d9 !important;
}

body.rbs-ui.rbs-page-payments-tax-settings .actions .btn:last-child{
    background:linear-gradient(135deg,#fb7185 0%,#ef4444 100%) !important;
    color:#fff !important;
    border:none !important;
    box-shadow:0 18px 34px rgba(239,68,68,.28) !important;
}

body.rbs-ui.rbs-page-payments-tax-settings .actions .btn:last-child::before{
    background:rgba(255,255,255,.18);
    color:#fff;
    border-color:rgba(255,255,255,.24);
    box-shadow:none;
}

body.rbs-ui.rbs-page-payments-tax-settings .nav-card{
    border-radius:24px !important;
    border:none !important;
    background:linear-gradient(135deg,#0f172a 0%,#334155 40%,#7c3aed 100%) !important;
    color:#fff !important;
    box-shadow:0 20px 40px rgba(15,23,42,.18) !important;
}

body.rbs-ui.rbs-page-payments-tax-settings .nav-card h3, body.rbs-ui.rbs-page-payments-tax-settings .nav-card p, body.rbs-ui.rbs-page-payments-tax-settings .nav-card .nav-arrow{
    color:#fff !important;
}

body.rbs-ui.rbs-page-payments-tax-settings .nav-card .nav-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    border-radius:18px;
    background:rgba(255,255,255,.14);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}

body.rbs-ui.rbs-page-payments-tax-settings .quick-view-btn{
    min-height:58px !important;
    border-radius:18px !important;
    box-shadow:0 16px 30px rgba(15,23,42,.10) !important;
}

body.rbs-ui.rbs-page-payments-tax-settings .quick-view-btn.active-view{
    background:linear-gradient(135deg,#7c3aed 0%,#ec4899 100%) !important;
    box-shadow:0 18px 34px rgba(236,72,153,.26) !important;
}

body.rbs-ui.rbs-page-payments-tax-settings .quick-view-btn .quick-view-icon{
    width:34px !important;
    height:34px !important;
}

body.rbs-ui.rbs-page-payments-tax-settings .action-group .btn, body.rbs-ui.rbs-page-payments-tax-settings td .btn{
    min-height:40px !important;
    padding:0 14px !important;
}

/* Migrated from /payments/tax_setup_guide.php (page-scoped). */
body.rbs-ui.rbs-page-payments-tax-setup-guide{--bg:#f4f7fb;--card:#ffffff;--text:#0f172a;--muted:#64748b;--line:#e2e8f0;--brand:#8b5e3c;--brand-dark:#6f472b;--shadow:0 12px 30px rgba(15,23,42,.08);--ok-bg:#f0fdf4;--ok-line:#bbf7d0;--ok-text:#166534;--err-bg:#fef2f2;--err-line:#fecaca;--err-text:#b91c1c;--warn-bg:#fff7ed;--warn-line:#fed7aa;--warn-text:#c2410c;}
body.rbs-ui.rbs-page-payments-tax-setup-guide *{box-sizing:border-box} body.rbs-ui.rbs-page-payments-tax-setup-guide{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--text);} body.rbs-ui.rbs-page-payments-tax-setup-guide .wrap{max-width:1400px;margin:0 auto;padding:28px 20px 40px;} body.rbs-ui.rbs-page-payments-tax-setup-guide .topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap;} body.rbs-ui.rbs-page-payments-tax-setup-guide .topbar-left{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-width:0;} body.rbs-ui.rbs-page-payments-tax-setup-guide .title h1{margin:0 0 6px;font-size:32px;} body.rbs-ui.rbs-page-payments-tax-setup-guide .title p{margin:0;color:var(--muted);font-size:15px;} body.rbs-ui.rbs-page-payments-tax-setup-guide .actions, body.rbs-ui.rbs-page-payments-tax-setup-guide .btn-row{display:flex;gap:10px;flex-wrap:wrap;} body.rbs-ui.rbs-page-payments-tax-setup-guide .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:12px;text-decoration:none;font-weight:800;border:1px solid var(--line);background:#fff;color:var(--text);font:inherit;cursor:pointer;} body.rbs-ui.rbs-page-payments-tax-setup-guide .btn.primary{background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);color:#fff;border:none;} body.rbs-ui.rbs-page-payments-tax-setup-guide .hero{background:linear-gradient(135deg,#1e293b 0%,#334155 100%);color:#fff;border-radius:24px;padding:28px;box-shadow:var(--shadow);margin-bottom:22px;} body.rbs-ui.rbs-page-payments-tax-setup-guide .hero h2{margin:0 0 10px;font-size:28px;} body.rbs-ui.rbs-page-payments-tax-setup-guide .hero p{margin:0;max-width:960px;line-height:1.6;color:rgba(255,255,255,.88);} body.rbs-ui.rbs-page-payments-tax-setup-guide .flash{margin-bottom:18px;border-radius:16px;padding:14px 16px;border:1px solid transparent;box-shadow:var(--shadow);font-weight:700;} body.rbs-ui.rbs-page-payments-tax-setup-guide .flash.success{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok-text);} body.rbs-ui.rbs-page-payments-tax-setup-guide .flash.error{background:var(--err-bg);border-color:var(--err-line);color:var(--err-text);} body.rbs-ui.rbs-page-payments-tax-setup-guide .flash.warn{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn-text);} body.rbs-ui.rbs-page-payments-tax-setup-guide .card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow);margin-bottom:18px;} body.rbs-ui.rbs-page-payments-tax-setup-guide .card h3{margin:0 0 12px;font-size:20px;} body.rbs-ui.rbs-page-payments-tax-setup-guide .helper{margin:0 0 16px;color:var(--muted);line-height:1.55;} body.rbs-ui.rbs-page-payments-tax-setup-guide .grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;} body.rbs-ui.rbs-page-payments-tax-setup-guide .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;} body.rbs-ui.rbs-page-payments-tax-setup-guide .field{display:flex;flex-direction:column;gap:6px;} body.rbs-ui.rbs-page-payments-tax-setup-guide .field.full{grid-column:1/-1;} body.rbs-ui.rbs-page-payments-tax-setup-guide label{font-size:13px;font-weight:800;color:var(--text);} body.rbs-ui.rbs-page-payments-tax-setup-guide .input, body.rbs-ui.rbs-page-payments-tax-setup-guide .select{width:100%;min-height:44px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--text);font:inherit;} body.rbs-ui.rbs-page-payments-tax-setup-guide .check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;} body.rbs-ui.rbs-page-payments-tax-setup-guide .check-card{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;} body.rbs-ui.rbs-page-payments-tax-setup-guide .check-card input{margin-top:3px;} body.rbs-ui.rbs-page-payments-tax-setup-guide .muted{color:var(--muted);} body.rbs-ui.rbs-page-payments-tax-setup-guide .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;} body.rbs-ui.rbs-page-payments-tax-setup-guide .mini{font-size:12px;line-height:1.4;} body.rbs-ui.rbs-page-payments-tax-setup-guide .section-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;} @media (max-width:900px){body.rbs-ui.rbs-page-payments-tax-setup-guide .grid, body.rbs-ui.rbs-page-payments-tax-setup-guide .form-grid, body.rbs-ui.rbs-page-payments-tax-setup-guide .check-list{grid-template-columns:1fr}body.rbs-ui.rbs-page-payments-tax-setup-guide .title h1{font-size:26px}}

/* Migrated from /portal/book.php (page-scoped). */
body.rbs-ui.rbs-page-portal-book{
    --bg:#efe7dc;
    --bg-2:#f8f4ef;
    --card:#ffffff;
    --card-soft:rgba(255,255,255,.82);
    --text:#17212b;
    --muted:#667382;
    --line:rgba(23,33,43,.10);
    --brand:#8b5e3c;
    --brand-dark:#5f3d24;
    --brand-soft:#f3e6d8;
    --gold:#d6a85f;
    --success:#166534;
    --success-bg:#edfdf3;
    --success-line:#bbf7d0;
    --error:#b91c1c;
    --error-bg:#fff1f2;
    --error-line:#fecdd3;
    --info:#1d4ed8;
    --info-bg:#eff6ff;
    --info-line:#bfdbfe;
    --shadow-lg:0 28px 70px rgba(17,24,39,.14);
    --shadow-md:0 18px 40px rgba(17,24,39,.10);
    --shadow-sm:0 10px 24px rgba(17,24,39,.07);
    --focus:#93c5fd;
    --radius-xl:30px;
    --radius-lg:22px;
    --radius-md:16px;
}
body.rbs-ui.rbs-page-portal-book *{box-sizing:border-box}
body.rbs-ui.rbs-page-portal-book, body.rbs-ui.rbs-page-portal-book{margin:0;padding:0}
body.rbs-ui.rbs-page-portal-book{font-family:Arial,sans-serif;color:var(--text);background:radial-gradient(circle at top left, rgba(214,168,95,.22), transparent 28%),radial-gradient(circle at top right, rgba(139,94,60,.16), transparent 22%),linear-gradient(180deg, #f6efe7 0%, #f3ede6 32%, #fbfaf8 100%)}
body.rbs-ui.rbs-page-portal-book .page{max-width:1380px;margin:0 auto;padding:28px 18px 54px}
body.rbs-ui.rbs-page-portal-book .top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;flex-wrap:wrap}
body.rbs-ui.rbs-page-portal-book .brand{display:flex;align-items:center;gap:14px;min-width:0}
body.rbs-ui.rbs-page-portal-book .brand-copy h1{margin:0;font-size:18px;letter-spacing:.08em;text-transform:uppercase}
body.rbs-ui.rbs-page-portal-book .brand-copy p{margin:4px 0 0;color:var(--muted);font-size:14px}
body.rbs-ui.rbs-page-portal-book .secure-pill{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.55);box-shadow:var(--shadow-sm);color:#0f172a;font-weight:700;backdrop-filter:blur(10px)}
body.rbs-ui.rbs-page-portal-book .hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:24px;padding:34px;border-radius:36px;background:linear-gradient(135deg, rgba(14,23,36,.95) 0%, rgba(42,58,75,.92) 48%, rgba(95,61,36,.96) 100%);color:#fff;box-shadow:var(--shadow-lg);margin-bottom:26px}
body.rbs-ui.rbs-page-portal-book .hero:before{content:"";position:absolute;inset:auto -140px -160px auto;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle, rgba(214,168,95,.32), transparent 65%);pointer-events:none}
body.rbs-ui.rbs-page-portal-book .hero-copy, body.rbs-ui.rbs-page-portal-book .hero-panel{position:relative;z-index:1}
body.rbs-ui.rbs-page-portal-book .eyebrow{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
body.rbs-ui.rbs-page-portal-book .hero h2{margin:16px 0 12px;font-size:clamp(34px,5vw,56px);line-height:1.02;letter-spacing:-.03em;max-width:12ch}
body.rbs-ui.rbs-page-portal-book .hero p{margin:0;max-width:58ch;color:rgba(255,255,255,.88);font-size:17px;line-height:1.65}
body.rbs-ui.rbs-page-portal-book .glass{border-radius:24px;padding:20px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(12px);box-shadow:var(--shadow-sm)}
body.rbs-ui.rbs-page-portal-book .glass h3{margin:0 0 10px;font-size:18px}
body.rbs-ui.rbs-page-portal-book .glass p{margin:0;color:rgba(255,255,255,.84);font-size:14px;line-height:1.65}
body.rbs-ui.rbs-page-portal-book .glass-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
body.rbs-ui.rbs-page-portal-book .glass-stat{padding:14px 12px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10)}
body.rbs-ui.rbs-page-portal-book .glass-stat strong{display:block;font-size:22px;margin-bottom:4px}
body.rbs-ui.rbs-page-portal-book .glass-stat span{display:block;font-size:12px;color:rgba(255,255,255,.74);line-height:1.4}
body.rbs-ui.rbs-page-portal-book .flash{padding:16px 18px;border-radius:18px;margin-bottom:16px;border:1px solid transparent;box-shadow:var(--shadow-sm)}
body.rbs-ui.rbs-page-portal-book .flash.success{background:var(--success-bg);border-color:var(--success-line);color:var(--success)}
body.rbs-ui.rbs-page-portal-book .flash.error{background:var(--error-bg);border-color:var(--error-line);color:var(--error)}
body.rbs-ui.rbs-page-portal-book .flash.info{background:var(--info-bg);border-color:var(--info-line);color:var(--info)}
body.rbs-ui.rbs-page-portal-book .content{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:22px;align-items:start}
body.rbs-ui.rbs-page-portal-book .main-card, body.rbs-ui.rbs-page-portal-book .side-card{background:var(--card-soft);border:1px solid rgba(255,255,255,.56);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);backdrop-filter:blur(10px)}
body.rbs-ui.rbs-page-portal-book .main-card{padding:28px}
body.rbs-ui.rbs-page-portal-book .side-card{position:sticky;top:16px;padding:24px}
body.rbs-ui.rbs-page-portal-book .section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:18px;flex-wrap:wrap}
body.rbs-ui.rbs-page-portal-book .section-head h3{margin:0;font-size:28px;letter-spacing:-.02em}
body.rbs-ui.rbs-page-portal-book .section-head p{margin:6px 0 0;color:var(--muted);font-size:15px;line-height:1.6;max-width:62ch}
body.rbs-ui.rbs-page-portal-book .hero-panel{display:flex;flex-direction:column;gap:20px}

body.rbs-ui.rbs-page-portal-book .wizard-shell{display:grid;gap:22px}
body.rbs-ui.rbs-page-portal-book .mobile-step-indicator{display:none;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.9);border:1px solid rgba(23,33,43,.08);box-shadow:var(--shadow-sm)}
body.rbs-ui.rbs-page-portal-book .mobile-step-indicator strong{font-size:13px;letter-spacing:.08em;text-transform:uppercase}
body.rbs-ui.rbs-page-portal-book .mobile-step-indicator span{font-size:13px;color:var(--muted);font-weight:700}
body.rbs-ui.rbs-page-portal-book .wizard-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
body.rbs-ui.rbs-page-portal-book .wizard-progress-item{position:relative;display:flex;align-items:center;gap:12px;min-height:66px;padding:14px 16px;border-radius:20px;border:1px solid rgba(23,33,43,.08);background:rgba(255,255,255,.84);box-shadow:var(--shadow-sm);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}
body.rbs-ui.rbs-page-portal-book .wizard-progress-item .step-index{flex:0 0 auto;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--brand-soft);color:var(--brand-dark);font-size:13px;font-weight:800;box-shadow:inset 0 0 0 1px rgba(139,94,60,.10)}
body.rbs-ui.rbs-page-portal-book .wizard-progress-copy{display:grid;gap:3px;min-width:0}
body.rbs-ui.rbs-page-portal-book .wizard-progress-label{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
body.rbs-ui.rbs-page-portal-book .wizard-progress-title{font-size:15px;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.rbs-ui.rbs-page-portal-book .wizard-progress-item.is-active{background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,249,242,.98) 100%);border-color:rgba(139,94,60,.26);box-shadow:0 0 0 4px rgba(139,94,60,.08), var(--shadow-sm);transform:translateY(-1px)}
body.rbs-ui.rbs-page-portal-book .wizard-progress-item.is-active .step-index{background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);color:#fff}
body.rbs-ui.rbs-page-portal-book .wizard-progress-item.is-complete{border-color:rgba(22,101,52,.18);background:linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(237,253,243,.82) 100%)}
body.rbs-ui.rbs-page-portal-book .wizard-progress-item.is-complete .step-index{background:linear-gradient(180deg,#16a34a 0%,#166534 100%);color:#fff}
body.rbs-ui.rbs-page-portal-book .booking-form{display:block}
body.rbs-ui.rbs-page-portal-book .wizard-window{position:relative;display:none;padding:24px;border-radius:28px;background:#fff;border:1px solid rgba(23,33,43,.08);box-shadow:var(--shadow-sm)}
body.rbs-ui.rbs-page-portal-book .wizard-window.is-active{display:block;animation:wizardIn .24s ease}
@keyframes wizardIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
body.rbs-ui.rbs-page-portal-book .wizard-window-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px;flex-wrap:wrap}
body.rbs-ui.rbs-page-portal-book .wizard-step-tag{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;background:var(--brand-soft);color:var(--brand-dark);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
body.rbs-ui.rbs-page-portal-book .wizard-window h4{margin:10px 0 6px;font-size:24px;letter-spacing:-.03em}
body.rbs-ui.rbs-page-portal-book .wizard-window p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}
body.rbs-ui.rbs-page-portal-book .wizard-window-side{display:grid;gap:10px;min-width:220px}
body.rbs-ui.rbs-page-portal-book .wizard-mini-card{padding:14px 16px;border-radius:18px;background:linear-gradient(180deg,#fffaf4 0%,#fff 100%);border:1px solid rgba(139,94,60,.12)}
body.rbs-ui.rbs-page-portal-book .wizard-mini-card strong{display:block;font-size:14px;margin-bottom:4px}
body.rbs-ui.rbs-page-portal-book .wizard-mini-card span{display:block;color:#5b6470;font-size:13px;line-height:1.55}
body.rbs-ui.rbs-page-portal-book .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
body.rbs-ui.rbs-page-portal-book .field{display:flex;flex-direction:column;gap:8px}
body.rbs-ui.rbs-page-portal-book .field.span-2{grid-column:span 2}
body.rbs-ui.rbs-page-portal-book .field label{font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#445363}
body.rbs-ui.rbs-page-portal-book .field input, body.rbs-ui.rbs-page-portal-book .field textarea{width:100%;border:1px solid rgba(23,33,43,.12);border-radius:16px;background:#fff;color:var(--text);font-size:15px;transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease}
body.rbs-ui.rbs-page-portal-book .field input{min-height:54px;padding:0 16px}
body.rbs-ui.rbs-page-portal-book .field textarea{min-height:130px;padding:14px 16px;resize:vertical}
body.rbs-ui.rbs-page-portal-book .field input:focus, body.rbs-ui.rbs-page-portal-book .field textarea:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 4px rgba(147,197,253,.20)}
body.rbs-ui.rbs-page-portal-book .wizard-inline-note{min-height:20px;font-size:13px;color:var(--muted)}
body.rbs-ui.rbs-page-portal-book .wizard-inline-note.found{color:var(--info);font-weight:700}
body.rbs-ui.rbs-page-portal-book .wizard-inline-note.error{color:var(--error);font-weight:700}
body.rbs-ui.rbs-page-portal-book .wizard-split{display:grid;gap:18px}
body.rbs-ui.rbs-page-portal-book .availability-shell{display:grid;gap:14px}
body.rbs-ui.rbs-page-portal-book .availability-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
body.rbs-ui.rbs-page-portal-book .availability-pill{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:14px 16px;border-radius:18px;background:linear-gradient(180deg,#fff 0%,#fcfbfa 100%);border:1px solid rgba(23,33,43,.08);box-shadow:var(--shadow-sm)}
body.rbs-ui.rbs-page-portal-book .availability-pill.zero{background:#f8fafc;color:var(--muted)}
body.rbs-ui.rbs-page-portal-book .availability-pill span{font-weight:700}
body.rbs-ui.rbs-page-portal-book .availability-pill strong{font-size:22px;color:var(--brand-dark)}
body.rbs-ui.rbs-page-portal-book .availability-pill.zero strong{color:var(--muted)}
body.rbs-ui.rbs-page-portal-book .room-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
body.rbs-ui.rbs-page-portal-book .room-type-option{position:relative;display:block}
body.rbs-ui.rbs-page-portal-book .room-type-option > input[type="radio"], body.rbs-ui.rbs-page-portal-book .room-type-option > input[type="checkbox"]{position:absolute;opacity:0;pointer-events:none}
body.rbs-ui.rbs-page-portal-book .room-type-option.is-disabled{pointer-events:none}
body.rbs-ui.rbs-page-portal-book .room-type-card{display:block;overflow:hidden;min-height:100%;border-radius:26px;background:#fff;border:1px solid rgba(23,33,43,.08);box-shadow:var(--shadow-md);transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, opacity .18s ease;cursor:pointer}
body.rbs-ui.rbs-page-portal-book .room-type-card:hover{transform:translateY(-3px)}
body.rbs-ui.rbs-page-portal-book .room-type-option input:checked + .room-type-card{border-color:rgba(139,94,60,.78);box-shadow:0 0 0 4px rgba(139,94,60,.14), var(--shadow-md);transform:translateY(-2px)}
body.rbs-ui.rbs-page-portal-book .room-type-option.is-disabled .room-type-card{opacity:.58;filter:saturate(.75);cursor:not-allowed;transform:none}
body.rbs-ui.rbs-page-portal-book .room-type-media{position:relative;aspect-ratio:16/10;background:linear-gradient(135deg,#334155 0%,#64748b 100%);overflow:hidden}
body.rbs-ui.rbs-page-portal-book .room-type-image{width:100%;height:100%;object-fit:cover;display:block}
body.rbs-ui.rbs-page-portal-book .room-type-fallback{width:100%;height:100%;display:grid;place-items:center;padding:18px;background:radial-gradient(circle at top right, rgba(214,168,95,.35), transparent 30%),linear-gradient(135deg, #2f3e4e 0%, #495d72 45%, #7b5537 100%);color:#fff;text-align:center}
body.rbs-ui.rbs-page-portal-book .room-type-fallback strong{font-size:28px;line-height:1.1;letter-spacing:-.03em;max-width:9ch}
body.rbs-ui.rbs-page-portal-book .room-media-top{position:absolute;inset:14px 14px auto 14px;display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
body.rbs-ui.rbs-page-portal-book .availability-badge, body.rbs-ui.rbs-page-portal-book .feature-badge{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;backdrop-filter:blur(10px)}
body.rbs-ui.rbs-page-portal-book .availability-badge{background:rgba(255,255,255,.86);color:#14532d;border:1px solid rgba(255,255,255,.65)}
body.rbs-ui.rbs-page-portal-book .availability-badge.zero{color:#475569;background:rgba(248,250,252,.90)}
body.rbs-ui.rbs-page-portal-book .feature-badge{color:#fff;background:rgba(15,23,42,.46);border:1px solid rgba(255,255,255,.16)}
body.rbs-ui.rbs-page-portal-book .room-type-body{display:grid;gap:12px;padding:18px}
body.rbs-ui.rbs-page-portal-book .room-type-title{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
body.rbs-ui.rbs-page-portal-book .room-type-title h5{margin:0;font-size:24px;letter-spacing:-.03em}
body.rbs-ui.rbs-page-portal-book .room-type-price{white-space:nowrap;text-align:right}
body.rbs-ui.rbs-page-portal-book .room-type-price strong{display:block;font-size:22px;color:var(--brand-dark)}
body.rbs-ui.rbs-page-portal-book .room-type-price span{display:block;margin-top:2px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
body.rbs-ui.rbs-page-portal-book .room-meta{display:flex;flex-wrap:wrap;gap:8px}
body.rbs-ui.rbs-page-portal-book .room-meta span{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;background:var(--bg-2);border:1px solid rgba(23,33,43,.08);color:#334155;font-size:13px;font-weight:700}
body.rbs-ui.rbs-page-portal-book .room-desc{margin:0;color:var(--muted);font-size:14px;line-height:1.65}
body.rbs-ui.rbs-page-portal-book .room-type-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:6px}
body.rbs-ui.rbs-page-portal-book .room-qty-label{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
body.rbs-ui.rbs-page-portal-book .room-qty-input{width:92px;min-height:46px;padding:0 12px;border:1px solid rgba(23,33,43,.12);border-radius:14px;background:#fff;color:var(--text);font-size:16px;font-weight:800;text-align:center}
body.rbs-ui.rbs-page-portal-book .room-type-option.is-disabled .room-qty-input{background:#f8fafc;color:#94a3b8}
body.rbs-ui.rbs-page-portal-book .wizard-review-grid{display:grid;gap:12px}
body.rbs-ui.rbs-page-portal-book .wizard-review-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid rgba(23,33,43,.08);box-shadow:var(--shadow-sm)}
body.rbs-ui.rbs-page-portal-book .wizard-review-row span{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
body.rbs-ui.rbs-page-portal-book .wizard-review-row strong{text-align:right;font-size:16px;color:var(--text)}
body.rbs-ui.rbs-page-portal-book .wizard-review-row.total{background:linear-gradient(180deg,#fffaf4 0%,#fff 100%);border-color:rgba(139,94,60,.18)}
body.rbs-ui.rbs-page-portal-book .wizard-review-row.total strong{font-size:20px;color:var(--brand-dark)}
body.rbs-ui.rbs-page-portal-book .wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid rgba(23,33,43,.08)}
body.rbs-ui.rbs-page-portal-book .wizard-actions-left, body.rbs-ui.rbs-page-portal-book .wizard-actions-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
body.rbs-ui.rbs-page-portal-book .wizard-step-note{min-height:20px;font-size:13px;color:var(--muted);line-height:1.55}
body.rbs-ui.rbs-page-portal-book .wizard-step-note.error{color:var(--error);font-weight:700}
body.rbs-ui.rbs-page-portal-book .cta-note{color:var(--muted);font-size:13px;line-height:1.6;max-width:42ch}
body.rbs-ui.rbs-page-portal-book .btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 22px;border-radius:16px;text-decoration:none;font-weight:800;border:1px solid rgba(23,33,43,.08);background:#fff;color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease}
body.rbs-ui.rbs-page-portal-book .btn:hover{transform:translateY(-1px)}
body.rbs-ui.rbs-page-portal-book .btn:disabled{cursor:not-allowed;opacity:.5;transform:none;box-shadow:var(--shadow-sm)}
body.rbs-ui.rbs-page-portal-book .btn.secondary{background:#fff}
body.rbs-ui.rbs-page-portal-book .btn.primary{min-width:240px;background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);color:#fff;border:none;box-shadow:0 18px 32px rgba(95,61,36,.28)}
body.rbs-ui.rbs-page-portal-book .summary-title{margin:0;font-size:24px;letter-spacing:-.03em}
body.rbs-ui.rbs-page-portal-book .summary-sub{margin:8px 0 18px;color:var(--muted);font-size:14px;line-height:1.6}
body.rbs-ui.rbs-page-portal-book .summary-box{display:grid;gap:12px}
body.rbs-ui.rbs-page-portal-book .summary-hero{padding:18px;border-radius:22px;background:linear-gradient(135deg, rgba(139,94,60,.10) 0%, rgba(214,168,95,.12) 100%);border:1px solid rgba(139,94,60,.12)}
body.rbs-ui.rbs-page-portal-book .summary-hero h4{margin:0 0 8px;font-size:18px}
body.rbs-ui.rbs-page-portal-book .summary-hero p{margin:0;color:#52606f;font-size:14px;line-height:1.6}
body.rbs-ui.rbs-page-portal-book .summary-grid{display:grid;gap:10px}
body.rbs-ui.rbs-page-portal-book .summary-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid rgba(23,33,43,.08);box-shadow:var(--shadow-sm)}
body.rbs-ui.rbs-page-portal-book .summary-row span{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
body.rbs-ui.rbs-page-portal-book .summary-row strong{font-size:16px;color:var(--text);text-align:right}
body.rbs-ui.rbs-page-portal-book .summary-row.total{background:linear-gradient(180deg,#fffaf4 0%,#fff 100%);border-color:rgba(139,94,60,.18)}
body.rbs-ui.rbs-page-portal-book .summary-row.total strong{color:var(--brand-dark);font-size:20px}

body.rbs-ui.rbs-page-portal-book .mobile-only-summary{display:none}
@media (max-width:1100px){
    body.rbs-ui.rbs-page-portal-book .hero, body.rbs-ui.rbs-page-portal-book .content{grid-template-columns:1fr}
    body.rbs-ui.rbs-page-portal-book .side-card{position:static}
}
@media (max-width:900px){
    body.rbs-ui.rbs-page-portal-book .wizard-progress{grid-template-columns:repeat(2,minmax(0,1fr))}
    body.rbs-ui.rbs-page-portal-book .availability-list, body.rbs-ui.rbs-page-portal-book .room-type-grid, body.rbs-ui.rbs-page-portal-book .form-grid{grid-template-columns:1fr}
    body.rbs-ui.rbs-page-portal-book .field.span-2{grid-column:span 1}
    body.rbs-ui.rbs-page-portal-book .wizard-window-head{display:grid}
    body.rbs-ui.rbs-page-portal-book .wizard-window-side{min-width:0}
}
@media (max-width:640px){
    body.rbs-ui.rbs-page-portal-book{background:linear-gradient(180deg,#f7f1e9 0%,#faf7f3 100%)}
    body.rbs-ui.rbs-page-portal-book .page{padding:12px 10px 28px}
    body.rbs-ui.rbs-page-portal-book .top{margin-bottom:14px;align-items:flex-start}
    body.rbs-ui.rbs-page-portal-book .brand{gap:10px;align-items:flex-start}
    body.rbs-ui.rbs-page-portal-book .brand-copy h1{font-size:14px;letter-spacing:.06em}
    body.rbs-ui.rbs-page-portal-book .brand-copy p{display:none}
    body.rbs-ui.rbs-page-portal-book .secure-pill{min-height:32px;padding:0 10px;font-size:11px}
    body.rbs-ui.rbs-page-portal-book .hero{display:none}
    body.rbs-ui.rbs-page-portal-book .content{gap:14px}
    body.rbs-ui.rbs-page-portal-book .main-card{border-radius:22px;padding:14px;background:rgba(255,255,255,.94)}
    body.rbs-ui.rbs-page-portal-book .side-card{display:none}
    body.rbs-ui.rbs-page-portal-book .section-head{display:none}
    body.rbs-ui.rbs-page-portal-book .wizard-shell{gap:12px}
    body.rbs-ui.rbs-page-portal-book .mobile-step-indicator{display:flex}
    body.rbs-ui.rbs-page-portal-book .wizard-progress{display:none}
    body.rbs-ui.rbs-page-portal-book .wizard-window{padding:14px;border-radius:20px;box-shadow:none}
    body.rbs-ui.rbs-page-portal-book .wizard-window-head{margin-bottom:14px}
    body.rbs-ui.rbs-page-portal-book .wizard-window h4{font-size:22px;margin-top:0;margin-bottom:0}
    body.rbs-ui.rbs-page-portal-book .wizard-window p{font-size:13px;line-height:1.55}
    body.rbs-ui.rbs-page-portal-book .wizard-window-head > div:first-child > p{display:none}
    body.rbs-ui.rbs-page-portal-book .wizard-step-tag{display:none}
    body.rbs-ui.rbs-page-portal-book .wizard-window-side{display:none}
    body.rbs-ui.rbs-page-portal-book .wizard-step-note{display:none}
    body.rbs-ui.rbs-page-portal-book .field label{font-size:12px}
    body.rbs-ui.rbs-page-portal-book .field input{min-height:50px;padding:0 14px;font-size:16px}
    body.rbs-ui.rbs-page-portal-book .field textarea{min-height:112px;padding:12px 14px;font-size:16px}
    body.rbs-ui.rbs-page-portal-book .availability-list{gap:10px}
    body.rbs-ui.rbs-page-portal-book .availability-pill{min-height:52px;padding:12px 14px;border-radius:16px}
    body.rbs-ui.rbs-page-portal-book .availability-pill strong{font-size:20px}
    body.rbs-ui.rbs-page-portal-book .room-type-grid{gap:12px}
    body.rbs-ui.rbs-page-portal-book .room-type-card{border-radius:22px}
    body.rbs-ui.rbs-page-portal-book .room-type-media{aspect-ratio:16/8.5}
    body.rbs-ui.rbs-page-portal-book .room-media-top{inset:10px 10px auto 10px}
    body.rbs-ui.rbs-page-portal-book .availability-badge, body.rbs-ui.rbs-page-portal-book .feature-badge{min-height:30px;padding:0 10px;font-size:11px}
    body.rbs-ui.rbs-page-portal-book .room-type-body{padding:14px;gap:10px}
    body.rbs-ui.rbs-page-portal-book .room-type-title{gap:10px}
    body.rbs-ui.rbs-page-portal-book .room-type-title h5{font-size:21px}
    body.rbs-ui.rbs-page-portal-book .room-type-price strong{font-size:20px}
    body.rbs-ui.rbs-page-portal-book .room-type-price span{font-size:11px}
    body.rbs-ui.rbs-page-portal-book .room-meta span{min-height:30px;padding:0 10px;font-size:12px}
    body.rbs-ui.rbs-page-portal-book .room-desc{font-size:13px;line-height:1.55}
    body.rbs-ui.rbs-page-portal-book .wizard-review-row, body.rbs-ui.rbs-page-portal-book .summary-row{padding:12px 14px;border-radius:16px}
    body.rbs-ui.rbs-page-portal-book .wizard-review-row strong, body.rbs-ui.rbs-page-portal-book .summary-row strong{font-size:15px}
    body.rbs-ui.rbs-page-portal-book .wizard-review-row.total strong, body.rbs-ui.rbs-page-portal-book .summary-row.total strong{font-size:18px}
    body.rbs-ui.rbs-page-portal-book .wizard-actions{display:grid;gap:10px;margin-top:18px;padding-top:16px}
    body.rbs-ui.rbs-page-portal-book .wizard-actions-left, body.rbs-ui.rbs-page-portal-book .wizard-actions-right{display:grid;grid-template-columns:1fr;gap:10px}
    body.rbs-ui.rbs-page-portal-book .wizard-actions-paired{grid-template-columns:1fr 1fr;align-items:start}
    body.rbs-ui.rbs-page-portal-book .wizard-actions-paired .wizard-actions-left, body.rbs-ui.rbs-page-portal-book .wizard-actions-paired .wizard-actions-right{display:block}
    body.rbs-ui.rbs-page-portal-book .btn, body.rbs-ui.rbs-page-portal-book .btn.primary{width:100%;min-width:0;min-height:52px}
    body.rbs-ui.rbs-page-portal-book .cta-note{max-width:none;font-size:12px;line-height:1.45}
    body.rbs-ui.rbs-page-portal-book .wizard-review-grid{display:none}
    body.rbs-ui.rbs-page-portal-book .mobile-only-summary{display:grid;gap:12px;margin-top:18px}
    body.rbs-ui.rbs-page-portal-book .mobile-only-summary .summary-sub{display:none}
    body.rbs-ui.rbs-page-portal-book .summary-title{font-size:20px;margin-bottom:0}
    body.rbs-ui.rbs-page-portal-book .summary-sub{font-size:13px;line-height:1.55}
}

/* Migrated from /rooms/add_room.php (page-scoped). */
body.rbs-ui.rbs-page-rooms-add-room{
    --bg:#f8fafc;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --bad-bg:#fef2f2;
    --bad-line:#fecaca;
    --bad-text:#991b1b;
}
body.rbs-ui.rbs-page-rooms-add-room *{box-sizing:border-box}
body.rbs-ui.rbs-page-rooms-add-room{
    margin:0;
    font-family:Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-rooms-add-room .page{
    padding:16px;
}
body.rbs-ui.rbs-page-rooms-add-room .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:var(--shadow);
    overflow:hidden;
}
body.rbs-ui.rbs-page-rooms-add-room .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 14px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}
body.rbs-ui.rbs-page-rooms-add-room .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-rooms-add-room .error-box{
    margin:16px;
    border:1px solid var(--bad-line);
    background:var(--bad-bg);
    color:var(--bad-text);
    border-radius:14px;
    padding:14px 16px;
}
body.rbs-ui.rbs-page-rooms-add-room .error-box div + div{
    margin-top:6px;
}
body.rbs-ui.rbs-page-rooms-add-room .form-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
    padding:16px;
}
body.rbs-ui.rbs-page-rooms-add-room .field{
    display:flex;
    flex-direction:column;
    gap:8px;
}
body.rbs-ui.rbs-page-rooms-add-room .field.full{
    grid-column:1 / -1;
}
body.rbs-ui.rbs-page-rooms-add-room .field label{
    font-size:13px;
    font-weight:700;
    color:var(--muted);
}
body.rbs-ui.rbs-page-rooms-add-room .field input, body.rbs-ui.rbs-page-rooms-add-room .field select, body.rbs-ui.rbs-page-rooms-add-room .field textarea{
    width:100%;
    min-height:44px;
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px 12px;
    font:inherit;
    background:#fff;
    color:var(--text);
}
body.rbs-ui.rbs-page-rooms-add-room .field textarea{
    min-height:110px;
    resize:vertical;
}
body.rbs-ui.rbs-page-rooms-add-room .checkbox-row{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:44px;
}
body.rbs-ui.rbs-page-rooms-add-room .checkbox-row input{
    width:18px;
    height:18px;
}
body.rbs-ui.rbs-page-rooms-add-room .rate-help{
    font-size:12px;
    color:var(--muted);
}
body.rbs-ui.rbs-page-rooms-add-room .foot{
    padding:16px;
    border-top:1px solid var(--line);
    display:flex;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
}
@media (max-width: 700px){
    body.rbs-ui.rbs-page-rooms-add-room .page{
        padding:10px;
    }
    body.rbs-ui.rbs-page-rooms-add-room .form-grid{
        grid-template-columns:1fr;
    }
    body.rbs-ui.rbs-page-rooms-add-room .foot{
        padding:14px;
    }
}

/* Migrated from /rooms/amenities/amenities.php (page-scoped). */
body.rbs-ui.rbs-page-rooms-amenities-amenities{--bg:#f4f7fb;--card:#fff;--text:#0f172a;--muted:#64748b;--line:#e2e8f0;--brand:#8b5e3c;--brand-dark:#6f472b;--shadow:0 12px 30px rgba(15,23,42,.08);--ok-bg:#ecfdf5;--ok-line:#bbf7d0;--ok-text:#166534;--warn-bg:#fff7ed;--warn-line:#fed7aa;--warn-text:#9a3412;--bad-bg:#fef2f2;--bad-line:#fecaca;--bad-text:#991b1b;--disabled-bg:#e5e7eb;--disabled-text:#6b7280;--disabled-line:#d1d5db}
body.rbs-ui.rbs-page-rooms-amenities-amenities *{box-sizing:border-box}
body.rbs-ui.rbs-page-rooms-amenities-amenities{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--text)}
body.rbs-ui.rbs-page-rooms-amenities-amenities .wrap{max-width:1400px;margin:0 auto;padding:28px 20px 40px}
body.rbs-ui.rbs-page-rooms-amenities-amenities .breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:18px;color:var(--muted);font-size:14px}
body.rbs-ui.rbs-page-rooms-amenities-amenities .breadcrumbs a{color:var(--muted);text-decoration:none}
body.rbs-ui.rbs-page-rooms-amenities-amenities .breadcrumbs strong{color:var(--text)}
body.rbs-ui.rbs-page-rooms-amenities-amenities .topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}
body.rbs-ui.rbs-page-rooms-amenities-amenities .topbar-left{display:flex;align-items:center;gap:16px}
body.rbs-ui.rbs-page-rooms-amenities-amenities .title h1{margin:0 0 6px;font-size:32px}
body.rbs-ui.rbs-page-rooms-amenities-amenities .title p{margin:0;color:var(--muted);font-size:15px}
body.rbs-ui.rbs-page-rooms-amenities-amenities .actions{display:flex;gap:10px;flex-wrap:wrap}
body.rbs-ui.rbs-page-rooms-amenities-amenities .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:12px;text-decoration:none;font-weight:700;border:1px solid var(--line);background:#fff;color:var(--text);cursor:pointer}
body.rbs-ui.rbs-page-rooms-amenities-amenities .btn.primary{background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);color:#fff;border:none}
body.rbs-ui.rbs-page-rooms-amenities-amenities .btn.disabled{background:var(--disabled-bg);color:var(--disabled-text);border:1px solid var(--disabled-line);pointer-events:none;cursor:not-allowed}
body.rbs-ui.rbs-page-rooms-amenities-amenities .hero{background:linear-gradient(135deg,#1e293b 0%,#334155 100%);color:#fff;border-radius:24px;padding:28px;box-shadow:var(--shadow);margin-bottom:24px}
body.rbs-ui.rbs-page-rooms-amenities-amenities .hero h2{margin:0 0 10px;font-size:28px}
body.rbs-ui.rbs-page-rooms-amenities-amenities .hero p{margin:0;max-width:850px;line-height:1.6;color:rgba(255,255,255,.88)}
body.rbs-ui.rbs-page-rooms-amenities-amenities .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px}
body.rbs-ui.rbs-page-rooms-amenities-amenities .stat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:16px}
body.rbs-ui.rbs-page-rooms-amenities-amenities .stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;opacity:.8;margin-bottom:6px}
body.rbs-ui.rbs-page-rooms-amenities-amenities .stat-value{font-size:22px;font-weight:700}
body.rbs-ui.rbs-page-rooms-amenities-amenities .success, body.rbs-ui.rbs-page-rooms-amenities-amenities .error{border-radius:16px;padding:16px 18px;margin-bottom:22px;box-shadow:var(--shadow)}
body.rbs-ui.rbs-page-rooms-amenities-amenities .success{background:var(--ok-bg);color:var(--ok-text);border:1px solid var(--ok-line)}
body.rbs-ui.rbs-page-rooms-amenities-amenities .error{background:var(--bad-bg);color:var(--bad-text);border:1px solid var(--bad-line)}
body.rbs-ui.rbs-page-rooms-amenities-amenities .panel{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:22px}
body.rbs-ui.rbs-page-rooms-amenities-amenities .panel-head{padding:20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
body.rbs-ui.rbs-page-rooms-amenities-amenities .panel-head h3{margin:0;font-size:22px}
body.rbs-ui.rbs-page-rooms-amenities-amenities .panel-head p{margin:6px 0 0;color:var(--muted)}
body.rbs-ui.rbs-page-rooms-amenities-amenities .filters, body.rbs-ui.rbs-page-rooms-amenities-amenities .quick-filters{padding:20px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}
body.rbs-ui.rbs-page-rooms-amenities-amenities .quick-filters{border-top:1px solid #bbf7d0;background:linear-gradient(180deg,#f7fff9 0%,#ecfdf5 100%)}
body.rbs-ui.rbs-page-rooms-amenities-amenities .field{display:flex;flex-direction:column;gap:8px}
body.rbs-ui.rbs-page-rooms-amenities-amenities .field label{font-size:13px;font-weight:700;color:var(--muted)}
body.rbs-ui.rbs-page-rooms-amenities-amenities .field input, body.rbs-ui.rbs-page-rooms-amenities-amenities .field select, body.rbs-ui.rbs-page-rooms-amenities-amenities .field textarea{width:100%;min-height:44px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font:inherit;background:#fff;color:var(--text)}
body.rbs-ui.rbs-page-rooms-amenities-amenities .field textarea{min-height:110px;resize:vertical}
body.rbs-ui.rbs-page-rooms-amenities-amenities .table-wrap{width:100%;overflow:auto}
body.rbs-ui.rbs-page-rooms-amenities-amenities table{width:100%;border-collapse:collapse}
body.rbs-ui.rbs-page-rooms-amenities-amenities th, body.rbs-ui.rbs-page-rooms-amenities-amenities td{text-align:left;padding:16px 20px;border-bottom:1px solid var(--line);vertical-align:top}
body.rbs-ui.rbs-page-rooms-amenities-amenities th{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#f8fafc}
body.rbs-ui.rbs-page-rooms-amenities-amenities tr:last-child td{border-bottom:none}
body.rbs-ui.rbs-page-rooms-amenities-amenities .badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid transparent;white-space:nowrap}
body.rbs-ui.rbs-page-rooms-amenities-amenities .badge.active{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok-text)}
body.rbs-ui.rbs-page-rooms-amenities-amenities .badge.planned{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn-text)}
body.rbs-ui.rbs-page-rooms-amenities-amenities .badge.inactive{background:var(--disabled-bg);border-color:var(--disabled-line);color:var(--disabled-text)}
body.rbs-ui.rbs-page-rooms-amenities-amenities .badge.exists{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok-text)}
body.rbs-ui.rbs-page-rooms-amenities-amenities .table-actions{display:flex;gap:8px;flex-wrap:wrap}
body.rbs-ui.rbs-page-rooms-amenities-amenities .mini-btn{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:10px;text-decoration:none;font-size:13px;font-weight:700;border:1px solid var(--line);background:#fff;color:var(--text);cursor:pointer}
body.rbs-ui.rbs-page-rooms-amenities-amenities .mini-btn.danger{color:#991b1b;border-color:#fecaca}
body.rbs-ui.rbs-page-rooms-amenities-amenities .linked-rooms{font-size:13px;color:var(--muted)}
/* Quick add card */
body.rbs-ui.rbs-page-rooms-amenities-amenities .quick-card details{display:block}
body.rbs-ui.rbs-page-rooms-amenities-amenities .quick-card summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px;cursor:pointer;user-select:none;background:linear-gradient(135deg,#ecfdf5 0%,#f0fdf4 100%);border:1px solid #bbf7d0;border-radius:20px;box-shadow:0 10px 24px rgba(22,101,52,.08)}
body.rbs-ui.rbs-page-rooms-amenities-amenities .quick-card summary::-webkit-details-marker{display:none}
body.rbs-ui.rbs-page-rooms-amenities-amenities .quick-card details[open] summary{border-bottom:1px solid #86efac;border-bottom-left-radius:0;border-bottom-right-radius:0}
body.rbs-ui.rbs-page-rooms-amenities-amenities .quick-summary-left h3{margin:0;font-size:22px;color:#166534}
body.rbs-ui.rbs-page-rooms-amenities-amenities .quick-summary-left p{margin:6px 0 0;color:#15803d;font-weight:600}
body.rbs-ui.rbs-page-rooms-amenities-amenities .chev{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;border:1px solid #86efac;background:#fff;color:#166534;font-size:16px;line-height:1;transition:transform .15s ease,background .15s ease,border-color .15s ease}
body.rbs-ui.rbs-page-rooms-amenities-amenities .quick-card details[open] .chev{transform:rotate(180deg);background:#ecfdf5;border-color:#4ade80}
body.rbs-ui.rbs-page-rooms-amenities-amenities .quick-list{padding:0;margin:0;list-style:none;border:1px solid #bbf7d0;border-top:none;border-bottom-left-radius:20px;border-bottom-right-radius:20px;background:#f7fff9;overflow:hidden;box-shadow:0 12px 26px rgba(22,101,52,.06)}
body.rbs-ui.rbs-page-rooms-amenities-amenities .quick-item{display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:start;padding:16px 20px;border-bottom:1px solid #dcfce7}
body.rbs-ui.rbs-page-rooms-amenities-amenities .quick-item:last-child{border-bottom:none}
body.rbs-ui.rbs-page-rooms-amenities-amenities .quick-item input[type="checkbox"]{margin-top:4px;width:18px;height:18px;cursor:pointer}
body.rbs-ui.rbs-page-rooms-amenities-amenities .quick-name{font-weight:700;margin-bottom:4px;color:#166634}
body.rbs-ui.rbs-page-rooms-amenities-amenities .quick-meta{color:#15803d;font-size:13px;line-height:1.45}
body.rbs-ui.rbs-page-rooms-amenities-amenities .muted{color:var(--muted)}
body.rbs-ui.rbs-page-rooms-amenities-amenities .quick-hidden{display:none}
/* Modal */
body.rbs-ui.rbs-page-rooms-amenities-amenities .modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);display:none;align-items:center;justify-content:center;padding:24px;z-index:9999}
body.rbs-ui.rbs-page-rooms-amenities-amenities .modal-overlay.show{display:flex}
body.rbs-ui.rbs-page-rooms-amenities-amenities .modal-card{width:min(960px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 30px 80px rgba(15,23,42,.25);border:1px solid var(--line)}
body.rbs-ui.rbs-page-rooms-amenities-amenities .modal-head{padding:20px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
body.rbs-ui.rbs-page-rooms-amenities-amenities .modal-head h3{margin:0;font-size:24px}
body.rbs-ui.rbs-page-rooms-amenities-amenities .modal-head p{margin:6px 0 0;color:var(--muted)}
body.rbs-ui.rbs-page-rooms-amenities-amenities .modal-close{width:40px;height:40px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:24px;line-height:1;cursor:pointer;color:var(--text)}
body.rbs-ui.rbs-page-rooms-amenities-amenities .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px}
body.rbs-ui.rbs-page-rooms-amenities-amenities .full{grid-column:1 / -1}
body.rbs-ui.rbs-page-rooms-amenities-amenities .modal-actions{padding:0 20px 20px;display:flex;gap:10px;flex-wrap:wrap}
body.rbs-ui.rbs-page-rooms-amenities-amenities .edit-banner{margin:20px 20px 0;padding:14px 16px;border-radius:14px;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}
/* Room picker */
body.rbs-ui.rbs-page-rooms-amenities-amenities .room-picker-wrap{display:flex;flex-direction:column;gap:8px}
body.rbs-ui.rbs-page-rooms-amenities-amenities .room-picker-row{display:flex;gap:8px;align-items:center}
body.rbs-ui.rbs-page-rooms-amenities-amenities .room-picker-search{flex:1;min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}
body.rbs-ui.rbs-page-rooms-amenities-amenities .room-picker-search:disabled{background:var(--disabled-bg);color:var(--disabled-text)}
body.rbs-ui.rbs-page-rooms-amenities-amenities .room-picker-btn{min-height:40px;padding:0 14px;border-radius:10px;border:1px solid var(--line);background:#fff;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}
body.rbs-ui.rbs-page-rooms-amenities-amenities .room-picker-btn:disabled{background:var(--disabled-bg);color:var(--disabled-text);cursor:not-allowed}
body.rbs-ui.rbs-page-rooms-amenities-amenities .room-suggestions{display:none;list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:10px;background:#fff;max-height:180px;overflow-y:auto;box-shadow:0 4px 12px rgba(0,0,0,.08)}
body.rbs-ui.rbs-page-rooms-amenities-amenities .room-suggestions li{padding:9px 14px;cursor:pointer;font-size:13px;border-bottom:1px solid var(--line)}
body.rbs-ui.rbs-page-rooms-amenities-amenities .room-suggestions li:last-child{border-bottom:none}
body.rbs-ui.rbs-page-rooms-amenities-amenities .room-suggestions li:hover{background:#f0f9ff}
body.rbs-ui.rbs-page-rooms-amenities-amenities .room-tags{display:flex;flex-wrap:wrap;gap:6px;min-height:36px}
body.rbs-ui.rbs-page-rooms-amenities-amenities .room-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#eff6ff;border:1px solid #93c5fd;border-radius:8px;font-size:13px;font-weight:600;color:#1d4ed8}
body.rbs-ui.rbs-page-rooms-amenities-amenities .room-tag button{background:none;border:none;cursor:pointer;color:#1d4ed8;font-size:15px;line-height:1;padding:0}
body.rbs-ui.rbs-page-rooms-amenities-amenities .room-tags-empty{color:var(--muted);font-size:13px;line-height:36px}
@media (max-width:900px){body.rbs-ui.rbs-page-rooms-amenities-amenities .filters, body.rbs-ui.rbs-page-rooms-amenities-amenities .quick-filters, body.rbs-ui.rbs-page-rooms-amenities-amenities .stats, body.rbs-ui.rbs-page-rooms-amenities-amenities .form-grid{grid-template-columns:1fr}}
@media (max-width:700px){body.rbs-ui.rbs-page-rooms-amenities-amenities .wrap{padding:20px 14px 32px}body.rbs-ui.rbs-page-rooms-amenities-amenities .title h1{font-size:26px}body.rbs-ui.rbs-page-rooms-amenities-amenities .hero h2{font-size:24px}body.rbs-ui.rbs-page-rooms-amenities-amenities th, body.rbs-ui.rbs-page-rooms-amenities-amenities td{padding:14px 12px}body.rbs-ui.rbs-page-rooms-amenities-amenities .panel-head, body.rbs-ui.rbs-page-rooms-amenities-amenities .filters, body.rbs-ui.rbs-page-rooms-amenities-amenities .quick-filters, body.rbs-ui.rbs-page-rooms-amenities-amenities .modal-head, body.rbs-ui.rbs-page-rooms-amenities-amenities .form-grid, body.rbs-ui.rbs-page-rooms-amenities-amenities .modal-actions{padding:16px}body.rbs-ui.rbs-page-rooms-amenities-amenities .quick-item{padding:14px 16px;grid-template-columns:24px 1fr}body.rbs-ui.rbs-page-rooms-amenities-amenities .edit-banner{margin:16px 16px 0}body.rbs-ui.rbs-page-rooms-amenities-amenities .modal-overlay{padding:12px}}

/* Migrated from /rooms/copy_room.php (page-scoped). */
body.rbs-ui.rbs-page-rooms-copy-room{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --bad-bg:#fef2f2;
    --bad-line:#fecaca;
    --bad-text:#991b1b;
    --warn-bg:#fff7ed;
    --warn-line:#fed7aa;
    --warn-text:#9a3412;
}
body.rbs-ui.rbs-page-rooms-copy-room *{box-sizing:border-box}
body.rbs-ui.rbs-page-rooms-copy-room{
    margin:0;
    font-family:Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-rooms-copy-room .wrap{
    max-width:980px;
    margin:0 auto;
    padding:28px 20px 40px;
}
body.rbs-ui.rbs-page-rooms-copy-room .breadcrumbs{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:18px;
    color:var(--muted);
    font-size:14px;
}
body.rbs-ui.rbs-page-rooms-copy-room .breadcrumbs a{
    color:var(--muted);
    text-decoration:none;
}
body.rbs-ui.rbs-page-rooms-copy-room .breadcrumbs strong{
    color:var(--text);
}
body.rbs-ui.rbs-page-rooms-copy-room .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:22px;
}
body.rbs-ui.rbs-page-rooms-copy-room .topbar-left{
    display:flex;
    align-items:center;
    gap:16px;
}
body.rbs-ui.rbs-page-rooms-copy-room .title h1{
    margin:0 0 6px;
    font-size:32px;
}
body.rbs-ui.rbs-page-rooms-copy-room .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}
body.rbs-ui.rbs-page-rooms-copy-room .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-rooms-copy-room .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}
body.rbs-ui.rbs-page-rooms-copy-room .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-rooms-copy-room .panel{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    box-shadow:var(--shadow);
    overflow:hidden;
}
body.rbs-ui.rbs-page-rooms-copy-room .panel-head{
    padding:20px;
    border-bottom:1px solid var(--line);
}
body.rbs-ui.rbs-page-rooms-copy-room .panel-head h2{
    margin:0 0 6px;
    font-size:24px;
}
body.rbs-ui.rbs-page-rooms-copy-room .panel-head p{
    margin:0;
    color:var(--muted);
}
body.rbs-ui.rbs-page-rooms-copy-room .warning-box, body.rbs-ui.rbs-page-rooms-copy-room .error-box{
    margin:20px;
    border-radius:14px;
    padding:14px 16px;
}
body.rbs-ui.rbs-page-rooms-copy-room .warning-box{
    border:1px solid var(--warn-line);
    background:var(--warn-bg);
    color:var(--warn-text);
}
body.rbs-ui.rbs-page-rooms-copy-room .error-box{
    border:1px solid var(--bad-line);
    background:var(--bad-bg);
    color:var(--bad-text);
}
body.rbs-ui.rbs-page-rooms-copy-room .form-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
    padding:20px;
}
body.rbs-ui.rbs-page-rooms-copy-room .field{
    display:flex;
    flex-direction:column;
    gap:8px;
}
body.rbs-ui.rbs-page-rooms-copy-room .field.full{
    grid-column:1 / -1;
}
body.rbs-ui.rbs-page-rooms-copy-room .field label{
    font-size:13px;
    font-weight:700;
    color:var(--muted);
}
body.rbs-ui.rbs-page-rooms-copy-room .field input, body.rbs-ui.rbs-page-rooms-copy-room .field select, body.rbs-ui.rbs-page-rooms-copy-room .field textarea{
    width:100%;
    min-height:44px;
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px 12px;
    font:inherit;
    background:#fff;
    color:var(--text);
}
body.rbs-ui.rbs-page-rooms-copy-room .field textarea{
    min-height:120px;
    resize:vertical;
}
body.rbs-ui.rbs-page-rooms-copy-room .checkbox-row{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:44px;
}
body.rbs-ui.rbs-page-rooms-copy-room .checkbox-row input{
    width:18px;
    height:18px;
}
body.rbs-ui.rbs-page-rooms-copy-room .rate-help{
    font-size:13px;
    color:var(--muted);
}
body.rbs-ui.rbs-page-rooms-copy-room .panel-foot{
    padding:20px;
    border-top:1px solid var(--line);
    display:flex;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
}
@media (max-width: 700px){
    body.rbs-ui.rbs-page-rooms-copy-room .wrap{
        padding:20px 14px 32px;
    }
    body.rbs-ui.rbs-page-rooms-copy-room .title h1{
        font-size:26px;
    }
    body.rbs-ui.rbs-page-rooms-copy-room .form-grid{
        grid-template-columns:1fr;
        padding:16px;
    }
    body.rbs-ui.rbs-page-rooms-copy-room .panel-head, body.rbs-ui.rbs-page-rooms-copy-room .panel-foot{
        padding:16px;
    }
    body.rbs-ui.rbs-page-rooms-copy-room .warning-box, body.rbs-ui.rbs-page-rooms-copy-room .error-box{
        margin:16px;
    }
}

/* Migrated from /rooms/edit_room.php (page-scoped). */
body.rbs-ui.rbs-page-rooms-edit-room{
    --bg:#f8fafc;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --ok-bg:#ecfdf5;
    --ok-line:#bbf7d0;
    --ok-text:#166534;
    --bad-bg:#fef2f2;
    --bad-line:#fecaca;
    --bad-text:#991b1b;
    --info-bg:#eff6ff;
    --info-line:#bfdbfe;
    --info-text:#1d4ed8;
    --warn-bg:#fff7ed;
    --warn-line:#fed7aa;
    --warn-text:#9a3412;
}

body.rbs-ui.rbs-page-rooms-edit-room *{box-sizing:border-box}
body.rbs-ui.rbs-page-rooms-edit-room{
    margin:0;
    font-family:Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-rooms-edit-room .page{
    padding:16px;
}
body.rbs-ui.rbs-page-rooms-edit-room .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:var(--shadow);
    overflow:hidden;
}
body.rbs-ui.rbs-page-rooms-edit-room .card-head{
    padding:18px 20px;
    border-bottom:1px solid var(--line);
}
body.rbs-ui.rbs-page-rooms-edit-room .card-head-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-rooms-edit-room .card-head h1{
    margin:0;
    font-size:24px;
}
body.rbs-ui.rbs-page-rooms-edit-room .card-head p{
    margin:8px 0 0;
    color:var(--muted);
    font-size:14px;
}
body.rbs-ui.rbs-page-rooms-edit-room .status-row{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:12px;
}
body.rbs-ui.rbs-page-rooms-edit-room .badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    padding:0 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    border:1px solid transparent;
    white-space:nowrap;
}
body.rbs-ui.rbs-page-rooms-edit-room .badge.vacant{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok-text)}
body.rbs-ui.rbs-page-rooms-edit-room .badge.occupied{background:var(--info-bg);border-color:var(--info-line);color:var(--info-text)}
body.rbs-ui.rbs-page-rooms-edit-room .badge.out-of-order, body.rbs-ui.rbs-page-rooms-edit-room .badge.maintenance, body.rbs-ui.rbs-page-rooms-edit-room .badge.dirty, body.rbs-ui.rbs-page-rooms-edit-room .badge.inactive{background:var(--bad-bg);border-color:var(--bad-line);color:var(--bad-text)}
body.rbs-ui.rbs-page-rooms-edit-room .badge.clean, body.rbs-ui.rbs-page-rooms-edit-room .badge.inspected, body.rbs-ui.rbs-page-rooms-edit-room .badge.active{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok-text)}
body.rbs-ui.rbs-page-rooms-edit-room .badge.planned{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn-text)}
body.rbs-ui.rbs-page-rooms-edit-room .success, body.rbs-ui.rbs-page-rooms-edit-room .error, body.rbs-ui.rbs-page-rooms-edit-room .warning{
    border-radius:14px;
    padding:14px 16px;
    margin:16px;
}
body.rbs-ui.rbs-page-rooms-edit-room .success{background:var(--ok-bg);color:var(--ok-text);border:1px solid var(--ok-line)}
body.rbs-ui.rbs-page-rooms-edit-room .error{background:var(--bad-bg);color:var(--bad-text);border:1px solid var(--bad-line)}
body.rbs-ui.rbs-page-rooms-edit-room .warning{background:var(--warn-bg);color:var(--warn-text);border:1px solid var(--warn-line)}
body.rbs-ui.rbs-page-rooms-edit-room .autosave-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    padding:16px 20px 0;
}
body.rbs-ui.rbs-page-rooms-edit-room .autosave-status{
    font-size:13px;
    font-weight:700;
    color:var(--muted);
}
body.rbs-ui.rbs-page-rooms-edit-room .autosave-status.saving{color:var(--info-text)}
body.rbs-ui.rbs-page-rooms-edit-room .autosave-status.saved{color:var(--ok-text)}
body.rbs-ui.rbs-page-rooms-edit-room .autosave-status.error{color:var(--bad-text)}
body.rbs-ui.rbs-page-rooms-edit-room .form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    padding:16px 20px 20px;
}
body.rbs-ui.rbs-page-rooms-edit-room .field{
    display:flex;
    flex-direction:column;
    gap:8px;
}
body.rbs-ui.rbs-page-rooms-edit-room .field.full{
    grid-column:1 / -1;
}
body.rbs-ui.rbs-page-rooms-edit-room .field label{
    font-size:13px;
    font-weight:700;
    color:var(--muted);
}
body.rbs-ui.rbs-page-rooms-edit-room .field input, body.rbs-ui.rbs-page-rooms-edit-room .field select, body.rbs-ui.rbs-page-rooms-edit-room .field textarea{
    width:100%;
    min-height:44px;
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px 12px;
    font:inherit;
    background:#fff;
    color:var(--text);
}
body.rbs-ui.rbs-page-rooms-edit-room .field textarea{
    min-height:120px;
    resize:vertical;
}
body.rbs-ui.rbs-page-rooms-edit-room .checkbox-row{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:44px;
}
body.rbs-ui.rbs-page-rooms-edit-room .checkbox-row input{
    width:18px;
    height:18px;
}
body.rbs-ui.rbs-page-rooms-edit-room .amenity-summary{
    margin:0 20px 20px;
    border:1px solid var(--line);
    border-radius:18px;
    background:#f8fafc;
    padding:18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-rooms-edit-room .amenity-summary h4{
    margin:0 0 6px;
    font-size:18px;
}
body.rbs-ui.rbs-page-rooms-edit-room .amenity-summary p{
    margin:0;
    color:var(--muted);
}
body.rbs-ui.rbs-page-rooms-edit-room .amenity-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    padding:0 12px;
    border-radius:999px;
    background:var(--info-bg);
    border:1px solid var(--info-line);
    color:var(--info-text);
    font-size:13px;
    font-weight:700;
}
body.rbs-ui.rbs-page-rooms-edit-room .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-rooms-edit-room .form-actions{
    padding:0 20px 20px;
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-rooms-edit-room .btn, body.rbs-ui.rbs-page-rooms-edit-room .mini-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 14px;
    border-radius:12px;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    font-weight:700;
    cursor:pointer;
    text-decoration:none;
}
body.rbs-ui.rbs-page-rooms-edit-room .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-rooms-edit-room .modal-backdrop{
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.5);
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
    z-index:9999;
}
body.rbs-ui.rbs-page-rooms-edit-room .modal-backdrop.open{
    display:flex;
}
body.rbs-ui.rbs-page-rooms-edit-room .modal-dialog{
    width:min(980px,100%);
    max-height:90vh;
    background:#fff;
    border-radius:22px;
    box-shadow:0 24px 60px rgba(15,23,42,.25);
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
body.rbs-ui.rbs-page-rooms-edit-room .modal-head{
    padding:20px;
    border-bottom:1px solid var(--line);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}
body.rbs-ui.rbs-page-rooms-edit-room .modal-head h3{
    margin:0;
    font-size:22px;
}
body.rbs-ui.rbs-page-rooms-edit-room .modal-head p{
    margin:6px 0 0;
    color:var(--muted);
}
body.rbs-ui.rbs-page-rooms-edit-room .modal-body{
    padding:20px;
    overflow:auto;
}
body.rbs-ui.rbs-page-rooms-edit-room .modal-foot{
    padding:20px;
    border-top:1px solid var(--line);
    display:flex;
    justify-content:space-between;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-rooms-edit-room .amenity-table-wrap{
    overflow-x:auto;
}
body.rbs-ui.rbs-page-rooms-edit-room .amenity-table{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
}
body.rbs-ui.rbs-page-rooms-edit-room .amenity-table th, body.rbs-ui.rbs-page-rooms-edit-room .amenity-table td{
    border-bottom:1px solid var(--line);
    padding:12px 10px;
    text-align:left;
    vertical-align:top;
}
body.rbs-ui.rbs-page-rooms-edit-room .amenity-table th{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--muted);
    background:#f8fafc;
}
body.rbs-ui.rbs-page-rooms-edit-room .amenity-table td input, body.rbs-ui.rbs-page-rooms-edit-room .amenity-table td select{
    width:100%;
    border:1px solid var(--line);
    border-radius:10px;
    padding:8px 10px;
    font:inherit;
    background:#fff;
    color:var(--text);
}
body.rbs-ui.rbs-page-rooms-edit-room .amenity-table .sort-col{
    width:100px;
}
body.rbs-ui.rbs-page-rooms-edit-room .amenity-table .delete-col{
    width:90px;
    text-align:center;
}
body.rbs-ui.rbs-page-rooms-edit-room .amenity-meta{
    font-size:12px;
    color:var(--muted);
    margin-top:6px;
}
body.rbs-ui.rbs-page-rooms-edit-room .hint{
    padding-top:16px;
    color:var(--muted);
    font-size:14px;
}

@media (max-width: 700px){
    body.rbs-ui.rbs-page-rooms-edit-room .page{
        padding:10px;
    }
    body.rbs-ui.rbs-page-rooms-edit-room .form-grid{
        grid-template-columns:1fr;
        padding:16px;
    }
    body.rbs-ui.rbs-page-rooms-edit-room .autosave-bar, body.rbs-ui.rbs-page-rooms-edit-room .form-actions{
        padding-left:16px;
        padding-right:16px;
    }
    body.rbs-ui.rbs-page-rooms-edit-room .amenity-summary{
        margin:0 16px 16px;
    }
    body.rbs-ui.rbs-page-rooms-edit-room .modal-backdrop{
        padding:10px;
    }
    body.rbs-ui.rbs-page-rooms-edit-room .modal-head, body.rbs-ui.rbs-page-rooms-edit-room .modal-body, body.rbs-ui.rbs-page-rooms-edit-room .modal-foot{
        padding:16px;
    }
    body.rbs-ui.rbs-page-rooms-edit-room .card-head h1{
        font-size:22px;
    }
}

/* Migrated from /rooms/index.php (page-scoped). */
body.rbs-ui.rbs-page-rooms-index{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --ok-bg:#ecfdf5;
    --ok-line:#bbf7d0;
    --ok-text:#166534;
    --warn-bg:#fff7ed;
    --warn-line:#fed7aa;
    --warn-text:#9a3412;
    --bad-bg:#fef2f2;
    --bad-line:#fecaca;
    --bad-text:#991b1b;
    --info-bg:#eff6ff;
    --info-line:#bfdbfe;
    --info-text:#1d4ed8;
    --success-bg:#ecfdf5;
    --success-line:#bbf7d0;
    --success-text:#166534;
}
body.rbs-ui.rbs-page-rooms-index *{box-sizing:border-box}
body.rbs-ui.rbs-page-rooms-index{
    margin:0;
    font-family:Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-rooms-index{
    overflow-x:hidden;
    overflow-y:auto;
}
body.rbs-ui.rbs-page-rooms-index .page-shell{
    display:flex;
    min-height:100vh;
}
body.rbs-ui.rbs-page-rooms-index .page-main{
    flex:1;
    min-width:0;
}
body.rbs-ui.rbs-page-rooms-index .wrap{
    max-width:1400px;
    margin:0 auto;
    padding:28px 20px 40px;
}
body.rbs-ui.rbs-page-rooms-index .breadcrumbs{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:18px;
    color:var(--muted);
    font-size:14px;
}
body.rbs-ui.rbs-page-rooms-index .breadcrumbs a{
    color:var(--muted);
    text-decoration:none;
}
body.rbs-ui.rbs-page-rooms-index .breadcrumbs strong{
    color:var(--text);
}
body.rbs-ui.rbs-page-rooms-index .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:20px;
}
body.rbs-ui.rbs-page-rooms-index .topbar-left{
    display:flex;
    align-items:center;
    gap:16px;
}
body.rbs-ui.rbs-page-rooms-index .title h1{
    margin:0 0 6px;
    font-size:32px;
}
body.rbs-ui.rbs-page-rooms-index .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}
body.rbs-ui.rbs-page-rooms-index .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-rooms-index .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}
body.rbs-ui.rbs-page-rooms-index .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-rooms-index .btn.warn{
    background:var(--warn-bg);
    color:var(--warn-text);
    border:1px solid var(--warn-line);
}
body.rbs-ui.rbs-page-rooms-index .btn.bad{
    background:var(--bad-bg);
    color:var(--bad-text);
    border:1px solid var(--bad-line);
}
body.rbs-ui.rbs-page-rooms-index .btn.disabled{
    background:#e5e7eb;
    color:#6b7280;
    border:1px solid #d1d5db;
    pointer-events:none;
    cursor:not-allowed;
}
body.rbs-ui.rbs-page-rooms-index .hero{
    background:linear-gradient(135deg, #1e293b 0%, #334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}
body.rbs-ui.rbs-page-rooms-index .hero h2{
    margin:0 0 10px;
    font-size:28px;
}
body.rbs-ui.rbs-page-rooms-index .hero p{
    margin:0;
    max-width:850px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}
body.rbs-ui.rbs-page-rooms-index .stats{
    display:grid;
    grid-template-columns:repeat(6, minmax(0, 1fr));
    gap:14px;
    margin-top:22px;
}
body.rbs-ui.rbs-page-rooms-index .stat{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    padding:16px;
}
body.rbs-ui.rbs-page-rooms-index .stat-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    opacity:.8;
    margin-bottom:6px;
}
body.rbs-ui.rbs-page-rooms-index .stat-value{
    font-size:22px;
    font-weight:700;
}
body.rbs-ui.rbs-page-rooms-index .quick-links{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:18px;
}
body.rbs-ui.rbs-page-rooms-index .notice{
    margin-bottom:18px;
    padding:14px 16px;
    border-radius:14px;
    border:1px solid var(--success-line);
    background:var(--success-bg);
    color:var(--success-text);
    font-weight:700;
}
body.rbs-ui.rbs-page-rooms-index .tabs{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:22px;
}
body.rbs-ui.rbs-page-rooms-index .tab-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    font-weight:700;
    cursor:pointer;
}
body.rbs-ui.rbs-page-rooms-index .tab-btn.active{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border-color:transparent;
}
body.rbs-ui.rbs-page-rooms-index .panel{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    box-shadow:var(--shadow);
    overflow:hidden;
    margin-bottom:22px;
}
body.rbs-ui.rbs-page-rooms-index .tab-panel{
    display:none;
}
body.rbs-ui.rbs-page-rooms-index .tab-panel.active{
    display:block;
}
body.rbs-ui.rbs-page-rooms-index .panel-head{
    padding:20px;
    border-bottom:1px solid var(--line);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-rooms-index .panel-head h3{
    margin:0;
    font-size:22px;
}
body.rbs-ui.rbs-page-rooms-index .panel-head p{
    margin:6px 0 0;
    color:var(--muted);
}
body.rbs-ui.rbs-page-rooms-index .panel-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-rooms-index .filters{
    padding:20px;
    border-bottom:1px solid var(--line);
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;
    gap:14px;
}
body.rbs-ui.rbs-page-rooms-index .field{
    display:flex;
    flex-direction:column;
    gap:8px;
}
body.rbs-ui.rbs-page-rooms-index .field label{
    font-size:13px;
    font-weight:700;
    color:var(--muted);
}
body.rbs-ui.rbs-page-rooms-index .field input, body.rbs-ui.rbs-page-rooms-index .field select{
    width:100%;
    min-height:44px;
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px 12px;
    font:inherit;
    background:#fff;
    color:var(--text);
}
body.rbs-ui.rbs-page-rooms-index .table-wrap{
    width:100%;
    overflow:auto;
}
body.rbs-ui.rbs-page-rooms-index table{
    width:100%;
    border-collapse:collapse;
}
body.rbs-ui.rbs-page-rooms-index th, body.rbs-ui.rbs-page-rooms-index td{
    text-align:left;
    padding:16px 20px;
    border-bottom:1px solid var(--line);
    vertical-align:top;
}
body.rbs-ui.rbs-page-rooms-index th{
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--muted);
    background:#f8fafc;
}
body.rbs-ui.rbs-page-rooms-index tr:last-child td{
    border-bottom:none;
}
body.rbs-ui.rbs-page-rooms-index .badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    padding:0 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    border:1px solid transparent;
    white-space:nowrap;
}
body.rbs-ui.rbs-page-rooms-index .badge.vacant{
    background:var(--ok-bg);
    border-color:var(--ok-line);
    color:var(--ok-text);
}
body.rbs-ui.rbs-page-rooms-index .badge.occupied{
    background:var(--info-bg);
    border-color:var(--info-line);
    color:var(--info-text);
}
body.rbs-ui.rbs-page-rooms-index .badge.out-of-order, body.rbs-ui.rbs-page-rooms-index .badge.maintenance, body.rbs-ui.rbs-page-rooms-index .badge.dirty, body.rbs-ui.rbs-page-rooms-index .badge.inactive{
    background:var(--bad-bg);
    border-color:var(--bad-line);
    color:var(--bad-text);
}
body.rbs-ui.rbs-page-rooms-index .badge.clean, body.rbs-ui.rbs-page-rooms-index .badge.inspected{
    background:var(--ok-bg);
    border-color:var(--ok-line);
    color:var(--ok-text);
}
body.rbs-ui.rbs-page-rooms-index .table-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-rooms-index .mini-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:0 12px;
    border-radius:10px;
    text-decoration:none;
    font-size:13px;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}
body.rbs-ui.rbs-page-rooms-index .mini-btn.disabled{
    background:#e5e7eb;
    color:#6b7280;
    border-color:#d1d5db;
    pointer-events:none;
}
body.rbs-ui.rbs-page-rooms-index .list-cards{
    display:none;
    padding:16px;
    gap:12px;
}
body.rbs-ui.rbs-page-rooms-index .list-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    padding:14px;
}
body.rbs-ui.rbs-page-rooms-index .list-card h4{
    margin:0 0 8px;
    font-size:18px;
}
body.rbs-ui.rbs-page-rooms-index .list-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px 12px;
}
body.rbs-ui.rbs-page-rooms-index .list-item-label{
    font-size:12px;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.05em;
}
body.rbs-ui.rbs-page-rooms-index .list-item-value{
    font-size:14px;
    font-weight:700;
}
body.rbs-ui.rbs-page-rooms-index .empty-state{
    padding:20px;
    color:var(--muted);
}
body.rbs-ui.rbs-page-rooms-index .modal-backdrop{
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.6);
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
    z-index:9999;
}
body.rbs-ui.rbs-page-rooms-index .modal-backdrop.active{
    display:flex;
}
body.rbs-ui.rbs-page-rooms-index .modal-card{
    width:min(1280px, 100%);
    height:min(92vh, 960px);
    background:#fff;
    border-radius:22px;
    box-shadow:0 30px 80px rgba(15,23,42,.35);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    border:1px solid rgba(226,232,240,.8);
}
body.rbs-ui.rbs-page-rooms-index .modal-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:16px 18px;
    border-bottom:1px solid var(--line);
    background:#fff;
}
body.rbs-ui.rbs-page-rooms-index .modal-head h3{
    margin:0;
    font-size:20px;
}
body.rbs-ui.rbs-page-rooms-index .modal-head-actions{
    display:flex;
    align-items:center;
    gap:10px;
}
body.rbs-ui.rbs-page-rooms-index .modal-close{
    width:40px;
    height:40px;
    border-radius:10px;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    font-size:20px;
    line-height:1;
    cursor:pointer;
}
body.rbs-ui.rbs-page-rooms-index .modal-body{
    flex:1;
    min-height:0;
    background:#f8fafc;
}
body.rbs-ui.rbs-page-rooms-index .modal-frame{
    width:100%;
    height:100%;
    border:0;
    background:#fff;
}
@media (max-width: 1000px){
    body.rbs-ui.rbs-page-rooms-index .filters{
        grid-template-columns:1fr 1fr;
    }
    body.rbs-ui.rbs-page-rooms-index .stats{
        grid-template-columns:repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 700px){
    body.rbs-ui.rbs-page-rooms-index .wrap{
        padding:20px 14px 32px;
    }
    body.rbs-ui.rbs-page-rooms-index .title h1{
        font-size:26px;
    }
    body.rbs-ui.rbs-page-rooms-index .hero h2{
        font-size:24px;
    }
    body.rbs-ui.rbs-page-rooms-index .filters, body.rbs-ui.rbs-page-rooms-index .stats{
        grid-template-columns:1fr;
    }
    body.rbs-ui.rbs-page-rooms-index th, body.rbs-ui.rbs-page-rooms-index td{
        padding:14px 12px;
    }
    body.rbs-ui.rbs-page-rooms-index .panel-head, body.rbs-ui.rbs-page-rooms-index .filters{
        padding:16px;
    }
    body.rbs-ui.rbs-page-rooms-index .hide-on-mobile{
        display:none;
    }
    body.rbs-ui.rbs-page-rooms-index .list-cards{
        display:grid;
    }
    body.rbs-ui.rbs-page-rooms-index .list-grid{
        grid-template-columns:1fr 1fr;
    }
    body.rbs-ui.rbs-page-rooms-index .tabs{
        flex-direction:column;
    }
    body.rbs-ui.rbs-page-rooms-index .tab-btn{
        width:100%;
    }
    body.rbs-ui.rbs-page-rooms-index .modal-backdrop{
        padding:10px;
    }
    body.rbs-ui.rbs-page-rooms-index .modal-card{
        width:100%;
        height:92vh;
        border-radius:16px;
    }
}
@media print{
    body.rbs-ui.rbs-page-rooms-index{
        background:#fff;
    }
    body.rbs-ui.rbs-page-rooms-index .breadcrumbs, body.rbs-ui.rbs-page-rooms-index .topbar, body.rbs-ui.rbs-page-rooms-index .hero, body.rbs-ui.rbs-page-rooms-index .tabs, body.rbs-ui.rbs-page-rooms-index .filters, body.rbs-ui.rbs-page-rooms-index .no-print, body.rbs-ui.rbs-page-rooms-index .modal-backdrop{
        display:none !important;
    }
    body.rbs-ui.rbs-page-rooms-index .page-shell, body.rbs-ui.rbs-page-rooms-index .page-main, body.rbs-ui.rbs-page-rooms-index .wrap{
        display:block;
        width:100%;
        max-width:none;
        margin:0;
        padding:0;
    }
    body.rbs-ui.rbs-page-rooms-index .panel{
        box-shadow:none;
        border:1px solid #ccc;
        margin-bottom:20px;
        page-break-inside:avoid;
    }
    body.rbs-ui.rbs-page-rooms-index .tab-panel{
        display:none !important;
    }
    body.rbs-ui.rbs-page-rooms-index .tab-panel.active{
        display:block !important;
    }
    body.rbs-ui.rbs-page-rooms-index .panel-head{
        padding:12px 16px;
    }
    body.rbs-ui.rbs-page-rooms-index .table-wrap{
        overflow:visible;
    }
    body.rbs-ui.rbs-page-rooms-index th, body.rbs-ui.rbs-page-rooms-index td{
        padding:10px 12px;
    }
    body.rbs-ui.rbs-page-rooms-index .list-cards{
        display:none !important;
    }
}


/* Migrated from /rooms/rates.php (page-scoped). */
body.rbs-ui.rbs-page-rooms-rates{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --ok-bg:#ecfdf5;
    --ok-line:#bbf7d0;
    --ok-text:#166534;
    --warn-bg:#fff7ed;
    --warn-line:#fed7aa;
    --warn-text:#9a3412;
    --disabled-bg:#e5e7eb;
    --disabled-text:#6b7280;
    --disabled-line:#d1d5db;
    --info-bg:#eff6ff;
    --info-line:#bfdbfe;
    --info-text:#1d4ed8;
    --error-bg:#fef2f2;
    --error-line:#fecaca;
    --error-text:#991b1b;
    --draft-bg:#f8fafc;
    --draft-line:#cbd5e1;
    --draft-text:#334155;
}
body.rbs-ui.rbs-page-rooms-rates *{box-sizing:border-box}
body.rbs-ui.rbs-page-rooms-rates{
    margin:0;
    font-family:Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-rooms-rates .wrap{
    max-width:1400px;
    margin:0 auto;
    padding:28px 20px 40px;
}
body.rbs-ui.rbs-page-rooms-rates .breadcrumbs{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:18px;
    color:var(--muted);
    font-size:14px;
}
body.rbs-ui.rbs-page-rooms-rates .breadcrumbs a{
    color:var(--muted);
    text-decoration:none;
}
body.rbs-ui.rbs-page-rooms-rates .breadcrumbs strong{
    color:var(--text);
}
body.rbs-ui.rbs-page-rooms-rates .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:20px;
}
body.rbs-ui.rbs-page-rooms-rates .topbar-left{
    display:flex;
    align-items:center;
    gap:16px;
}
body.rbs-ui.rbs-page-rooms-rates .title h1{
    margin:0 0 6px;
    font-size:32px;
}
body.rbs-ui.rbs-page-rooms-rates .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}
body.rbs-ui.rbs-page-rooms-rates .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-rooms-rates .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}
body.rbs-ui.rbs-page-rooms-rates .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-rooms-rates .btn.secondary{
    background:#fff;
    color:var(--brand-dark);
    border:1px solid #d6c2b0;
}
body.rbs-ui.rbs-page-rooms-rates .btn.danger{
    background:#fff;
    color:#991b1b;
    border:1px solid #fecaca;
}
body.rbs-ui.rbs-page-rooms-rates .btn.disabled{
    background:var(--disabled-bg);
    color:var(--disabled-text);
    border:1px solid var(--disabled-line);
    pointer-events:none;
    cursor:not-allowed;
}
body.rbs-ui.rbs-page-rooms-rates .hero{
    background:linear-gradient(135deg, #1e293b 0%, #334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}
body.rbs-ui.rbs-page-rooms-rates .hero h2{
    margin:0 0 10px;
    font-size:28px;
}
body.rbs-ui.rbs-page-rooms-rates .hero p{
    margin:0;
    max-width:850px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}
body.rbs-ui.rbs-page-rooms-rates .stats{
    display:grid;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    gap:14px;
    margin-top:22px;
}
body.rbs-ui.rbs-page-rooms-rates .stat{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    padding:16px;
}
body.rbs-ui.rbs-page-rooms-rates .stat-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    opacity:.8;
    margin-bottom:6px;
}
body.rbs-ui.rbs-page-rooms-rates .stat-value{
    font-size:22px;
    font-weight:700;
}
body.rbs-ui.rbs-page-rooms-rates .notice{
    border-radius:16px;
    padding:16px 18px;
    margin-bottom:22px;
    box-shadow:var(--shadow);
}
body.rbs-ui.rbs-page-rooms-rates .notice.info{
    background:var(--info-bg);
    color:var(--info-text);
    border:1px solid var(--info-line);
}
body.rbs-ui.rbs-page-rooms-rates .notice.error{
    background:var(--error-bg);
    color:var(--error-text);
    border:1px solid var(--error-line);
}
body.rbs-ui.rbs-page-rooms-rates .notice.success{
    background:var(--ok-bg);
    color:var(--ok-text);
    border:1px solid var(--ok-line);
}
body.rbs-ui.rbs-page-rooms-rates .panel{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    box-shadow:var(--shadow);
    overflow:hidden;
    margin-bottom:22px;
}
body.rbs-ui.rbs-page-rooms-rates .panel-head{
    padding:20px;
    border-bottom:1px solid var(--line);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-rooms-rates .panel-head h3{
    margin:0;
    font-size:22px;
}
body.rbs-ui.rbs-page-rooms-rates .panel-head p{
    margin:6px 0 0;
    color:var(--muted);
}
body.rbs-ui.rbs-page-rooms-rates .filters{
    padding:20px;
    border-bottom:1px solid var(--line);
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:14px;
}
body.rbs-ui.rbs-page-rooms-rates .field{
    display:flex;
    flex-direction:column;
    gap:8px;
}
body.rbs-ui.rbs-page-rooms-rates .field label{
    font-size:13px;
    font-weight:700;
    color:var(--muted);
}
body.rbs-ui.rbs-page-rooms-rates .field input, body.rbs-ui.rbs-page-rooms-rates .field select, body.rbs-ui.rbs-page-rooms-rates .field textarea{
    width:100%;
    min-height:44px;
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px 12px;
    font:inherit;
    background:#fff;
    color:var(--text);
}
body.rbs-ui.rbs-page-rooms-rates .field textarea{
    min-height:120px;
    resize:vertical;
}
body.rbs-ui.rbs-page-rooms-rates .table-wrap{
    width:100%;
    overflow:auto;
}
body.rbs-ui.rbs-page-rooms-rates table{
    width:100%;
    border-collapse:collapse;
}
body.rbs-ui.rbs-page-rooms-rates th, body.rbs-ui.rbs-page-rooms-rates td{
    text-align:left;
    padding:16px 20px;
    border-bottom:1px solid var(--line);
    vertical-align:top;
}
body.rbs-ui.rbs-page-rooms-rates th{
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--muted);
    background:#f8fafc;
}
body.rbs-ui.rbs-page-rooms-rates tr:last-child td{
    border-bottom:none;
}
body.rbs-ui.rbs-page-rooms-rates .badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    padding:0 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    border:1px solid transparent;
    white-space:nowrap;
}
body.rbs-ui.rbs-page-rooms-rates .badge.active{
    background:var(--ok-bg);
    border-color:var(--ok-line);
    color:var(--ok-text);
}
body.rbs-ui.rbs-page-rooms-rates .badge.draft{
    background:var(--draft-bg);
    border-color:var(--draft-line);
    color:var(--draft-text);
}
body.rbs-ui.rbs-page-rooms-rates .badge.paused{
    background:var(--warn-bg);
    border-color:var(--warn-line);
    color:var(--warn-text);
}
body.rbs-ui.rbs-page-rooms-rates .badge.inactive{
    background:var(--disabled-bg);
    border-color:var(--disabled-line);
    color:var(--disabled-text);
}
body.rbs-ui.rbs-page-rooms-rates .table-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-rooms-rates .mini-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:0 12px;
    border-radius:10px;
    text-decoration:none;
    font-size:13px;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}
body.rbs-ui.rbs-page-rooms-rates .mini-btn.delete{
    color:#991b1b;
    border-color:#fecaca;
}
body.rbs-ui.rbs-page-rooms-rates .mini-btn.disabled{
    background:var(--disabled-bg);
    color:var(--disabled-text);
    border-color:var(--disabled-line);
    pointer-events:none;
    cursor:not-allowed;
}
body.rbs-ui.rbs-page-rooms-rates .mini-form{
    margin:0;
}
body.rbs-ui.rbs-page-rooms-rates .form-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:16px;
    padding:20px;
}
body.rbs-ui.rbs-page-rooms-rates .full{
    grid-column:1 / -1;
}
body.rbs-ui.rbs-page-rooms-rates .foot-note{
    padding:0 20px 20px;
    color:var(--muted);
    font-size:14px;
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-rooms-rates .modal{
    position:fixed;
    inset:0;
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:rgba(15,23,42,.55);
    z-index:1000;
}
body.rbs-ui.rbs-page-rooms-rates .modal.is-open{
    display:flex;
}
body.rbs-ui.rbs-page-rooms-rates .modal-dialog{
    width:min(980px, 100%);
    max-height:calc(100vh - 40px);
    overflow:auto;
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    box-shadow:0 24px 60px rgba(15,23,42,.28);
}
body.rbs-ui.rbs-page-rooms-rates .modal-head{
    position:sticky;
    top:0;
    z-index:5;
    padding:20px;
    border-bottom:1px solid var(--line);
    background:var(--card);
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
}
body.rbs-ui.rbs-page-rooms-rates .modal-head h3{
    margin:0;
    font-size:22px;
}
body.rbs-ui.rbs-page-rooms-rates .modal-head p{
    margin:6px 0 0;
    color:var(--muted);
}
body.rbs-ui.rbs-page-rooms-rates .modal-close{
    min-width:44px;
    min-height:44px;
    border-radius:12px;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    font-size:24px;
    line-height:1;
    cursor:pointer;
}
body.rbs-ui.rbs-page-rooms-rates{
    overflow-x:hidden;
    overflow-y:auto;
}
body.rbs-ui.rbs-page-rooms-rates .empty-row{
    color:var(--muted);
    text-align:center;
}
body.rbs-ui.rbs-page-rooms-rates .muted{
    color:var(--muted);
    font-size:13px;
}
@media (max-width: 1100px){
    body.rbs-ui.rbs-page-rooms-rates .form-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 900px){
    body.rbs-ui.rbs-page-rooms-rates .filters, body.rbs-ui.rbs-page-rooms-rates .stats{
        grid-template-columns:1fr;
    }
}
@media (max-width: 700px){
    body.rbs-ui.rbs-page-rooms-rates .wrap{
        padding:20px 14px 32px;
    }
    body.rbs-ui.rbs-page-rooms-rates .title h1{
        font-size:26px;
    }
    body.rbs-ui.rbs-page-rooms-rates .hero h2{
        font-size:24px;
    }
    body.rbs-ui.rbs-page-rooms-rates th, body.rbs-ui.rbs-page-rooms-rates td{
        padding:14px 12px;
    }
    body.rbs-ui.rbs-page-rooms-rates .panel-head, body.rbs-ui.rbs-page-rooms-rates .filters, body.rbs-ui.rbs-page-rooms-rates .form-grid, body.rbs-ui.rbs-page-rooms-rates .modal-head{
        padding:16px;
    }
    body.rbs-ui.rbs-page-rooms-rates .foot-note{
        padding:0 16px 16px;
    }
    body.rbs-ui.rbs-page-rooms-rates .form-grid{
        grid-template-columns:1fr;
    }
}

/* Migrated from /rooms/room_types/add_type.php (page-scoped). */
body.rbs-ui.rbs-page-rooms-room-types-add-type{
    --bg:#f8fafc;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --bad-bg:#fef2f2;
    --bad-line:#fecaca;
    --bad-text:#991b1b;
}
body.rbs-ui.rbs-page-rooms-room-types-add-type *{box-sizing:border-box}
body.rbs-ui.rbs-page-rooms-room-types-add-type{
    margin:0;
    font-family:Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-rooms-room-types-add-type .page{
    padding:16px;
}
body.rbs-ui.rbs-page-rooms-room-types-add-type .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:var(--shadow);
    overflow:hidden;
}
body.rbs-ui.rbs-page-rooms-room-types-add-type .card-head{
    padding:18px 20px;
    border-bottom:1px solid var(--line);
}
body.rbs-ui.rbs-page-rooms-room-types-add-type .card-head h1{
    margin:0;
    font-size:24px;
}
body.rbs-ui.rbs-page-rooms-room-types-add-type .card-head p{
    margin:8px 0 0;
    color:var(--muted);
    font-size:14px;
}
body.rbs-ui.rbs-page-rooms-room-types-add-type .alert{
    margin:16px;
    border:1px solid var(--bad-line);
    background:var(--bad-bg);
    color:var(--bad-text);
    border-radius:14px;
    padding:14px 16px;
    display:flex;
    align-items:flex-start;
    gap:12px;
}
body.rbs-ui.rbs-page-rooms-room-types-add-type .alert-body{
    flex:1;
    min-width:0;
}
body.rbs-ui.rbs-page-rooms-room-types-add-type .alert-dismiss{
    flex-shrink:0;
    background:none;
    border:none;
    cursor:pointer;
    font-size:18px;
    line-height:1;
    color:var(--bad-text);
    padding:0;
    margin-top:1px;
}
body.rbs-ui.rbs-page-rooms-room-types-add-type .form-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
    padding:16px;
}
body.rbs-ui.rbs-page-rooms-room-types-add-type .field{
    display:flex;
    flex-direction:column;
    gap:8px;
}
body.rbs-ui.rbs-page-rooms-room-types-add-type .field.full{
    grid-column:1 / -1;
}
body.rbs-ui.rbs-page-rooms-room-types-add-type .field label{
    font-size:13px;
    font-weight:700;
    color:var(--muted);
}
body.rbs-ui.rbs-page-rooms-room-types-add-type .field input, body.rbs-ui.rbs-page-rooms-room-types-add-type .field select, body.rbs-ui.rbs-page-rooms-room-types-add-type .field textarea{
    width:100%;
    min-height:44px;
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px 12px;
    font:inherit;
    background:#fff;
    color:var(--text);
}
body.rbs-ui.rbs-page-rooms-room-types-add-type .field input[type="checkbox"]{
    width:18px;
    height:18px;
    min-height:auto;
    margin:0;
    padding:0;
}
body.rbs-ui.rbs-page-rooms-room-types-add-type .field textarea{
    min-height:120px;
    resize:vertical;
}
body.rbs-ui.rbs-page-rooms-room-types-add-type .check-row{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:44px;
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px 12px;
    background:#fff;
}
body.rbs-ui.rbs-page-rooms-room-types-add-type .help-text{
    font-size:12px;
    color:var(--muted);
}
body.rbs-ui.rbs-page-rooms-room-types-add-type .foot{
    padding:16px;
    border-top:1px solid var(--line);
    display:flex;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-rooms-room-types-add-type .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 14px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}
body.rbs-ui.rbs-page-rooms-room-types-add-type .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
@media (max-width: 700px){
    body.rbs-ui.rbs-page-rooms-room-types-add-type .page{
        padding:10px;
    }
    body.rbs-ui.rbs-page-rooms-room-types-add-type .form-grid{
        grid-template-columns:1fr;
    }
    body.rbs-ui.rbs-page-rooms-room-types-add-type .foot{
        padding:14px;
    }
    body.rbs-ui.rbs-page-rooms-room-types-add-type .card-head h1{
        font-size:22px;
    }
}

/* Migrated from /rooms/room_types/delete_type.php (page-scoped). */
body.rbs-ui.rbs-page-rooms-room-types-delete-type{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --ok-bg:#ecfdf5;
    --ok-line:#bbf7d0;
    --ok-text:#166534;
    --warn-bg:#fff7ed;
    --warn-line:#fed7aa;
    --warn-text:#9a3412;
    --bad-bg:#fef2f2;
    --bad-line:#fecaca;
    --bad-text:#991b1b;
    --info-bg:#eff6ff;
    --info-line:#bfdbfe;
    --info-text:#1d4ed8;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type *{box-sizing:border-box}

body.rbs-ui.rbs-page-rooms-room-types-delete-type{
    margin:0;
    font-family:Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .page-shell{
    display:flex;
    min-height:100vh;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .page-main{
    flex:1;
    min-width:0;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .wrap{
    max-width:1400px;
    margin:0 auto;
    padding:28px 20px 40px;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .breadcrumbs{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:18px;
    color:var(--muted);
    font-size:14px;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .breadcrumbs a{
    color:var(--muted);
    text-decoration:none;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .breadcrumbs strong{
    color:var(--text);
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:20px;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .title h1{
    margin:0 0 6px;
    font-size:32px;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .btn.danger{
    background:linear-gradient(180deg, #b91c1c 0%, #991b1b 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .hero{
    background:linear-gradient(135deg, #7f1d1d 0%, #991b1b 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .hero h2{
    margin:0 0 10px;
    font-size:28px;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .hero p{
    margin:0;
    max-width:850px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .stats{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:14px;
    margin-top:22px;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .stat{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    padding:16px;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .stat-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    opacity:.8;
    margin-bottom:6px;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .stat-value{
    font-size:22px;
    font-weight:700;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .notice{
    background:var(--bad-bg);
    color:var(--bad-text);
    border:1px solid var(--bad-line);
    border-radius:16px;
    padding:16px 18px;
    margin-bottom:22px;
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .notice div + div{
    margin-top:6px;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .alt-box{
    background:var(--info-bg);
    color:var(--info-text);
    border:1px solid var(--info-line);
    border-radius:16px;
    padding:16px 18px;
    margin-bottom:22px;
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .alt-box h3{
    margin:0 0 10px;
    font-size:18px;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .alt-box ul{
    margin:0;
    padding-left:18px;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .alt-box li + li{
    margin-top:6px;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .alt-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:16px;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .panel{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    box-shadow:var(--shadow);
    overflow:hidden;
    margin-bottom:22px;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .panel-head{
    padding:20px;
    border-bottom:1px solid var(--line);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .panel-head h3{
    margin:0;
    font-size:22px;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .panel-head p{
    margin:6px 0 0;
    color:var(--muted);
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .detail-grid{
    display:grid;
    grid-template-columns:220px 1fr;
    gap:0;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .detail-row{
    display:contents;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .detail-label, body.rbs-ui.rbs-page-rooms-room-types-delete-type .detail-value{
    padding:16px 20px;
    border-bottom:1px solid var(--line);
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .detail-label{
    font-size:13px;
    font-weight:700;
    color:var(--muted);
    background:#f8fafc;
    text-transform:uppercase;
    letter-spacing:.06em;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .detail-value{
    color:var(--text);
    line-height:1.6;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .detail-grid .detail-row:last-child .detail-label, body.rbs-ui.rbs-page-rooms-room-types-delete-type .detail-grid .detail-row:last-child .detail-value{
    border-bottom:none;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    padding:0 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    border:1px solid transparent;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .badge.active{
    background:var(--ok-bg);
    border-color:var(--ok-line);
    color:var(--ok-text);
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .badge.planned{
    background:var(--warn-bg);
    border-color:var(--warn-line);
    color:var(--warn-text);
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .badge.inactive{
    background:var(--bad-bg);
    border-color:var(--bad-line);
    color:var(--bad-text);
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .foot-note{
    padding:20px;
    border-top:1px solid var(--line);
    background:#fff;
}

body.rbs-ui.rbs-page-rooms-room-types-delete-type .foot-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

@media (max-width: 900px){
    body.rbs-ui.rbs-page-rooms-room-types-delete-type .stats{
        grid-template-columns:1fr;
    }

    body.rbs-ui.rbs-page-rooms-room-types-delete-type .detail-grid{
        grid-template-columns:1fr;
    }

    body.rbs-ui.rbs-page-rooms-room-types-delete-type .detail-label{
        border-bottom:none;
        padding-bottom:6px;
    }

    body.rbs-ui.rbs-page-rooms-room-types-delete-type .detail-value{
        padding-top:0;
    }

    body.rbs-ui.rbs-page-rooms-room-types-delete-type .detail-row{
        display:block;
        border-bottom:1px solid var(--line);
    }

    body.rbs-ui.rbs-page-rooms-room-types-delete-type .detail-grid .detail-row:last-child{
        border-bottom:none;
    }
}

@media (max-width: 700px){
    body.rbs-ui.rbs-page-rooms-room-types-delete-type .wrap{
        padding:20px 14px 32px;
    }

    body.rbs-ui.rbs-page-rooms-room-types-delete-type .title h1{
        font-size:26px;
    }

    body.rbs-ui.rbs-page-rooms-room-types-delete-type .hero h2{
        font-size:24px;
    }

    body.rbs-ui.rbs-page-rooms-room-types-delete-type .panel-head{
        padding:16px;
    }

    body.rbs-ui.rbs-page-rooms-room-types-delete-type .detail-label, body.rbs-ui.rbs-page-rooms-room-types-delete-type .detail-value, body.rbs-ui.rbs-page-rooms-room-types-delete-type .foot-note{
        padding-left:16px;
        padding-right:16px;
    }
}

/* Migrated from /rooms/room_types/edit_type.php (page-scoped). */
body.rbs-ui.rbs-page-rooms-room-types-edit-type{
    --bg:#f8fafc;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --bad-bg:#fef2f2;
    --bad-line:#fecaca;
    --bad-text:#991b1b;
    --ok-bg:#ecfdf5;
    --ok-line:#bbf7d0;
    --ok-text:#166534;
    --info-bg:#eff6ff;
    --info-line:#bfdbfe;
    --info-text:#1d4ed8;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type *{box-sizing:border-box}
body.rbs-ui.rbs-page-rooms-room-types-edit-type{
    margin:0;
    font-family:Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .page{
    padding:16px;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:var(--shadow);
    overflow:hidden;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .card-head{
    padding:18px 20px;
    border-bottom:1px solid var(--line);
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .card-head h1{
    margin:0;
    font-size:24px;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .card-head p{
    margin:8px 0 0;
    color:var(--muted);
    font-size:14px;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .alert{
    margin:16px;
    border:1px solid var(--bad-line);
    background:var(--bad-bg);
    color:var(--bad-text);
    border-radius:14px;
    padding:14px 16px;
    display:flex;
    align-items:flex-start;
    gap:12px;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .alert-body{ flex:1; min-width:0; }
body.rbs-ui.rbs-page-rooms-room-types-edit-type .alert-dismiss{
    flex-shrink:0;
    background:none;
    border:none;
    cursor:pointer;
    font-size:18px;
    line-height:1;
    color:var(--bad-text);
    padding:0;
    margin-top:1px;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .info-box{
    margin:16px;
    border:1px solid var(--info-line);
    background:var(--info-bg);
    color:var(--info-text);
    border-radius:14px;
    padding:14px 16px;
    display:none;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .info-box.show{
    display:block;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .ok-box{
    margin:16px;
    border:1px solid var(--ok-line);
    background:var(--ok-bg);
    color:var(--ok-text);
    border-radius:14px;
    padding:14px 16px;
    display:none;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .ok-box.show{
    display:block;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .preview-card{
    margin:16px 16px 0;
    padding:16px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#f8fafc;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .preview-card h3{
    margin:0 0 12px;
    font-size:16px;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .preview-image{
    width:220px;
    max-width:100%;
    height:auto;
    border-radius:14px;
    border:1px solid var(--line);
    display:block;
    background:#fff;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .preview-empty{
    color:var(--muted);
    font-size:14px;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .form-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
    padding:16px;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .field{
    display:flex;
    flex-direction:column;
    gap:8px;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .field.full{
    grid-column:1 / -1;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .field label{
    font-size:13px;
    font-weight:700;
    color:var(--muted);
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .field input, body.rbs-ui.rbs-page-rooms-room-types-edit-type .field select, body.rbs-ui.rbs-page-rooms-room-types-edit-type .field textarea{
    width:100%;
    min-height:44px;
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px 12px;
    font:inherit;
    background:#fff;
    color:var(--text);
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .field input[type="checkbox"]{
    width:18px;
    height:18px;
    min-height:auto;
    margin:0;
    padding:0;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .field input[type="file"]{
    padding:8px 12px;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .field textarea{
    min-height:120px;
    resize:vertical;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .check-row{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:44px;
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px 12px;
    background:#fff;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .help-text, body.rbs-ui.rbs-page-rooms-room-types-edit-type .upload-file-note{
    font-size:12px;
    color:var(--muted);
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .upload-row{
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .selected-preview-wrap{
    margin-top:12px;
    display:none;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .selected-preview-wrap.show{
    display:block;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .selected-preview-image{
    width:220px;
    max-width:100%;
    height:auto;
    border-radius:14px;
    border:1px solid var(--line);
    display:block;
    background:#fff;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .foot{
    padding:16px;
    border-top:1px solid var(--line);
    display:flex;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 14px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-rooms-room-types-edit-type .btn:disabled{
    opacity:.7;
    cursor:not-allowed;
}
@media (max-width: 700px){
    body.rbs-ui.rbs-page-rooms-room-types-edit-type .page{
        padding:10px;
    }
    body.rbs-ui.rbs-page-rooms-room-types-edit-type .form-grid{
        grid-template-columns:1fr;
    }
    body.rbs-ui.rbs-page-rooms-room-types-edit-type .foot{
        padding:14px;
    }
    body.rbs-ui.rbs-page-rooms-room-types-edit-type .card-head h1{
        font-size:22px;
    }
}

/* Migrated from /rooms/room_types/view_type.php (page-scoped). */
body.rbs-ui.rbs-page-rooms-room-types-view-type{
    --bg:#f8fafc;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --ok-bg:#ecfdf5;
    --ok-line:#bbf7d0;
    --ok-text:#166534;
    --warn-bg:#fff7ed;
    --warn-line:#fed7aa;
    --warn-text:#9a3412;
    --bad-bg:#fef2f2;
    --bad-line:#fecaca;
    --bad-text:#991b1b;
}
body.rbs-ui.rbs-page-rooms-room-types-view-type *{box-sizing:border-box}
body.rbs-ui.rbs-page-rooms-room-types-view-type{
    margin:0;
    font-family:Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-rooms-room-types-view-type .page{
    padding:16px;
}
body.rbs-ui.rbs-page-rooms-room-types-view-type .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:var(--shadow);
    overflow:hidden;
}
body.rbs-ui.rbs-page-rooms-room-types-view-type .card-head{
    padding:18px 20px;
    border-bottom:1px solid var(--line);
}
body.rbs-ui.rbs-page-rooms-room-types-view-type .card-head h1{
    margin:0;
    font-size:24px;
}
body.rbs-ui.rbs-page-rooms-room-types-view-type .card-head p{
    margin:8px 0 0;
    color:var(--muted);
    font-size:14px;
}
body.rbs-ui.rbs-page-rooms-room-types-view-type .stats{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:12px;
    padding:16px;
    border-bottom:1px solid var(--line);
    background:#f8fafc;
}
body.rbs-ui.rbs-page-rooms-room-types-view-type .stat{
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    padding:14px;
}
body.rbs-ui.rbs-page-rooms-room-types-view-type .stat-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--muted);
    margin-bottom:6px;
}
body.rbs-ui.rbs-page-rooms-room-types-view-type .stat-value{
    font-size:20px;
    font-weight:700;
    color:var(--text);
}
body.rbs-ui.rbs-page-rooms-room-types-view-type .detail-grid{
    display:grid;
    grid-template-columns:220px 1fr;
    gap:0;
}
body.rbs-ui.rbs-page-rooms-room-types-view-type .detail-row{
    display:contents;
}
body.rbs-ui.rbs-page-rooms-room-types-view-type .detail-label, body.rbs-ui.rbs-page-rooms-room-types-view-type .detail-value{
    padding:16px 20px;
    border-bottom:1px solid var(--line);
}
body.rbs-ui.rbs-page-rooms-room-types-view-type .detail-label{
    font-size:13px;
    font-weight:700;
    color:var(--muted);
    background:#f8fafc;
    text-transform:uppercase;
    letter-spacing:.06em;
}
body.rbs-ui.rbs-page-rooms-room-types-view-type .detail-value{
    color:var(--text);
    line-height:1.6;
}
body.rbs-ui.rbs-page-rooms-room-types-view-type .detail-grid .detail-row:last-child .detail-label, body.rbs-ui.rbs-page-rooms-room-types-view-type .detail-grid .detail-row:last-child .detail-value{
    border-bottom:none;
}
body.rbs-ui.rbs-page-rooms-room-types-view-type .badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    padding:0 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    border:1px solid transparent;
}
body.rbs-ui.rbs-page-rooms-room-types-view-type .badge.active{
    background:var(--ok-bg);
    border-color:var(--ok-line);
    color:var(--ok-text);
}
body.rbs-ui.rbs-page-rooms-room-types-view-type .badge.planned{
    background:var(--warn-bg);
    border-color:var(--warn-line);
    color:var(--warn-text);
}
body.rbs-ui.rbs-page-rooms-room-types-view-type .badge.inactive{
    background:var(--bad-bg);
    border-color:var(--bad-line);
    color:var(--bad-text);
}
body.rbs-ui.rbs-page-rooms-room-types-view-type .foot{
    padding:16px;
    border-top:1px solid var(--line);
    display:flex;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-rooms-room-types-view-type .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 14px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}
body.rbs-ui.rbs-page-rooms-room-types-view-type .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
@media (max-width: 900px){
    body.rbs-ui.rbs-page-rooms-room-types-view-type .stats{
        grid-template-columns:1fr 1fr;
    }
    body.rbs-ui.rbs-page-rooms-room-types-view-type .detail-grid{
        grid-template-columns:1fr;
    }
    body.rbs-ui.rbs-page-rooms-room-types-view-type .detail-label{
        border-bottom:none;
        padding-bottom:6px;
    }
    body.rbs-ui.rbs-page-rooms-room-types-view-type .detail-value{
        padding-top:0;
    }
    body.rbs-ui.rbs-page-rooms-room-types-view-type .detail-row{
        display:block;
        border-bottom:1px solid var(--line);
    }
    body.rbs-ui.rbs-page-rooms-room-types-view-type .detail-grid .detail-row:last-child{
        border-bottom:none;
    }
}
@media (max-width: 700px){
    body.rbs-ui.rbs-page-rooms-room-types-view-type .page{
        padding:10px;
    }
    body.rbs-ui.rbs-page-rooms-room-types-view-type .stats{
        grid-template-columns:1fr;
    }
    body.rbs-ui.rbs-page-rooms-room-types-view-type .foot{
        padding:14px;
    }
    body.rbs-ui.rbs-page-rooms-room-types-view-type .card-head h1{
        font-size:22px;
    }
    body.rbs-ui.rbs-page-rooms-room-types-view-type .detail-label, body.rbs-ui.rbs-page-rooms-room-types-view-type .detail-value{
        padding-left:16px;
        padding-right:16px;
    }
}

/* Migrated from /rooms/types.php (page-scoped). */
body.rbs-ui.rbs-page-rooms-types{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --ok-bg:#ecfdf5;
    --ok-line:#bbf7d0;
    --ok-text:#166534;
    --warn-bg:#fff7ed;
    --warn-line:#fed7aa;
    --warn-text:#9a3412;
    --bad-bg:#fef2f2;
    --bad-line:#fecaca;
    --bad-text:#991b1b;
}
body.rbs-ui.rbs-page-rooms-types *{box-sizing:border-box}
body.rbs-ui.rbs-page-rooms-types{
    margin:0;
    font-family:Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-rooms-types{
    overflow-x:hidden;
    overflow-y:auto;
}
body.rbs-ui.rbs-page-rooms-types .page-shell{
    display:flex;
    min-height:100vh;
}
body.rbs-ui.rbs-page-rooms-types .page-main{
    flex:1;
    min-width:0;
}
body.rbs-ui.rbs-page-rooms-types .wrap{
    max-width:1400px;
    margin:0 auto;
    padding:28px 20px 40px;
}
body.rbs-ui.rbs-page-rooms-types .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:20px;
}
body.rbs-ui.rbs-page-rooms-types .topbar-left{
    display: flex;
    align-items: center;
    gap: 16px;
}
body.rbs-ui.rbs-page-rooms-types .title h1{
    margin:0 0 6px;
    font-size:32px;
}
body.rbs-ui.rbs-page-rooms-types .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}
body.rbs-ui.rbs-page-rooms-types .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-rooms-types .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}
body.rbs-ui.rbs-page-rooms-types .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-rooms-types .btn.disabled{
    background:#e5e7eb;
    color:#6b7280;
    border:1px solid #d1d5db;
    pointer-events:none;
    cursor:not-allowed;
}
body.rbs-ui.rbs-page-rooms-types .hero{
    background:linear-gradient(135deg, #1e293b 0%, #334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:24px;
}
body.rbs-ui.rbs-page-rooms-types .hero h2{
    margin:0 0 10px;
    font-size:28px;
}
body.rbs-ui.rbs-page-rooms-types .hero p{
    margin:0;
    max-width:850px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}
body.rbs-ui.rbs-page-rooms-types .stats{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:14px;
    margin-top:22px;
}
body.rbs-ui.rbs-page-rooms-types .stat{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    padding:16px;
}
body.rbs-ui.rbs-page-rooms-types .stat-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    opacity:.8;
    margin-bottom:6px;
}
body.rbs-ui.rbs-page-rooms-types .stat-value{
    font-size:22px;
    font-weight:700;
}
body.rbs-ui.rbs-page-rooms-types .breadcrumbs{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:18px;
    color:var(--muted);
    font-size:14px;
}
body.rbs-ui.rbs-page-rooms-types .breadcrumbs a{
    color:var(--muted);
    text-decoration:none;
}
body.rbs-ui.rbs-page-rooms-types .breadcrumbs strong{
    color:var(--text);
}
body.rbs-ui.rbs-page-rooms-types .notice{
    border-radius:16px;
    padding:16px 18px;
    margin-bottom:22px;
    box-shadow:var(--shadow);
    border:1px solid var(--warn-line);
    background:var(--warn-bg);
    color:var(--warn-text);
}
body.rbs-ui.rbs-page-rooms-types .notice-ok{
    border-color:var(--ok-line);
    background:var(--ok-bg);
    color:var(--ok-text);
}
body.rbs-ui.rbs-page-rooms-types .notice-bad{
    border-color:var(--bad-line);
    background:var(--bad-bg);
    color:var(--bad-text);
}
body.rbs-ui.rbs-page-rooms-types .panel{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    box-shadow:var(--shadow);
    overflow:hidden;
    margin-bottom:22px;
}
body.rbs-ui.rbs-page-rooms-types .panel-head{
    padding:20px;
    border-bottom:1px solid var(--line);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-rooms-types .panel-head h3{
    margin:0;
    font-size:22px;
}
body.rbs-ui.rbs-page-rooms-types .panel-head p{
    margin:6px 0 0;
    color:var(--muted);
}
body.rbs-ui.rbs-page-rooms-types .filters{
    padding:20px;
    border-bottom:1px solid var(--line);
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr 1fr;
    gap:14px;
}
body.rbs-ui.rbs-page-rooms-types .field{
    display:flex;
    flex-direction:column;
    gap:8px;
}
body.rbs-ui.rbs-page-rooms-types .field label{
    font-size:13px;
    font-weight:700;
    color:var(--muted);
}
body.rbs-ui.rbs-page-rooms-types .field input, body.rbs-ui.rbs-page-rooms-types .field select, body.rbs-ui.rbs-page-rooms-types .field textarea{
    width:100%;
    min-height:44px;
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px 12px;
    font:inherit;
    background:#fff;
    color:var(--text);
}
body.rbs-ui.rbs-page-rooms-types .field input[type="checkbox"]{
    width:auto;
    min-height:auto;
    margin:0;
}
body.rbs-ui.rbs-page-rooms-types .field textarea{
    min-height:110px;
    resize:vertical;
}
body.rbs-ui.rbs-page-rooms-types .check-row{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:44px;
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px 12px;
    background:#fff;
}
body.rbs-ui.rbs-page-rooms-types .table-wrap{
    width:100%;
    overflow:auto;
}
body.rbs-ui.rbs-page-rooms-types table{
    width:100%;
    border-collapse:collapse;
}
body.rbs-ui.rbs-page-rooms-types th, body.rbs-ui.rbs-page-rooms-types td{
    text-align:left;
    padding:16px 20px;
    border-bottom:1px solid var(--line);
    vertical-align:top;
}
body.rbs-ui.rbs-page-rooms-types th{
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--muted);
    background:#f8fafc;
}
body.rbs-ui.rbs-page-rooms-types tr:last-child td{
    border-bottom:none;
}
body.rbs-ui.rbs-page-rooms-types .badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    padding:0 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    border:1px solid transparent;
}
body.rbs-ui.rbs-page-rooms-types .badge.active{
    background:var(--ok-bg);
    border-color:var(--ok-line);
    color:var(--ok-text);
}
body.rbs-ui.rbs-page-rooms-types .badge.planned{
    background:var(--warn-bg);
    border-color:var(--warn-line);
    color:var(--warn-text);
}
body.rbs-ui.rbs-page-rooms-types .badge.inactive{
    background:var(--bad-bg);
    border-color:var(--bad-line);
    color:var(--bad-text);
}
body.rbs-ui.rbs-page-rooms-types .badge.portal-on{
    background:#eff6ff;
    border-color:#bfdbfe;
    color:#1d4ed8;
}
body.rbs-ui.rbs-page-rooms-types .badge.portal-off{
    background:#f8fafc;
    border-color:#cbd5e1;
    color:#475569;
}
body.rbs-ui.rbs-page-rooms-types .thumb{
    width:90px;
    height:60px;
    border-radius:10px;
    object-fit:cover;
    border:1px solid var(--line);
    background:#f8fafc;
    display:block;
}
body.rbs-ui.rbs-page-rooms-types .thumb-placeholder{
    width:90px;
    height:60px;
    border-radius:10px;
    border:1px dashed var(--line);
    background:#f8fafc;
    color:var(--muted);
    font-size:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:6px;
}
body.rbs-ui.rbs-page-rooms-types .table-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-rooms-types .mini-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:0 12px;
    border-radius:10px;
    text-decoration:none;
    font-size:13px;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}
body.rbs-ui.rbs-page-rooms-types .mini-btn.disabled{
    background:#e5e7eb;
    color:#6b7280;
    border-color:#d1d5db;
    pointer-events:none;
}
body.rbs-ui.rbs-page-rooms-types .help-text{
    margin-top:6px;
    color:var(--muted);
    font-size:12px;
}

body.rbs-ui.rbs-page-rooms-types .modal-backdrop{
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.6);
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
    z-index:9999;
}
body.rbs-ui.rbs-page-rooms-types .modal-backdrop.active{
    display:flex;
}
body.rbs-ui.rbs-page-rooms-types .modal-card{
    width:min(1200px, 100%);
    height:min(90vh, 920px);
    background:#fff;
    border-radius:22px;
    box-shadow:0 30px 80px rgba(15,23,42,.35);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    border:1px solid rgba(226,232,240,.8);
}
body.rbs-ui.rbs-page-rooms-types .modal-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:16px 18px;
    border-bottom:1px solid var(--line);
    background:#fff;
}
body.rbs-ui.rbs-page-rooms-types .modal-head h3{
    margin:0;
    font-size:20px;
}
body.rbs-ui.rbs-page-rooms-types .modal-head-actions{
    display:flex;
    align-items:center;
    gap:10px;
}
body.rbs-ui.rbs-page-rooms-types .modal-close{
    width:40px;
    height:40px;
    border-radius:10px;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    font-size:20px;
    line-height:1;
    cursor:pointer;
}
body.rbs-ui.rbs-page-rooms-types .modal-body{
    flex:1;
    min-height:0;
    background:#f8fafc;
}
body.rbs-ui.rbs-page-rooms-types .modal-frame{
    width:100%;
    height:100%;
    border:0;
    background:#fff;
}

@media (max-width: 1100px){
    body.rbs-ui.rbs-page-rooms-types .filters{
        grid-template-columns:1fr 1fr;
    }
}
@media (max-width: 900px){
    body.rbs-ui.rbs-page-rooms-types .stats{
        grid-template-columns:1fr;
    }
}
@media (max-width: 700px){
    body.rbs-ui.rbs-page-rooms-types .filters{
        grid-template-columns:1fr;
    }
    body.rbs-ui.rbs-page-rooms-types .wrap{
        padding:20px 14px 32px;
    }
    body.rbs-ui.rbs-page-rooms-types .title h1{
        font-size:26px;
    }
    body.rbs-ui.rbs-page-rooms-types .hero h2{
        font-size:24px;
    }
    body.rbs-ui.rbs-page-rooms-types th, body.rbs-ui.rbs-page-rooms-types td{
        padding:14px 12px;
    }
    body.rbs-ui.rbs-page-rooms-types .panel-head, body.rbs-ui.rbs-page-rooms-types .filters{
        padding:16px;
    }
    body.rbs-ui.rbs-page-rooms-types .modal-backdrop{
        padding:10px;
    }
    body.rbs-ui.rbs-page-rooms-types .modal-card{
        width:100%;
        height:92vh;
        border-radius:16px;
    }
}

/* Migrated from /rooms/view_room.php (page-scoped). */
body.rbs-ui.rbs-page-rooms-view-room{
    --bg:#f8fafc;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --ok-bg:#ecfdf5;
    --ok-line:#bbf7d0;
    --ok-text:#166534;
    --warn-bg:#fff7ed;
    --warn-line:#fed7aa;
    --warn-text:#9a3412;
    --bad-bg:#fef2f2;
    --bad-line:#fecaca;
    --bad-text:#991b1b;
    --info-bg:#eff6ff;
    --info-line:#bfdbfe;
    --info-text:#1d4ed8;
}
body.rbs-ui.rbs-page-rooms-view-room *{box-sizing:border-box}
body.rbs-ui.rbs-page-rooms-view-room{
    margin:0;
    font-family:Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-rooms-view-room .page{
    padding:16px;
}
body.rbs-ui.rbs-page-rooms-view-room .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:var(--shadow);
    overflow:hidden;
}
body.rbs-ui.rbs-page-rooms-view-room .card-head{
    padding:18px 20px;
    border-bottom:1px solid var(--line);
}
body.rbs-ui.rbs-page-rooms-view-room .card-head h1{
    margin:0;
    font-size:24px;
}
body.rbs-ui.rbs-page-rooms-view-room .card-head p{
    margin:8px 0 0;
    color:var(--muted);
    font-size:14px;
}
body.rbs-ui.rbs-page-rooms-view-room .status-row{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:12px;
}
body.rbs-ui.rbs-page-rooms-view-room .grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
    padding:16px;
}
body.rbs-ui.rbs-page-rooms-view-room .panel{
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    overflow:hidden;
}
body.rbs-ui.rbs-page-rooms-view-room .panel.full{
    grid-column:1 / -1;
}
body.rbs-ui.rbs-page-rooms-view-room .panel-head{
    padding:16px;
    border-bottom:1px solid var(--line);
    background:#f8fafc;
}
body.rbs-ui.rbs-page-rooms-view-room .panel-head h3{
    margin:0;
    font-size:18px;
}
body.rbs-ui.rbs-page-rooms-view-room .panel-body{
    padding:16px;
}
body.rbs-ui.rbs-page-rooms-view-room .detail-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
}
body.rbs-ui.rbs-page-rooms-view-room .detail{
    background:#f8fafc;
    border:1px solid var(--line);
    border-radius:14px;
    padding:14px;
}
body.rbs-ui.rbs-page-rooms-view-room .detail.full{
    grid-column:1 / -1;
}
body.rbs-ui.rbs-page-rooms-view-room .detail-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--muted);
    margin-bottom:6px;
}
body.rbs-ui.rbs-page-rooms-view-room .detail-value{
    font-size:16px;
    font-weight:700;
    color:var(--text);
    word-break:break-word;
}
body.rbs-ui.rbs-page-rooms-view-room .badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    padding:0 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    border:1px solid transparent;
    white-space:nowrap;
}
body.rbs-ui.rbs-page-rooms-view-room .badge.vacant{
    background:var(--ok-bg);
    border-color:var(--ok-line);
    color:var(--ok-text);
}
body.rbs-ui.rbs-page-rooms-view-room .badge.occupied{
    background:var(--info-bg);
    border-color:var(--info-line);
    color:var(--info-text);
}
body.rbs-ui.rbs-page-rooms-view-room .badge.out-of-order, body.rbs-ui.rbs-page-rooms-view-room .badge.maintenance, body.rbs-ui.rbs-page-rooms-view-room .badge.dirty, body.rbs-ui.rbs-page-rooms-view-room .badge.inactive{
    background:var(--bad-bg);
    border-color:var(--bad-line);
    color:var(--bad-text);
}
body.rbs-ui.rbs-page-rooms-view-room .badge.clean, body.rbs-ui.rbs-page-rooms-view-room .badge.inspected, body.rbs-ui.rbs-page-rooms-view-room .badge.active{
    background:var(--ok-bg);
    border-color:var(--ok-line);
    color:var(--ok-text);
}
body.rbs-ui.rbs-page-rooms-view-room .badge.planned{
    background:var(--warn-bg);
    border-color:var(--warn-line);
    color:var(--warn-text);
}
body.rbs-ui.rbs-page-rooms-view-room .amenity-list{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
body.rbs-ui.rbs-page-rooms-view-room .amenity-chip{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 12px;
    border-radius:12px;
    background:#f8fafc;
    border:1px solid var(--line);
    font-size:14px;
    font-weight:700;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-rooms-view-room .amenity-code{
    font-size:12px;
    color:var(--muted);
    font-weight:600;
}
body.rbs-ui.rbs-page-rooms-view-room .empty{
    color:var(--muted);
}
body.rbs-ui.rbs-page-rooms-view-room .foot{
    padding:16px;
    border-top:1px solid var(--line);
    display:flex;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-rooms-view-room .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 14px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}
body.rbs-ui.rbs-page-rooms-view-room .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
@media (max-width: 900px){
    body.rbs-ui.rbs-page-rooms-view-room .grid, body.rbs-ui.rbs-page-rooms-view-room .detail-grid{
        grid-template-columns:1fr;
    }
}
@media (max-width: 700px){
    body.rbs-ui.rbs-page-rooms-view-room .page{
        padding:10px;
    }
    body.rbs-ui.rbs-page-rooms-view-room .grid{
        padding:10px;
    }
    body.rbs-ui.rbs-page-rooms-view-room .panel-head, body.rbs-ui.rbs-page-rooms-view-room .panel-body, body.rbs-ui.rbs-page-rooms-view-room .foot{
        padding:14px;
    }
    body.rbs-ui.rbs-page-rooms-view-room .card-head h1{
        font-size:22px;
    }
}

/* Migrated from /settings/domain_settings.php (page-scoped). */
body.rbs-ui.rbs-page-settings-domain-settings{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --ok-bg:#ecfdf5;
    --ok-line:#bbf7d0;
    --ok-text:#166534;
    --bad-bg:#fef2f2;
    --bad-line:#fecaca;
    --bad-text:#991b1b;
}
body.rbs-ui.rbs-page-settings-domain-settings *{box-sizing:border-box}
body.rbs-ui.rbs-page-settings-domain-settings{
    margin:0;
    font-family:Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-settings-domain-settings .wrap{
    max-width:1100px;
    margin:0 auto;
    padding:28px 20px 40px;
}
body.rbs-ui.rbs-page-settings-domain-settings .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-settings-domain-settings .topbar-left{
    display: flex;
    align-items: center;
    gap: 16px;
}
body.rbs-ui.rbs-page-settings-domain-settings .title h1{
    margin:0 0 6px;
    font-size:32px;
}
body.rbs-ui.rbs-page-settings-domain-settings .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}
body.rbs-ui.rbs-page-settings-domain-settings .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-settings-domain-settings .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
    cursor:pointer;
}
body.rbs-ui.rbs-page-settings-domain-settings .btn.primary{
    background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-settings-domain-settings .btn.secondary{
    background:#fff;
    color:#0f172a;
    border:1px solid var(--line);
}
body.rbs-ui.rbs-page-settings-domain-settings .btn.danger{
    background:#fff;
    color:#991b1b;
    border-color:#fecaca;
}
body.rbs-ui.rbs-page-settings-domain-settings .btn.small{
    min-height:36px;
    padding:0 12px;
    border-radius:10px;
    font-size:13px;
}
body.rbs-ui.rbs-page-settings-domain-settings .btn.upload-btn{
    gap:10px;
}
body.rbs-ui.rbs-page-settings-domain-settings .btn[disabled]{
    opacity:.7;
    cursor:not-allowed;
}
body.rbs-ui.rbs-page-settings-domain-settings .hero{
    background:linear-gradient(135deg,#1e293b 0%,#334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:22px;
}
body.rbs-ui.rbs-page-settings-domain-settings .hero h2{
    margin:0 0 10px;
    font-size:28px;
}
body.rbs-ui.rbs-page-settings-domain-settings .hero p{
    margin:0;
    max-width:800px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}
body.rbs-ui.rbs-page-settings-domain-settings .notice{
    border-radius:14px;
    padding:14px 16px;
    margin-bottom:18px;
    border:1px solid transparent;
    font-weight:600;
    line-height:1.5;
}
body.rbs-ui.rbs-page-settings-domain-settings .notice.ok{
    background:var(--ok-bg);
    border-color:var(--ok-line);
    color:var(--ok-text);
}
body.rbs-ui.rbs-page-settings-domain-settings .notice.bad{
    background:var(--bad-bg);
    border-color:var(--bad-line);
    color:var(--bad-text);
}
body.rbs-ui.rbs-page-settings-domain-settings .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    padding:22px;
    box-shadow:var(--shadow);
}
body.rbs-ui.rbs-page-settings-domain-settings .section + .section{
    margin-top:24px;
    padding-top:24px;
    border-top:1px solid var(--line);
}
body.rbs-ui.rbs-page-settings-domain-settings .section h3{
    margin:0 0 8px;
    font-size:20px;
}
body.rbs-ui.rbs-page-settings-domain-settings .section p{
    margin:0 0 16px;
    color:var(--muted);
    line-height:1.55;
}
body.rbs-ui.rbs-page-settings-domain-settings .grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
body.rbs-ui.rbs-page-settings-domain-settings .field{
    display:flex;
    flex-direction:column;
    gap:8px;
}
body.rbs-ui.rbs-page-settings-domain-settings .field.full{
    grid-column:1 / -1;
}
body.rbs-ui.rbs-page-settings-domain-settings label{
    font-weight:700;
    font-size:14px;
}
body.rbs-ui.rbs-page-settings-domain-settings input[type="text"], body.rbs-ui.rbs-page-settings-domain-settings input[type="url"], body.rbs-ui.rbs-page-settings-domain-settings input[type="file"]{
    width:100%;
    min-height:46px;
    padding:10px 12px;
    border:1px solid var(--line);
    border-radius:12px;
    font:inherit;
    background:#fff;
    color:var(--text);
}
body.rbs-ui.rbs-page-settings-domain-settings .help{
    color:var(--muted);
    font-size:13px;
    line-height:1.5;
}
body.rbs-ui.rbs-page-settings-domain-settings .upload-feedback{
    margin-top:8px;
    color:var(--muted);
    font-size:13px;
    line-height:1.5;
    min-height:22px;
}
body.rbs-ui.rbs-page-settings-domain-settings .upload-row{
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-settings-domain-settings .upload-row input[type="file"]{
    flex:1 1 260px;
}
body.rbs-ui.rbs-page-settings-domain-settings .spinner{
    width:16px;
    height:16px;
    border:2px solid rgba(255,255,255,.45);
    border-top-color:#fff;
    border-radius:50%;
    display:none;
    animation:spin .8s linear infinite;
}
body.rbs-ui.rbs-page-settings-domain-settings .spinner.show{
    display:inline-block;
}
@keyframes spin{
    to{transform:rotate(360deg);}
}
body.rbs-ui.rbs-page-settings-domain-settings .info-box{
    background:#f8fafc;
    border:1px solid #e2e8f0;
    padding:12px 14px;
    border-radius:12px;
}
body.rbs-ui.rbs-page-settings-domain-settings .info-box strong{
    color:#0f172a;
}
body.rbs-ui.rbs-page-settings-domain-settings .preview{
    margin-top:10px;
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    align-items:flex-start;
}
body.rbs-ui.rbs-page-settings-domain-settings .preview-box{
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    padding:12px;
    min-width:180px;
}
body.rbs-ui.rbs-page-settings-domain-settings .preview-box strong{
    display:block;
    margin-bottom:8px;
}
body.rbs-ui.rbs-page-settings-domain-settings .preview-box img{
    max-width:100%;
    max-height:80px;
    display:block;
}
body.rbs-ui.rbs-page-settings-domain-settings .preview-fallback{
    min-height:80px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:10px;
    border:1px dashed var(--line);
    border-radius:10px;
    background:#f8fafc;
    color:var(--muted);
    font-size:13px;
}
body.rbs-ui.rbs-page-settings-domain-settings .gallery{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
body.rbs-ui.rbs-page-settings-domain-settings .gallery-item{
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
    padding:14px;
}
body.rbs-ui.rbs-page-settings-domain-settings .gallery-thumb{
    width:100%;
    height:140px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#f8fafc;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    margin-bottom:12px;
}
body.rbs-ui.rbs-page-settings-domain-settings .gallery-thumb img{
    max-width:100%;
    max-height:100%;
    display:block;
}
body.rbs-ui.rbs-page-settings-domain-settings .gallery-name{
    font-weight:700;
    word-break:break-word;
    margin-bottom:6px;
}
body.rbs-ui.rbs-page-settings-domain-settings .gallery-meta{
    color:var(--muted);
    font-size:13px;
    line-height:1.5;
    margin-bottom:12px;
}
body.rbs-ui.rbs-page-settings-domain-settings .gallery-actions{
    display:flex;
    flex-direction:column;
    gap:8px;
}
body.rbs-ui.rbs-page-settings-domain-settings .gallery-actions-row{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-settings-domain-settings .gallery-actions form{
    margin:0;
}
body.rbs-ui.rbs-page-settings-domain-settings .mini-link{
    display:inline-block;
    color:#0f172a;
    text-decoration:none;
    font-size:13px;
    font-weight:700;
}
body.rbs-ui.rbs-page-settings-domain-settings .badge-row{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    margin-bottom:10px;
}
body.rbs-ui.rbs-page-settings-domain-settings .badge{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:0 8px;
    border-radius:999px;
    border:1px solid var(--line);
    font-size:12px;
    font-weight:700;
    background:#f8fafc;
    color:#334155;
}
body.rbs-ui.rbs-page-settings-domain-settings .form-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:24px;
}
@media (max-width:900px){
    body.rbs-ui.rbs-page-settings-domain-settings .gallery{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media (max-width:800px){
    body.rbs-ui.rbs-page-settings-domain-settings .grid{
        grid-template-columns:1fr;
    }
    body.rbs-ui.rbs-page-settings-domain-settings .title h1{
        font-size:26px;
    }
    body.rbs-ui.rbs-page-settings-domain-settings .hero h2{
        font-size:24px;
    }
}
@media (max-width:640px){
    body.rbs-ui.rbs-page-settings-domain-settings .gallery{
        grid-template-columns:1fr;
    }
    body.rbs-ui.rbs-page-settings-domain-settings .upload-row{
        flex-direction:column;
        align-items:stretch;
    }
}

/* Migrated from /settings/email_settings.php (page-scoped). */
body.rbs-ui.rbs-page-settings-email-settings{
    --bg:#f5f7fb;
    --panel:#ffffff;
    --panel-alt:#fbfcfe;
    --text:#111827;
    --muted:#6b7280;
    --line:#dbe3ee;
    --line-strong:#c8d3e1;
    --primary:#0f172a;
    --primary-2:#1d4ed8;
    --success-bg:#ecfdf5;
    --success-border:#a7f3d0;
    --success-text:#065f46;
    --danger-bg:#fef2f2;
    --danger-border:#fecaca;
    --danger-text:#991b1b;
    --warning-bg:#fff7ed;
    --warning-border:#fdba74;
    --warning-text:#9a3412;
    --shadow:0 10px 30px rgba(15, 23, 42, 0.06);
    --radius:16px;
}

body.rbs-ui.rbs-page-settings-email-settings *{box-sizing:border-box}

body.rbs-ui.rbs-page-settings-email-settings, body.rbs-ui.rbs-page-settings-email-settings{
    margin:0;
    padding:0;
    background:var(--bg);
    color:var(--text);
    font-family:Arial, Helvetica, sans-serif;
}

body.rbs-ui.rbs-page-settings-email-settings a{color:inherit}

body.rbs-ui.rbs-page-settings-email-settings .app-shell{min-height:100vh}

body.rbs-ui.rbs-page-settings-email-settings .page-shell{
    max-width:1280px;
    margin:0 auto;
    padding:24px 16px 40px;
}

body.rbs-ui.rbs-page-settings-email-settings .email-settings-shell{
    max-width:1280px;
    padding-top:28px;
}

body.rbs-ui.rbs-page-settings-email-settings .email-settings-frame{
    width:100%;
    max-width:1180px;
    margin:0 auto;
    padding:28px;
    background:rgba(255,255,255,.94);
    border:1px solid rgba(203,213,225,.9);
    border-radius:26px;
    box-shadow:0 28px 70px rgba(15,23,42,.12);
}

body.rbs-ui.rbs-page-settings-email-settings .email-settings-frame .rbs-app-banner{
    margin:0 0 22px;
}

body.rbs-ui.rbs-page-settings-email-settings .email-page-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    flex-wrap:wrap;
    margin:0 0 22px;
}

body.rbs-ui.rbs-page-settings-email-settings .email-title-row{
    display:flex;
    align-items:center;
    gap:16px;
    min-width:0;
    flex:1 1 auto;
}

body.rbs-ui.rbs-page-settings-email-settings .email-title-copy{
    min-width:0;
    max-width:860px;
}

body.rbs-ui.rbs-page-settings-email-settings .email-title-copy .page-subtitle{
    max-width:820px;
    white-space:normal;
    overflow-wrap:normal;
    word-break:normal;
}

body.rbs-ui.rbs-page-settings-email-settings .email-page-actions{
    flex:0 0 auto;
}

body.rbs-ui.rbs-page-settings-email-settings .page-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-settings-email-settings .page-eyebrow{
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--primary-2);
    margin:0 0 8px;
}

body.rbs-ui.rbs-page-settings-email-settings .page-title{
    margin:0;
    font-size:32px;
    line-height:1.15;
    font-weight:800;
}

body.rbs-ui.rbs-page-settings-email-settings .page-subtitle{
    margin:8px 0 0;
    color:var(--muted);
    font-size:15px;
}

body.rbs-ui.rbs-page-settings-email-settings .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:10px 16px;
    border-radius:12px;
    border:1px solid var(--line-strong);
    background:#fff;
    color:var(--text);
    font-weight:700;
    font-size:14px;
    text-decoration:none;
    cursor:pointer;
    transition:.15s ease;
}

body.rbs-ui.rbs-page-settings-email-settings .btn:hover{
    transform:translateY(-1px);
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-settings-email-settings .btn-primary{
    background:var(--primary);
    color:#fff;
    border-color:var(--primary);
}

body.rbs-ui.rbs-page-settings-email-settings .btn-secondary{
    background:#fff;
    color:var(--text);
}

body.rbs-ui.rbs-page-settings-email-settings .btn-test{
    background:#eff6ff;
    border-color:#bfdbfe;
    color:#1d4ed8;
}

body.rbs-ui.rbs-page-settings-email-settings .notice{
    border:1px solid transparent;
    border-radius:14px;
    padding:14px 16px;
    margin:0 0 16px;
    font-size:14px;
}

body.rbs-ui.rbs-page-settings-email-settings .notice.success{
    background:var(--success-bg);
    border-color:var(--success-border);
    color:var(--success-text);
}

body.rbs-ui.rbs-page-settings-email-settings .notice.error{
    background:var(--danger-bg);
    border-color:var(--danger-border);
    color:var(--danger-text);
}

body.rbs-ui.rbs-page-settings-email-settings .notice.warning{
    background:var(--warning-bg);
    border-color:var(--warning-border);
    color:var(--warning-text);
}

body.rbs-ui.rbs-page-settings-email-settings .stats{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:14px;
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-settings-email-settings .stat-card{
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:18px;
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-settings-email-settings .stat-label{
    font-size:12px;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.06em;
    margin-bottom:8px;
    font-weight:700;
}

body.rbs-ui.rbs-page-settings-email-settings .stat-value{
    font-size:22px;
    font-weight:800;
    line-height:1.2;
}

body.rbs-ui.rbs-page-settings-email-settings .content-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    align-items:start;
}

body.rbs-ui.rbs-page-settings-email-settings .panel{
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    overflow:hidden;
}

body.rbs-ui.rbs-page-settings-email-settings .panel-header{
    padding:18px 20px 0;
}

body.rbs-ui.rbs-page-settings-email-settings .panel-title{
    margin:0;
    font-size:20px;
    font-weight:800;
}

body.rbs-ui.rbs-page-settings-email-settings .panel-subtitle{
    margin:8px 0 0;
    color:var(--muted);
    font-size:14px;
}

body.rbs-ui.rbs-page-settings-email-settings .panel-body{
    padding:20px;
}

body.rbs-ui.rbs-page-settings-email-settings .stack{
    display:grid;
    gap:16px;
}

body.rbs-ui.rbs-page-settings-email-settings .section-block{
    border:1px solid var(--line);
    background:var(--panel-alt);
    border-radius:14px;
    padding:16px;
}

body.rbs-ui.rbs-page-settings-email-settings .section-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:14px;
}

body.rbs-ui.rbs-page-settings-email-settings .section-head h3{
    margin:0;
    font-size:17px;
}

body.rbs-ui.rbs-page-settings-email-settings .badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    border-radius:999px;
    padding:7px 12px;
    font-size:12px;
    font-weight:700;
}

body.rbs-ui.rbs-page-settings-email-settings .badge.ok{
    background:#ecfdf5;
    color:#047857;
}

body.rbs-ui.rbs-page-settings-email-settings .badge.warn{
    background:#fff7ed;
    color:#9a3412;
}

body.rbs-ui.rbs-page-settings-email-settings .field-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
}

body.rbs-ui.rbs-page-settings-email-settings .field-grid .full{
    grid-column:1 / -1;
}

body.rbs-ui.rbs-page-settings-email-settings .field label{
    display:block;
    font-size:13px;
    font-weight:700;
    margin:0 0 8px;
}

body.rbs-ui.rbs-page-settings-email-settings .field input, body.rbs-ui.rbs-page-settings-email-settings .field select{
    width:100%;
    min-height:44px;
    border:1px solid var(--line-strong);
    border-radius:12px;
    padding:11px 13px;
    background:#fff;
    color:var(--text);
    font-size:14px;
    outline:none;
}

body.rbs-ui.rbs-page-settings-email-settings .field input:focus, body.rbs-ui.rbs-page-settings-email-settings .field select:focus{
    border-color:var(--primary-2);
    box-shadow:0 0 0 3px rgba(29, 78, 216, 0.10);
}

body.rbs-ui.rbs-page-settings-email-settings .hint{
    margin-top:7px;
    color:var(--muted);
    font-size:12px;
    line-height:1.45;
}

body.rbs-ui.rbs-page-settings-email-settings .inline-note{
    font-size:13px;
    color:var(--muted);
    margin-top:6px;
}

body.rbs-ui.rbs-page-settings-email-settings .checkline{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:4px;
}

body.rbs-ui.rbs-page-settings-email-settings .checkline input{
    width:18px;
    height:18px;
}

body.rbs-ui.rbs-page-settings-email-settings .form-actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
    margin-top:18px;
}

body.rbs-ui.rbs-page-settings-email-settings .mini-grid{
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px;
    align-items:end;
}

@media (max-width: 1100px){
    body.rbs-ui.rbs-page-settings-email-settings .content-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width: 760px){
    body.rbs-ui.rbs-page-settings-email-settings .page-title{
        font-size:26px;
    }

    body.rbs-ui.rbs-page-settings-email-settings .stats, body.rbs-ui.rbs-page-settings-email-settings .field-grid, body.rbs-ui.rbs-page-settings-email-settings .mini-grid{
        grid-template-columns:1fr;
    }

    body.rbs-ui.rbs-page-settings-email-settings .page-shell{
        padding:18px 12px 32px;
    }

    body.rbs-ui.rbs-page-settings-email-settings .email-settings-frame{
        padding:16px;
        border-radius:20px;
    }

    body.rbs-ui.rbs-page-settings-email-settings .panel-header{
        padding:16px 16px 0;
    }

    body.rbs-ui.rbs-page-settings-email-settings .panel-body{
        padding:16px;
    }

    body.rbs-ui.rbs-page-settings-email-settings .section-block{
        padding:14px;
    }

    body.rbs-ui.rbs-page-settings-email-settings .btn, body.rbs-ui.rbs-page-settings-email-settings .form-actions .btn{
        width:100%;
    }
}

/* Migrated from /settings/index.php (page-scoped). */
body.rbs-ui.rbs-page-settings-index{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --shadow:0 12px 30px rgba(15,23,42,.08);
    --good-bg:#f0fdf4;
    --good-line:#bbf7d0;
    --good-text:#166534;
    --soft:#f8fafc;
    --soft-line:#dbe2ea;
}
body.rbs-ui.rbs-page-settings-index *{box-sizing:border-box}
body.rbs-ui.rbs-page-settings-index{
    margin:0;
    font-family:Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}
body.rbs-ui.rbs-page-settings-index .wrap{
    max-width:1400px;
    margin:0 auto;
    padding:28px 20px 40px;
}
body.rbs-ui.rbs-page-settings-index .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-settings-index .topbar-left{
    display: flex;
    align-items: center;
    gap: 16px;
}
body.rbs-ui.rbs-page-settings-index .title h1{
    margin:0 0 6px;
    font-size:32px;
}
body.rbs-ui.rbs-page-settings-index .title p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}
body.rbs-ui.rbs-page-settings-index .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
body.rbs-ui.rbs-page-settings-index .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:12px;
    text-decoration:none;
    font-weight:700;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
}
body.rbs-ui.rbs-page-settings-index .btn.primary{
    background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dark) 100%);
    color:#fff;
    border:none;
}
body.rbs-ui.rbs-page-settings-index .hero{
    background:linear-gradient(135deg,#1e293b 0%,#334155 100%);
    color:#fff;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    margin-bottom:22px;
}
body.rbs-ui.rbs-page-settings-index .hero h2{
    margin:0 0 10px;
    font-size:28px;
}
body.rbs-ui.rbs-page-settings-index .hero p{
    margin:0;
    max-width:760px;
    line-height:1.6;
    color:rgba(255,255,255,.88);
}
body.rbs-ui.rbs-page-settings-index .stats{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin:24px 0 0;
}
body.rbs-ui.rbs-page-settings-index .stat{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    padding:16px;
}
body.rbs-ui.rbs-page-settings-index .stat-label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    opacity:.8;
    margin-bottom:6px;
}
body.rbs-ui.rbs-page-settings-index .stat-value{
    font-size:22px;
    font-weight:700;
}
body.rbs-ui.rbs-page-settings-index .grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
body.rbs-ui.rbs-page-settings-index .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    padding:20px;
    box-shadow:var(--shadow);
}
body.rbs-ui.rbs-page-settings-index .card.good{
    background:var(--good-bg);
    border-color:var(--good-line);
}
body.rbs-ui.rbs-page-settings-index .card h3{
    margin:0 0 10px;
    font-size:20px;
}
body.rbs-ui.rbs-page-settings-index .card.good h3{
    color:var(--good-text);
}
body.rbs-ui.rbs-page-settings-index .card p{
    margin:0 0 16px;
    line-height:1.55;
    color:var(--muted);
}
body.rbs-ui.rbs-page-settings-index .card.good p{
    color:var(--good-text);
}
body.rbs-ui.rbs-page-settings-index .links{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
body.rbs-ui.rbs-page-settings-index .link-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 12px;
    border-radius:10px;
    font-size:14px;
    font-weight:600;
    text-decoration:none;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
}
body.rbs-ui.rbs-page-settings-index .card.good .link-pill{
    background:#dcfce7;
    color:#166534;
    border-color:#bbf7d0;
}
@media (max-width:1100px){
    body.rbs-ui.rbs-page-settings-index .grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
    body.rbs-ui.rbs-page-settings-index .stats{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px){
    body.rbs-ui.rbs-page-settings-index .grid{ grid-template-columns:1fr; }
    body.rbs-ui.rbs-page-settings-index .stats{ grid-template-columns:1fr; }
    body.rbs-ui.rbs-page-settings-index .title h1{ font-size:26px; }
    body.rbs-ui.rbs-page-settings-index .hero h2{ font-size:24px; }
}

/* Migrated from /settings/payment_policy.php (page-scoped). */
body.rbs-ui.rbs-page-settings-payment-policy{--bg:#f4f7fb;--card:#fff;--text:#0f172a;--muted:#64748b;--line:#e2e8f0;--brand:#8b5e3c;--brand-dark:#6f472b;--shadow:0 12px 30px rgba(15,23,42,.08);--good-bg:#f0fdf4;--good-line:#bbf7d0;--good-text:#166534;--bad-bg:#fef2f2;--bad-line:#fecaca;--bad-text:#b91c1c;--warn-bg:#fff7ed;--warn-line:#fed7aa;--warn-text:#c2410c}
body.rbs-ui.rbs-page-settings-payment-policy *{box-sizing:border-box} body.rbs-ui.rbs-page-settings-payment-policy{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--text)} body.rbs-ui.rbs-page-settings-payment-policy .wrap{max-width:1100px;margin:0 auto;padding:28px 20px 42px}body.rbs-ui.rbs-page-settings-payment-policy .topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px;flex-wrap:wrap}body.rbs-ui.rbs-page-settings-payment-policy .title h1{margin:0 0 6px;font-size:32px}body.rbs-ui.rbs-page-settings-payment-policy .title p{margin:0;color:var(--muted)}body.rbs-ui.rbs-page-settings-payment-policy .btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:12px;text-decoration:none;font-weight:700;border:1px solid var(--line);background:#fff;color:var(--text);font:inherit;cursor:pointer}body.rbs-ui.rbs-page-settings-payment-policy .btn.primary{background:linear-gradient(180deg,var(--brand),var(--brand-dark));border:none;color:#fff}body.rbs-ui.rbs-page-settings-payment-policy .card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow);margin-bottom:18px}body.rbs-ui.rbs-page-settings-payment-policy .card h2{margin:0 0 10px;font-size:22px}body.rbs-ui.rbs-page-settings-payment-policy .helper{color:var(--muted);line-height:1.55;margin:0 0 16px}body.rbs-ui.rbs-page-settings-payment-policy .grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}body.rbs-ui.rbs-page-settings-payment-policy .field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}body.rbs-ui.rbs-page-settings-payment-policy .field label{font-size:13px;font-weight:700}body.rbs-ui.rbs-page-settings-payment-policy .input, body.rbs-ui.rbs-page-settings-payment-policy .select, body.rbs-ui.rbs-page-settings-payment-policy .textarea{width:100%;min-height:44px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);font:inherit;background:#fff}body.rbs-ui.rbs-page-settings-payment-policy .textarea{min-height:92px;resize:vertical}body.rbs-ui.rbs-page-settings-payment-policy .check{display:flex;gap:10px;align-items:flex-start;margin:10px 0 14px}body.rbs-ui.rbs-page-settings-payment-policy .check input{margin-top:3px}body.rbs-ui.rbs-page-settings-payment-policy .flash{border-radius:14px;padding:13px 15px;margin-bottom:14px;border:1px solid transparent;font-weight:700}body.rbs-ui.rbs-page-settings-payment-policy .flash.good{background:var(--good-bg);border-color:var(--good-line);color:var(--good-text)}body.rbs-ui.rbs-page-settings-payment-policy .flash.bad{background:var(--bad-bg);border-color:var(--bad-line);color:var(--bad-text)}body.rbs-ui.rbs-page-settings-payment-policy .notice{background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn-text);border-radius:16px;padding:14px 16px;line-height:1.5;margin-bottom:18px}body.rbs-ui.rbs-page-settings-payment-policy .small{font-size:13px;color:var(--muted);line-height:1.45}@media (max-width:760px){body.rbs-ui.rbs-page-settings-payment-policy .grid{grid-template-columns:1fr}}

/* Migrated from /settings/square_settings.php (page-scoped). */
body.rbs-ui.rbs-page-settings-square-settings{
    --bg:#f5f7fb;
    --panel:#ffffff;
    --panel-alt:#fbfcfe;
    --text:#111827;
    --muted:#6b7280;
    --line:#dbe3ee;
    --line-strong:#c8d3e1;
    --primary:#0f172a;
    --primary-2:#1d4ed8;
    --success-bg:#ecfdf5;
    --success-border:#a7f3d0;
    --success-text:#065f46;
    --danger-bg:#fef2f2;
    --danger-border:#fecaca;
    --danger-text:#991b1b;
    --shadow:0 10px 30px rgba(15, 23, 42, 0.06);
    --radius:16px;
}

body.rbs-ui.rbs-page-settings-square-settings *{box-sizing:border-box}

body.rbs-ui.rbs-page-settings-square-settings, body.rbs-ui.rbs-page-settings-square-settings{
    margin:0;
    padding:0;
    background:var(--bg);
    color:var(--text);
    font-family:Arial, Helvetica, sans-serif;
}

body.rbs-ui.rbs-page-settings-square-settings a{
    color:inherit;
}

body.rbs-ui.rbs-page-settings-square-settings .app-shell{
    min-height:100vh;
}

body.rbs-ui.rbs-page-settings-square-settings .page-shell{
    max-width:1200px;
    margin:0 auto;
    padding:24px 16px 40px;
}

body.rbs-ui.rbs-page-settings-square-settings .page-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-settings-square-settings .page-head-left{
    min-width:0;
}

body.rbs-ui.rbs-page-settings-square-settings .page-eyebrow{
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--primary-2);
    margin:0 0 8px;
}

body.rbs-ui.rbs-page-settings-square-settings .page-title{
    margin:0;
    font-size:32px;
    line-height:1.15;
    font-weight:800;
}

body.rbs-ui.rbs-page-settings-square-settings .page-subtitle{
    margin:8px 0 0;
    color:var(--muted);
    font-size:15px;
}

body.rbs-ui.rbs-page-settings-square-settings .page-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-settings-square-settings .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:10px 16px;
    border-radius:12px;
    border:1px solid var(--line-strong);
    background:#fff;
    color:var(--text);
    font-weight:700;
    font-size:14px;
    text-decoration:none;
    cursor:pointer;
    transition:.15s ease;
}

body.rbs-ui.rbs-page-settings-square-settings .btn:hover{
    transform:translateY(-1px);
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-settings-square-settings .btn-primary{
    background:var(--primary);
    color:#fff;
    border-color:var(--primary);
}

body.rbs-ui.rbs-page-settings-square-settings .btn-secondary{
    background:#fff;
    color:var(--text);
}

body.rbs-ui.rbs-page-settings-square-settings .alert{
    border:1px solid transparent;
    border-radius:14px;
    padding:14px 16px;
    margin:0 0 16px;
    font-size:14px;
}

body.rbs-ui.rbs-page-settings-square-settings .alert.success{
    background:var(--success-bg);
    border-color:var(--success-border);
    color:var(--success-text);
}

body.rbs-ui.rbs-page-settings-square-settings .alert.error{
    background:var(--danger-bg);
    border-color:var(--danger-border);
    color:var(--danger-text);
}

body.rbs-ui.rbs-page-settings-square-settings .stats{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:14px;
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-settings-square-settings .stat-card{
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:18px;
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-settings-square-settings .stat-label{
    font-size:12px;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.06em;
    margin-bottom:8px;
    font-weight:700;
}

body.rbs-ui.rbs-page-settings-square-settings .stat-value{
    font-size:22px;
    font-weight:800;
    line-height:1.2;
}

body.rbs-ui.rbs-page-settings-square-settings .content-grid{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:18px;
    align-items:start;
}

body.rbs-ui.rbs-page-settings-square-settings .panel{
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    overflow:hidden;
}

body.rbs-ui.rbs-page-settings-square-settings .panel-header{
    padding:18px 20px 0;
}

body.rbs-ui.rbs-page-settings-square-settings .panel-title{
    margin:0;
    font-size:20px;
    font-weight:800;
}

body.rbs-ui.rbs-page-settings-square-settings .panel-subtitle{
    margin:8px 0 0;
    color:var(--muted);
    font-size:14px;
}

body.rbs-ui.rbs-page-settings-square-settings .panel-body{
    padding:20px;
}

body.rbs-ui.rbs-page-settings-square-settings .stack{
    display:grid;
    gap:16px;
}

body.rbs-ui.rbs-page-settings-square-settings .section-block{
    border:1px solid var(--line);
    background:var(--panel-alt);
    border-radius:14px;
    padding:16px;
}

body.rbs-ui.rbs-page-settings-square-settings .section-block h3{
    margin:0 0 14px;
    font-size:17px;
}

body.rbs-ui.rbs-page-settings-square-settings .field-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
}

body.rbs-ui.rbs-page-settings-square-settings .field-grid .full{
    grid-column:1 / -1;
}

body.rbs-ui.rbs-page-settings-square-settings .field{
    min-width:0;
}

body.rbs-ui.rbs-page-settings-square-settings .field label{
    display:block;
    font-size:13px;
    font-weight:700;
    margin:0 0 8px;
}

body.rbs-ui.rbs-page-settings-square-settings .field input, body.rbs-ui.rbs-page-settings-square-settings .field select{
    width:100%;
    min-height:44px;
    border:1px solid var(--line-strong);
    border-radius:12px;
    padding:11px 13px;
    background:#fff;
    color:var(--text);
    font-size:14px;
    outline:none;
}

body.rbs-ui.rbs-page-settings-square-settings .field input:focus, body.rbs-ui.rbs-page-settings-square-settings .field select:focus{
    border-color:var(--primary-2);
    box-shadow:0 0 0 3px rgba(29, 78, 216, 0.10);
}

body.rbs-ui.rbs-page-settings-square-settings .hint{
    margin-top:7px;
    color:var(--muted);
    font-size:12px;
    line-height:1.45;
}



body.rbs-ui.rbs-page-settings-square-settings .setup-help{
    border:1px solid #bfdbfe;
    background:#eff6ff;
    border-radius:14px;
    padding:16px;
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-settings-square-settings .setup-help h3{
    margin:0 0 8px;
    font-size:17px;
}

body.rbs-ui.rbs-page-settings-square-settings .setup-help p{
    margin:0 0 12px;
    color:#1e3a8a;
    font-size:13px;
    line-height:1.5;
}

body.rbs-ui.rbs-page-settings-square-settings .help-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:10px 0 14px;
}

body.rbs-ui.rbs-page-settings-square-settings .help-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:7px 10px;
    border-radius:10px;
    border:1px solid #93c5fd;
    background:#fff;
    color:#1d4ed8;
    font-size:12px;
    font-weight:700;
    text-decoration:none;
}

body.rbs-ui.rbs-page-settings-square-settings .credential-help-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px;
}

body.rbs-ui.rbs-page-settings-square-settings .credential-help-card{
    border:1px solid #bfdbfe;
    background:#fff;
    border-radius:12px;
    padding:13px;
}

body.rbs-ui.rbs-page-settings-square-settings .credential-help-card strong{
    display:block;
    margin-bottom:7px;
    font-size:14px;
}

body.rbs-ui.rbs-page-settings-square-settings .credential-help-card ol{
    margin:0;
    padding-left:18px;
    color:#1f2937;
    font-size:12px;
    line-height:1.5;
}

body.rbs-ui.rbs-page-settings-square-settings .credential-help-card li + li{
    margin-top:4px;
}

body.rbs-ui.rbs-page-settings-square-settings .credential-note{
    margin-top:12px;
    border-top:1px solid #bfdbfe;
    padding-top:12px;
    color:#1e3a8a;
    font-size:12px;
    line-height:1.5;
}

body.rbs-ui.rbs-page-settings-square-settings .info-list{
    display:grid;
    gap:12px;
}

body.rbs-ui.rbs-page-settings-square-settings .info-item{
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    padding:14px 15px;
}

body.rbs-ui.rbs-page-settings-square-settings .info-item strong{
    display:block;
    font-size:14px;
    margin-bottom:4px;
}

body.rbs-ui.rbs-page-settings-square-settings .info-item span{
    display:block;
    font-size:13px;
    color:var(--muted);
    line-height:1.45;
}

body.rbs-ui.rbs-page-settings-square-settings .token-state{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-weight:700;
    font-size:13px;
}

body.rbs-ui.rbs-page-settings-square-settings .token-dot{
    width:10px;
    height:10px;
    border-radius:999px;
    display:inline-block;
    background:#d1d5db;
}

body.rbs-ui.rbs-page-settings-square-settings .token-dot.ok{
    background:#10b981;
}

body.rbs-ui.rbs-page-settings-square-settings .form-actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
    margin-top:18px;
}

@media (max-width: 980px){
    body.rbs-ui.rbs-page-settings-square-settings .content-grid{
        grid-template-columns:1fr;
    }
}


body.rbs-ui.rbs-page-settings-square-settings .square-settings-shell{
    max-width:1280px;
    padding-top:28px;
}

body.rbs-ui.rbs-page-settings-square-settings .square-settings-frame{
    width:100%;
    max-width:1180px;
    margin:0 auto;
    padding:28px;
    background:rgba(255,255,255,.94);
    border:1px solid rgba(203,213,225,.9);
    border-radius:26px;
    box-shadow:0 28px 70px rgba(15,23,42,.12);
}

body.rbs-ui.rbs-page-settings-square-settings .square-settings-frame .rbs-app-banner{
    margin:0 0 22px;
}

body.rbs-ui.rbs-page-settings-square-settings .square-page-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    flex-wrap:wrap;
    margin:0 0 22px;
}

body.rbs-ui.rbs-page-settings-square-settings .square-title-row{
    display:flex;
    align-items:center;
    gap:16px;
    min-width:0;
    flex:1 1 auto;
}

body.rbs-ui.rbs-page-settings-square-settings .square-title-copy{
    min-width:0;
    max-width:860px;
}

body.rbs-ui.rbs-page-settings-square-settings .square-title-copy .page-subtitle{
    max-width:820px;
    white-space:normal;
    overflow-wrap:normal;
    word-break:normal;
}

body.rbs-ui.rbs-page-settings-square-settings .square-page-actions{
    flex:0 0 auto;
}

@media (max-width: 720px){
    body.rbs-ui.rbs-page-settings-square-settings .page-title{
        font-size:26px;
    }

    body.rbs-ui.rbs-page-settings-square-settings .stats, body.rbs-ui.rbs-page-settings-square-settings .field-grid{
        grid-template-columns:1fr;
    }

    body.rbs-ui.rbs-page-settings-square-settings .credential-help-grid{
        grid-template-columns:1fr;
    }

    body.rbs-ui.rbs-page-settings-square-settings .page-shell{
        padding:18px 12px 32px;
    }

    body.rbs-ui.rbs-page-settings-square-settings .square-settings-frame{
        padding:16px;
        border-radius:20px;
    }

    body.rbs-ui.rbs-page-settings-square-settings .square-page-head, body.rbs-ui.rbs-page-settings-square-settings .square-title-row{
        align-items:flex-start;
    }

    body.rbs-ui.rbs-page-settings-square-settings .panel-header{
        padding:16px 16px 0;
    }

    body.rbs-ui.rbs-page-settings-square-settings .panel-body{
        padding:16px;
    }

    body.rbs-ui.rbs-page-settings-square-settings .section-block{
        padding:14px;
    }

    body.rbs-ui.rbs-page-settings-square-settings .btn{
        width:100%;
    }

    body.rbs-ui.rbs-page-settings-square-settings .page-actions, body.rbs-ui.rbs-page-settings-square-settings .form-actions{
        width:100%;
    }

    body.rbs-ui.rbs-page-settings-square-settings .page-actions .btn, body.rbs-ui.rbs-page-settings-square-settings .form-actions .btn{
        width:100%;
    }
}

/* Migrated from /two_factor_required.php (page-scoped). */
body.rbs-ui.rbs-page-two-factor-required{
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#0f172a;
    --muted:#64748b;
    --line:#e2e8f0;
    --brand:#8b5e3c;
    --brand-dark:#6f472b;
    --danger:#b91c1c;
    --danger-bg:#fef2f2;
    --danger-line:#fecaca;
    --warning:#92400e;
    --warning-bg:#fffbeb;
    --warning-line:#fde68a;
    --info:#1d4ed8;
    --info-bg:#eff6ff;
    --info-line:#bfdbfe;
    --shadow:0 18px 40px rgba(15,23,42,.10);
}

body.rbs-ui.rbs-page-two-factor-required *{box-sizing:border-box}

body.rbs-ui.rbs-page-two-factor-required{
    margin:0;
    min-height:100vh;
    font-family:Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
}

body.rbs-ui.rbs-page-two-factor-required .shell{
    width:100%;
    max-width:860px;
}

body.rbs-ui.rbs-page-two-factor-required .card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
}

body.rbs-ui.rbs-page-two-factor-required h1{
    margin:0 0 8px;
    font-size:32px;
}

body.rbs-ui.rbs-page-two-factor-required .sub{
    margin:0 0 22px;
    color:var(--muted);
    line-height:1.6;
    font-size:15px;
}

body.rbs-ui.rbs-page-two-factor-required .notice, body.rbs-ui.rbs-page-two-factor-required .error, body.rbs-ui.rbs-page-two-factor-required .info{
    margin:0 0 18px;
    padding:14px 16px;
    border-radius:16px;
    border:1px solid transparent;
    font-size:14px;
    line-height:1.5;
}

body.rbs-ui.rbs-page-two-factor-required .notice{
    background:var(--warning-bg);
    border-color:var(--warning-line);
    color:var(--warning);
    font-weight:700;
}

body.rbs-ui.rbs-page-two-factor-required .error{
    background:var(--danger-bg);
    border-color:var(--danger-line);
    color:var(--danger);
    font-weight:700;
}

body.rbs-ui.rbs-page-two-factor-required .info{
    background:var(--info-bg);
    border-color:var(--info-line);
    color:var(--info);
}

body.rbs-ui.rbs-page-two-factor-required .grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin:20px 0;
}

body.rbs-ui.rbs-page-two-factor-required .panel{
    border:1px solid var(--line);
    border-radius:18px;
    padding:18px;
    background:#fff;
}

body.rbs-ui.rbs-page-two-factor-required .panel h3{
    margin:0 0 10px;
    font-size:20px;
}

body.rbs-ui.rbs-page-two-factor-required .panel p{
    margin:0;
    color:#334155;
    line-height:1.7;
    font-size:14px;
}

body.rbs-ui.rbs-page-two-factor-required .list{
    margin:10px 0 0;
    padding-left:18px;
    color:#334155;
    line-height:1.7;
    font-size:14px;
}

body.rbs-ui.rbs-page-two-factor-required .countdown{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:0 14px;
    border-radius:999px;
    background:var(--warning-bg);
    border:1px solid var(--warning-line);
    color:var(--warning);
    font-size:14px;
    font-weight:700;
    margin-bottom:18px;
}

body.rbs-ui.rbs-page-two-factor-required .actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:18px;
}

body.rbs-ui.rbs-page-two-factor-required .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:0 18px;
    border-radius:14px;
    text-decoration:none;
    font-weight:700;
    cursor:pointer;
    border:1px solid var(--line);
    background:#fff;
    color:var(--text);
}

body.rbs-ui.rbs-page-two-factor-required .btn.primary{
    background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-two-factor-required .btn.danger{
    background:linear-gradient(180deg, #b91c1c 0%, #991b1b 100%);
    color:#fff;
    border:none;
}

body.rbs-ui.rbs-page-two-factor-required .fine-print{
    margin-top:16px;
    color:var(--muted);
    font-size:13px;
    line-height:1.6;
}

@media (max-width: 760px){
    body.rbs-ui.rbs-page-two-factor-required .card{
        padding:22px 18px;
        border-radius:20px;
    }

    body.rbs-ui.rbs-page-two-factor-required .grid{
        grid-template-columns:1fr;
    }

    body.rbs-ui.rbs-page-two-factor-required .actions{
        flex-direction:column;
    }

    body.rbs-ui.rbs-page-two-factor-required .btn{
        width:100%;
    }
}

:root{
--rbs-page:#f4f7fb;
--rbs-surface:#ffffff;
--rbs-surface-soft:#f8fafc;
--rbs-ink:#0f172a;
--rbs-muted:#64748b;
--rbs-line:#d8e0eb;
--rbs-line-soft:#edf1f6;
--rbs-navy:#0f2d63;
--rbs-navy-dark:#091f49;
--rbs-blue:#123b78;
--rbs-blue-soft:#eaf0fa;
--rbs-gold:#c8a24a;
--rbs-green:#157347;
--rbs-red:#b42318;
--rbs-orange:#b54708;
--rbs-radius:16px;
--rbs-shadow:0 14px 34px rgba(15,23,42,.08);
--rbs-shadow-soft:0 8px 22px rgba(15,23,42,.05);

/* Common legacy variables used by existing pages. */
--bg:var(--rbs-page);
--card:var(--rbs-surface);
--text:var(--rbs-ink);
--muted:var(--rbs-muted);
--line:var(--rbs-line);
--brand:var(--rbs-navy);
--brand-dark:var(--rbs-navy-dark);
--shadow:var(--rbs-shadow);
}

html{
background:var(--rbs-page);
}

body.rbs-ui{
color:var(--rbs-ink);
font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page){
background:
radial-gradient(circle at 0 0, rgba(15,45,99,.08), transparent 36rem),
linear-gradient(180deg,#f8fafc 0%,#eef3f8 100%) !important;
}

body.rbs-ui *{
box-sizing:border-box;
}

body.rbs-ui a{
color:var(--rbs-navy);
}

body.rbs-ui a:hover{
color:var(--rbs-navy-dark);
}

/* Full RBS header image */
.rbs-app-banner{
display:block;
width:100%;
margin:0 0 22px;
padding:0;
border:1px solid rgba(15,45,99,.10);
border-radius:20px;
background:#fbfaf7;
box-shadow:0 14px 34px rgba(15,23,42,.08);
overflow:hidden;
}

.rbs-app-banner img{
display:block;
width:100%;
height:auto;
max-height:104px;
object-fit:cover;
object-position:left center;
}

/* Do not show the old small page logo when the full RBS header is present. */
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .page-logo-wrap{
display:none !important;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .wrap,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) main.wrap{
padding-top:18px;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .topbar{
margin-top:0 !important;
margin-bottom:22px !important;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .title h1,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) h1{
color:var(--rbs-ink) !important;
letter-spacing:-.035em;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) h2,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) h3,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) h4{
color:#182230;
letter-spacing:-.02em;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .title p,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .muted,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .subtle,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) small{
color:var(--rbs-muted) !important;
}

/* Panels/cards: subtle, not over-styled. */
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .card,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .panel,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .box,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .section,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .tile,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .summary-card,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .metric-card,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .settings-card,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .report-card,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .room-card,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .payment-card,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .bill-card{
border-color:var(--rbs-line-soft) !important;
box-shadow:var(--rbs-shadow-soft) !important;
}

/* Buttons: neutral by default, navy for primary actions. */
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .btn,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) button.btn,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) a.btn,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) input[type="submit"],
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) button[type="submit"],
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .utility-link,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .text-link,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .action-link{
border-radius:999px !important;
border-color:var(--rbs-line) !important;
box-shadow:none !important;
font-weight:760 !important;
text-decoration:none !important;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .btn.primary,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .btn.strong,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .btn.pay,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) button.primary,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) input[type="submit"].primary,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) button[type="submit"].primary{
background:linear-gradient(180deg,var(--rbs-navy) 0%,var(--rbs-navy-dark) 100%) !important;
border-color:var(--rbs-navy) !important;
color:#ffffff !important;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .btn.danger,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .danger,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .btn-checkout-today{
background:var(--rbs-red) !important;
border-color:var(--rbs-red) !important;
color:#ffffff !important;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .btn.success,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .success,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .btn-checkin-today{
background:var(--rbs-green) !important;
border-color:var(--rbs-green) !important;
color:#ffffff !important;
}

/* Remove fake/emoji before-icons without hiding real content. */
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .btn::before,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .utility-link::before,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .text-link::before,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .action-link::before,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .main-action::before,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .secondary-link::before{
content:"" !important;
display:none !important;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .btn-icon,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .text-link-icon,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .nav-icon,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .module-icon,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .card-icon,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .action-icon{
display:none !important;
}

/* Forms */
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) input,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) select,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) textarea{
border-color:var(--rbs-line) !important;
box-shadow:none !important;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) input:focus,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) select:focus,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) textarea:focus{
outline:3px solid rgba(15,45,99,.14) !important;
border-color:var(--rbs-navy) !important;
}

/* Tables */
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) thead th,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) table th{
background:#f8fafc !important;
color:#344054 !important;
border-bottom-color:var(--rbs-line) !important;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) table td{
border-bottom-color:#edf1f6 !important;
}

/* Payments: remove the purple/orange template look. */
body.rbs-ui[data-rbs-section="payments"] .hero,
body.rbs-ui[data-rbs-section="payments"] .hero-card,
body.rbs-ui[data-rbs-section="payments"] .page-hero{
background:linear-gradient(135deg,#14294f 0%,#203858 100%) !important;
color:#ffffff !important;
border:0 !important;
}

body.rbs-ui[data-rbs-section="payments"] .hero h1,
body.rbs-ui[data-rbs-section="payments"] .hero h2,
body.rbs-ui[data-rbs-section="payments"] .hero p,
body.rbs-ui[data-rbs-section="payments"] .page-hero h1,
body.rbs-ui[data-rbs-section="payments"] .page-hero p{
color:#ffffff !important;
}

body.rbs-ui[data-rbs-section="payments"] #save-payment-btn,
body.rbs-ui[data-rbs-section="payments"] #toggle-bill-finder,
body.rbs-ui[data-rbs-section="payments"] [data-use-bill-id],
body.rbs-ui[data-rbs-section="payments"] .main-action,
body.rbs-ui[data-rbs-section="payments"] .quick-view-btn.active-view,
body.rbs-ui[data-rbs-section="payments"] button[type="submit"].btn:not(.danger):not(.btn-danger){
background:linear-gradient(180deg,var(--rbs-navy) 0%,var(--rbs-navy-dark) 100%) !important;
border-color:var(--rbs-navy) !important;
color:#ffffff !important;
box-shadow:none !important;
}

body.rbs-ui[data-rbs-section="payments"] .actions .btn[href*="dashboard"],
body.rbs-ui[data-rbs-section="payments"] .actions .btn[href*="admin"],
body.rbs-ui[data-rbs-section="payments"] .actions .btn[href*="settings"],
body.rbs-ui[data-rbs-section="payments"] .actions .btn[href*="payment_log"]{
background:#ffffff !important;
border-color:var(--rbs-line) !important;
color:var(--rbs-navy) !important;
box-shadow:none !important;
}

body.rbs-ui[data-rbs-section="payments"] .actions .btn[href*="logout"]{
background:#ffffff !important;
border-color:#fecaca !important;
color:var(--rbs-red) !important;
box-shadow:none !important;
}

/* Auth / 2FA pages: do not stretch Bootstrap containers. */
body.rbs-ui.rbs-auth-page{
background:
radial-gradient(circle at 10% 10%, rgba(200,162,74,.14), transparent 30rem),
linear-gradient(135deg,#07172f 0%,#0c2b5b 52%,#102f63 100%) !important;
}

body.rbs-ui.rbs-auth-page .card{
border:1px solid rgba(15,45,99,.12) !important;
border-radius:22px !important;
box-shadow:0 28px 70px rgba(0,0,0,.22) !important;
overflow:hidden;
}

body.rbs-ui.rbs-auth-page .card-body{
padding:26px !important;
}


body.rbs-ui.rbs-auth-page .card-title{
font-weight:800;
color:var(--rbs-navy);
}

body.rbs-ui.rbs-auth-page .btn-success,
body.rbs-ui.rbs-auth-page .btn-primary,
body.rbs-ui.rbs-auth-page button[type="submit"]{
background:linear-gradient(180deg,var(--rbs-navy) 0%,var(--rbs-navy-dark) 100%) !important;
border-color:var(--rbs-navy) !important;
color:#ffffff !important;
border-radius:999px !important;
min-height:44px;
}

body.rbs-ui.rbs-auth-page input,
body.rbs-ui.rbs-auth-page .form-control{
border-color:var(--rbs-line) !important;
border-radius:14px !important;
min-height:46px;
}

/* Login page: keep its own dark design readable. */
body.rbs-ui.rbs-login-page .brand-side,
body.rbs-ui.rbs-login-page .brand-side h1,
body.rbs-ui.rbs-login-page .brand-side p,
body.rbs-ui.rbs-login-page .brand-side .brand-name,
body.rbs-ui.rbs-login-page .brand-side .brand-kicker{
color:#ffffff !important;
}

body.rbs-ui.rbs-login-page .login-side,
body.rbs-ui.rbs-login-page .login-card,
body.rbs-ui.rbs-login-page .login-card h2,
body.rbs-ui.rbs-login-page .login-card label{
color:#0f172a !important;
}

@media print{
body.rbs-ui{
background:#ffffff !important;
color:#000000 !important;
}
.rbs-app-banner,
.app-help-fab,
.rch-maintenance-banner,
.utility-links,
.actions,
.no-print,
nav,
aside{
display:none !important;
}
.page-logo.is-rbs-fallback{
display:none !important;
}
.page-logo.is-property-logo{
display:block !important;
max-height:72px !important;
max-width:260px !important;
}
}

@media (max-width:900px){
.rbs-app-banner{
border-radius:16px;
margin-bottom:16px;
}
.rbs-app-banner img{
max-height:74px;
}
}

/* Corrected visual pass: keep the RBS banner, restore property branding, and fix contrast. */
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .rbs-app-banner{
position:relative;
max-width:100%;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .rbs-app-banner .rbs-banner-image{
display:block;
width:100%;
height:auto;
max-height:104px;
object-fit:cover;
object-position:left center;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .rbs-app-banner.has-property-logo::before{
content:"";
position:absolute;
left:0;
top:0;
bottom:0;
width:min(360px,42%);
background:linear-gradient(90deg,#fffaf2 0%,rgba(255,250,242,.98) 72%,rgba(255,250,242,0) 100%);
z-index:1;
pointer-events:none;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .rbs-banner-property-logo{
position:absolute;
left:24px;
top:50%;
transform:translateY(-50%);
z-index:2;
width:min(260px,28vw);
height:72px;
padding:10px 14px;
border:1px solid rgba(15,45,99,.12);
border-radius:16px;
background:rgba(255,255,255,.94);
box-shadow:0 12px 28px rgba(15,23,42,.10);
display:flex;
align-items:center;
justify-content:center;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .rbs-banner-property-logo img{
display:block;
width:auto;
height:auto;
max-width:100%;
max-height:52px;
object-fit:contain;
object-position:center;
}

/* Restore hotel/property logo support from settings/domain_settings.php. Hide only the fallback R mark. */
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .page-logo-wrap{
display:flex !important;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .page-logo-wrap.has-rbs-fallback,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .page-logo-wrap:has(.page-logo.is-rbs-fallback){
display:none !important;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .page-logo-wrap.has-property-logo,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .page-logo-wrap:has(.page-logo.is-property-logo){
display:flex !important;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .page-logo.is-property-logo{
max-height:56px !important;
max-width:220px !important;
object-fit:contain !important;
}

/* Dark panels/heroes must keep readable white text. */
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .hero,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .page-hero,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .hero-card,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .admin-hero,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .section-hero{
background:linear-gradient(135deg,#14294f 0%,#24364f 100%) !important;
color:#ffffff !important;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .hero h1,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .hero h2,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .hero h3,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .hero p,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .page-hero h1,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .page-hero h2,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .page-hero h3,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .page-hero p,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .hero-card h1,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .hero-card h2,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .hero-card h3,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .hero-card p,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .admin-hero h1,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .admin-hero h2,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .admin-hero h3,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .admin-hero p,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .section-hero h1,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .section-hero h2,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .section-hero h3,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .section-hero p{
color:#ffffff !important;
}

/* Dashboard and action buttons: no dark text on dark buttons. */
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .main-action,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .main-action:visited,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .main-action:hover,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .btn.primary,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .btn.strong,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .btn.pay,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .actions .btn[href="/payments/index.php"],
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .actions .btn[href="/logout.php"]{
color:#ffffff !important;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .main-action{
background:linear-gradient(180deg,var(--rbs-navy) 0%,var(--rbs-navy-dark) 100%) !important;
border-color:var(--rbs-navy) !important;
box-shadow:0 12px 24px rgba(15,45,99,.16) !important;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .help-link{
background:#ffffff !important;
color:var(--rbs-navy) !important;
border-color:var(--rbs-line) !important;
box-shadow:none !important;
}

@media (max-width:760px){
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .rbs-app-banner .rbs-banner-image{
max-height:76px;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .rbs-banner-property-logo{
left:12px;
width:min(190px,48vw);
height:54px;
padding:7px 10px;
border-radius:12px;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .rbs-banner-property-logo img{
max-height:38px;
}
}

@media print{
.rbs-app-banner,
.app-help-fab,
.utility-links,
.actions,
.no-print{
display:none !important;
}

.page-logo-wrap.has-rbs-fallback,
.page-logo.is-rbs-fallback{
display:none !important;
}

.page-logo-wrap.has-property-logo,
.page-logo.is-property-logo{
display:block !important;
}
}

/* Property/customer logos must not overlay the RBS system banner.
They are displayed in the page title/header area instead. */
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .rbs-app-banner.has-property-logo::before,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .rbs-banner-property-logo{
display:none !important;
}


/* App frame: gives the page a clear, intentional container instead of floating loose on the background. */
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .rbs-app-frame{
background:rgba(255,255,255,.86) !important;
border:1px solid rgba(15,45,99,.11) !important;
border-radius:24px !important;
box-shadow:0 24px 70px rgba(15,23,42,.11), 0 2px 8px rgba(15,23,42,.04) !important;
padding:20px 26px 28px !important;
margin-top:20px !important;
margin-bottom:38px !important;
backdrop-filter:blur(8px);
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .rbs-app-frame > .rbs-app-banner:first-child{
margin-top:0 !important;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .rbs-app-frame > :last-child{
margin-bottom:0 !important;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .rbs-app-frame .topbar,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .rbs-app-frame .page-head,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .rbs-app-frame .header-row{
border-bottom-color:rgba(15,45,99,.08) !important;
}

@media (max-width:900px){
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .rbs-app-frame{
border-radius:18px !important;
padding:14px !important;
margin-top:10px !important;
margin-bottom:24px !important;
}
}

@media print{
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .rbs-app-frame{
background:#ffffff !important;
border:0 !important;
box-shadow:none !important;
padding:0 !important;
margin:0 !important;
}
}

/* Fix: Payment Home nav button was inheriting white text while using a light button background. */
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .actions .btn[href="/payments/index.php"],
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .actions .btn[href*="/payments/index.php"]{
background:#ffffff !important;
border-color:var(--rbs-line) !important;
color:var(--rbs-navy) !important;
opacity:1 !important;
visibility:visible !important;
}

body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .actions .btn[href="/payments/index.php"]:hover,
body.rbs-ui:not(.rbs-login-page):not(.rbs-auth-page) .actions .btn[href*="/payments/index.php"]:hover{
background:var(--rbs-blue-soft) !important;
color:var(--rbs-navy-dark) !important;
}

/* Centralised RBS buttons.
Use these shared classes on pages instead of page-specific button colour rules. */
body.rbs-ui .rbs-btn,
body.rbs-ui .rbs-btn:visited{
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
min-height:44px;
padding:0 18px;
border-radius:14px;
border:1px solid var(--rbs-line);
background:#ffffff;
color:var(--rbs-navy);
font-weight:850;
line-height:1;
letter-spacing:.01em;
text-decoration:none;
box-shadow:0 10px 22px rgba(15,23,42,.07);
transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

body.rbs-ui .rbs-btn:hover{
transform:translateY(-1px);
box-shadow:0 14px 28px rgba(15,23,42,.12);
border-color:rgba(15,45,99,.22);
text-decoration:none;
}

body.rbs-ui .rbs-btn:active{
transform:translateY(0);
}

body.rbs-ui .rbs-btn-primary,
body.rbs-ui .rbs-btn-primary:visited,
body.rbs-ui .rbs-btn-primary:hover{
background:linear-gradient(180deg,var(--rbs-navy) 0%,var(--rbs-navy-dark) 100%);
border-color:var(--rbs-navy);
color:#ffffff;
}

body.rbs-ui .rbs-btn-danger,
body.rbs-ui .rbs-btn-danger:visited,
body.rbs-ui .rbs-btn-danger:hover{
background:linear-gradient(180deg,#f97316 0%,#dc2626 100%);
border-color:#dc2626;
color:#ffffff;
}

body.rbs-ui .rbs-btn-secondary,
body.rbs-ui .rbs-btn-secondary:visited{
background:#ffffff;
border-color:var(--rbs-line);
color:var(--rbs-navy);
}

body.rbs-ui .rbs-btn-small{
min-height:38px;
padding:0 14px;
border-radius:12px;
font-size:13px;
}

/* Dashboard now uses the central rbs-btn classes. Keep its legacy .btn rules from adding icons or colours. */
body.rbs-ui .actions .rbs-btn::before{
content:none !important;
display:none !important;
}

/* --------------------------------------------------------------------------
RBS shared layout/utilities for pages that have been moved off inline CSS.
-------------------------------------------------------------------------- */
body.rbs-ui .rbs-page-header,
body.rbs-ui .rbs-page-head{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:18px;
flex-wrap:wrap;
margin:0 0 22px;
padding-bottom:16px;
border-bottom:1px solid rgba(15,45,99,.08);
}

body.rbs-ui .rbs-title-row{
display:flex;
align-items:center;
gap:14px;
min-width:0;
}

body.rbs-ui .rbs-page-actions{
display:flex;
align-items:center;
justify-content:flex-end;
gap:10px;
flex-wrap:wrap;
}

body.rbs-ui .rbs-card,
body.rbs-ui .rbs-panel{
background:var(--rbs-surface);
border:1px solid var(--rbs-line-soft);
border-radius:var(--rbs-radius);
box-shadow:var(--rbs-shadow-soft);
}

body.rbs-ui .rbs-card{ padding:20px; }
body.rbs-ui .rbs-panel{ padding:22px; }

body.rbs-ui .rbs-table{
width:100%;
border-collapse:collapse;
background:#ffffff;
border:1px solid var(--rbs-line-soft);
border-radius:14px;
overflow:hidden;
}

body.rbs-ui .rbs-table th,
body.rbs-ui .rbs-table td{
padding:12px 14px;
border-bottom:1px solid var(--rbs-line-soft);
text-align:left;
}

body.rbs-ui .rbs-form label,
body.rbs-ui .rbs-label-block{
display:block;
font-weight:700;
}

body.rbs-ui .rbs-alert,
body.rbs-ui .rbs-migration-alert{
padding:12px 24px;
font-size:14px;
border-bottom:1px solid transparent;
}

body.rbs-ui .rbs-alert-success,
body.rbs-ui .rbs-migration-alert-success{
background:#f0fdf4;
border-color:#bbf7d0;
color:#166534;
}

body.rbs-ui .rbs-alert-error,
body.rbs-ui .rbs-migration-alert-error{
background:#fef2f2;
border-color:#fecaca;
color:#991b1b;
}

body.rbs-ui .rbs-alert-warning{
background:#fff7ed;
border-color:#fdba74;
color:#9a3412;
}

body.rbs-ui .rbs-section-flush-top{
margin-top:0 !important;
padding-top:0 !important;
border-top:0 !important;
}

body.rbs-ui .rbs-help-strong{
display:block;
margin-bottom:8px;
}

body.rbs-ui .rbs-grid-compact{
display:grid;
gap:6px;
}

body.rbs-ui .rbs-credential-pill{
font-size:12px;
border:1px solid var(--line, var(--rbs-line));
border-radius:10px;
padding:8px;
background:#ffffff;
}

body.rbs-ui .rbs-flex-actions,
body.rbs-ui .rbs-gap-wrap{
display:flex;
gap:8px;
flex-wrap:wrap;
}

body.rbs-ui .rbs-label-block{
font-weight:600;
}

body.rbs-ui .rbs-hidden{ display:none !important; }
body.rbs-ui .rbs-m-0{ margin:0 !important; }
body.rbs-ui .rbs-mt-6{ margin-top:6px !important; }
body.rbs-ui .rbs-mt-8{ margin-top:8px !important; }
body.rbs-ui .rbs-mt-10{ margin-top:10px !important; }
body.rbs-ui .rbs-mt-14{ margin-top:14px !important; }
body.rbs-ui .rbs-mt-16{ margin-top:16px !important; }
body.rbs-ui .rbs-mt-20{ margin-top:20px !important; }
body.rbs-ui .rbs-mb-0{ margin-bottom:0 !important; }
body.rbs-ui .rbs-mb-6{ margin-bottom:6px !important; }
body.rbs-ui .rbs-mb-8{ margin-bottom:8px !important; }
body.rbs-ui .rbs-mb-14{ margin-bottom:14px !important; }
body.rbs-ui .rbs-mb-16{ margin-bottom:16px !important; }

body.rbs-ui .rbs-asset-path{
margin-top:6px;
word-break:break-all;
}

body.rbs-ui .preview-fallback-wide{
width:calc(100% - 16px);
min-height:100px;
}

body.rbs-ui.rbs-auth-page.rbs-auth-centered{
min-height:100vh;
}

body.rbs-ui .rbs-auth-container-narrow{
max-width:390px;
}

body.rbs-ui .rbs-auth-banner-img{
display:block;
width:100%;
max-height:58px;
object-fit:contain;
object-position:left center;
}


/* RBS central button authority - semantic button classes */
body.rbs-ui .rbs-btn,
body.rbs-ui .rbs-btn:visited{
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
gap:8px !important;
min-height:44px !important;
padding:0 18px !important;
border-radius:14px !important;
border:1px solid var(--rbs-line) !important;
background:#ffffff !important;
color:var(--rbs-navy) !important;
font:inherit !important;
font-weight:850 !important;
line-height:1 !important;
letter-spacing:.01em !important;
text-decoration:none !important;
box-shadow:0 10px 22px rgba(15,23,42,.07) !important;
cursor:pointer !important;
transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease !important;
}
body.rbs-ui .rbs-btn:hover{transform:translateY(-1px) !important;box-shadow:0 14px 28px rgba(15,23,42,.12) !important;border-color:rgba(15,45,99,.22) !important;text-decoration:none !important;}
body.rbs-ui .rbs-btn:active{transform:translateY(0) !important;}
body.rbs-ui .rbs-btn-primary,body.rbs-ui .rbs-btn-primary:visited,body.rbs-ui .rbs-btn-primary:hover,body.rbs-ui .rbs-btn-logout,body.rbs-ui .rbs-btn-logout:visited,body.rbs-ui .rbs-btn-logout:hover{background:linear-gradient(180deg,var(--rbs-navy) 0%,var(--rbs-navy-dark) 100%) !important;border-color:var(--rbs-navy) !important;color:#ffffff !important;}
body.rbs-ui .rbs-btn-danger,body.rbs-ui .rbs-btn-danger:visited,body.rbs-ui .rbs-btn-danger:hover{background:linear-gradient(180deg,#f97316 0%,#dc2626 100%) !important;border-color:#dc2626 !important;color:#ffffff !important;}
body.rbs-ui .rbs-btn-secondary,body.rbs-ui .rbs-btn-secondary:visited,body.rbs-ui .rbs-btn-dashboard,body.rbs-ui .rbs-btn-dashboard:visited,body.rbs-ui .rbs-btn-back,body.rbs-ui .rbs-btn-back:visited{background:#ffffff !important;border-color:var(--rbs-line) !important;color:var(--rbs-navy) !important;}
body.rbs-ui .rbs-btn-secondary:hover,body.rbs-ui .rbs-btn-dashboard:hover,body.rbs-ui .rbs-btn-back:hover{background:var(--rbs-blue-soft) !important;color:var(--rbs-navy-dark) !important;}
body.rbs-ui .rbs-btn-small{min-height:38px !important;padding:0 14px !important;border-radius:12px !important;font-size:13px !important;}
body.rbs-ui .rbs-btn[disabled],body.rbs-ui .rbs-btn.disabled{opacity:.58 !important;pointer-events:none !important;cursor:not-allowed !important;transform:none !important;box-shadow:none !important;}
body.rbs-ui .rbs-btn::before,body.rbs-ui .actions .rbs-btn::before,body.rbs-ui .hero-actions .rbs-btn::before{content:none !important;display:none !important;}
body.rbs-ui .rbs-btn .btn-icon{display:none !important;}

/* Final global help button override.
Keeps the floating ? readable on every page, even where page/global link styles are loaded later. */
body.rbs-ui a.app-help-fab[data-global-help-fab],
body.rbs-ui a.app-help-fab[data-global-help-fab]:link,
body.rbs-ui a.app-help-fab[data-global-help-fab]:visited,
body.rbs-ui a.app-help-fab[data-global-help-fab]:hover,
body.rbs-ui a.app-help-fab[data-global-help-fab]:active,
body.rbs-ui a.app-help-fab[data-global-help-fab]:focus,
body.rbs-ui a.app-help-fab[data-global-help-fab]:focus-visible{
background:#123b78 !important;
color:#ffffff !important;
-webkit-text-fill-color:#ffffff !important;
text-decoration:none !important;
opacity:1 !important;
filter:none !important;
mix-blend-mode:normal !important;
}

/* Keep reservation detail pages scrollable. */
body.rbs-ui.rbs-page-booking-view-reservation{
overflow-x:hidden !important;
overflow-y:auto !important;
}
html:has(body.rbs-page-booking-view-reservation){
overflow-y:auto !important;
}

/* Keep full pages scrollable.
These pages previously had body-level overflow:hidden, which blocks vertical scrolling. */
body.rbs-ui.rbs-page-booking-reservations,
body.rbs-ui.rbs-page-booking-view-reservation,
body.rbs-ui.rbs-page-manager-users,
body.rbs-ui.rbs-page-rooms-index,
body.rbs-ui.rbs-page-rooms-rates,
body.rbs-ui.rbs-page-rooms-types{
overflow-x:hidden !important;
overflow-y:auto !important;
}

/* Total card display fix.
Keeps money summary cards readable instead of squeezing five cards into tiny columns.
This affects only totals made from .total-box cards, not printable totals tables. */
body.rbs-ui.rbs-page-payments-folios .totals:has(> .total-box),
body.rbs-ui.rbs-page-payments-adjustments .totals:has(> .total-box),
body.rbs-ui.rbs-page-payments-paid-invoices .totals:has(> .total-box){
display:grid !important;
grid-template-columns:repeat(auto-fit, minmax(118px, 1fr)) !important;
gap:12px !important;
width:100% !important;
max-width:none !important;
margin-left:0 !important;
align-items:stretch !important;
}

body.rbs-ui.rbs-page-payments-folios .totals:has(> .total-box) .total-box,
body.rbs-ui.rbs-page-payments-adjustments .totals:has(> .total-box) .total-box,
body.rbs-ui.rbs-page-payments-paid-invoices .totals:has(> .total-box) .total-box{
min-width:0 !important;
padding:12px 14px !important;
box-sizing:border-box !important;
}

body.rbs-ui.rbs-page-payments-folios .totals:has(> .total-box) .total-box .label,
body.rbs-ui.rbs-page-payments-adjustments .totals:has(> .total-box) .total-box .label,
body.rbs-ui.rbs-page-payments-paid-invoices .totals:has(> .total-box) .total-box .label{
white-space:nowrap !important;
overflow:hidden !important;
text-overflow:ellipsis !important;
line-height:1.15 !important;
font-size:11px !important;
}

body.rbs-ui.rbs-page-payments-folios .totals:has(> .total-box) .total-box .value,
body.rbs-ui.rbs-page-payments-adjustments .totals:has(> .total-box) .total-box .value,
body.rbs-ui.rbs-page-payments-paid-invoices .totals:has(> .total-box) .total-box .value{
white-space:nowrap !important;
overflow:hidden !important;
text-overflow:ellipsis !important;
font-size:clamp(15px, 1.7vw, 18px) !important;
line-height:1.25 !important;
font-variant-numeric:tabular-nums !important;
}

/* Global Logout button style.
Every Logout action should use the same orange button treatment. */
body.rbs-ui a[href$="/logout.php"],
body.rbs-ui a[href="logout.php"],
body.rbs-ui a[href="/logout.php"],
body.rbs-ui .logout,
body.rbs-ui .logout-btn,
body.rbs-ui .btn-logout,
body.rbs-ui .rbs-btn-logout,
body.rbs-ui .rbs-btn-danger[href$="/logout.php"],
body.rbs-ui button.logout,
body.rbs-ui button.logout-btn,
body.rbs-ui button.btn-logout,
body.rbs-ui button.rbs-btn-logout{
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
gap:8px !important;
min-height:44px !important;
padding:0 24px !important;
border:1px solid #c83b20 !important;
border-radius:14px !important;
background:linear-gradient(180deg, #e95a2f 0%, #d94424 100%) !important;
color:#ffffff !important;
-webkit-text-fill-color:#ffffff !important;
font-weight:800 !important;
font-size:15px !important;
line-height:1 !important;
text-decoration:none !important;
box-shadow:0 10px 22px rgba(217,68,36,.22) !important;
cursor:pointer !important;
}

body.rbs-ui a[href$="/logout.php"]:visited,
body.rbs-ui a[href="logout.php"]:visited,
body.rbs-ui a[href="/logout.php"]:visited,
body.rbs-ui a[href$="/logout.php"]:hover,
body.rbs-ui a[href="logout.php"]:hover,
body.rbs-ui a[href="/logout.php"]:hover,
body.rbs-ui .logout:hover,
body.rbs-ui .logout-btn:hover,
body.rbs-ui .btn-logout:hover,
body.rbs-ui .rbs-btn-logout:hover,
body.rbs-ui button.logout:hover,
body.rbs-ui button.logout-btn:hover,
body.rbs-ui button.btn-logout:hover,
body.rbs-ui button.rbs-btn-logout:hover{
background:linear-gradient(180deg, #f06438 0%, #d94424 100%) !important;
color:#ffffff !important;
-webkit-text-fill-color:#ffffff !important;
text-decoration:none !important;
transform:translateY(-1px);
}

body.rbs-ui a[href$="/logout.php"]:focus-visible,
body.rbs-ui a[href="logout.php"]:focus-visible,
body.rbs-ui a[href="/logout.php"]:focus-visible,
body.rbs-ui .logout:focus-visible,
body.rbs-ui .logout-btn:focus-visible,
body.rbs-ui .btn-logout:focus-visible,
body.rbs-ui .rbs-btn-logout:focus-visible,
body.rbs-ui button.logout:focus-visible,
body.rbs-ui button.logout-btn:focus-visible,
body.rbs-ui button.btn-logout:focus-visible,
body.rbs-ui button.rbs-btn-logout:focus-visible{
outline:3px solid rgba(233,90,47,.30) !important;
outline-offset:3px !important;
}

/* Final Logout visibility fix.
Some older page .btn rules keep the button background white while the logout text is white.
This stronger rule keeps every logout action orange and readable. */
body.rbs-ui a[href*="logout"],
body.rbs-ui a[href*="logout"]:link,
body.rbs-ui a[href*="logout"]:visited,
body.rbs-ui a[href*="logout"]:hover,
body.rbs-ui a[href*="logout"]:active,
body.rbs-ui a[href*="logout"]:focus,
body.rbs-ui .actions a[href*="logout"],
body.rbs-ui .topbar a[href*="logout"],
body.rbs-ui .hero-actions a[href*="logout"],
body.rbs-ui .utility-links a[href*="logout"],
body.rbs-ui .rbs-btn-logout,
body.rbs-ui .rbs-btn-logout:link,
body.rbs-ui .rbs-btn-logout:visited,
body.rbs-ui .rbs-btn-logout:hover,
body.rbs-ui .rbs-btn-logout:active,
body.rbs-ui .rbs-btn-logout:focus{
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
min-width:96px !important;
min-height:44px !important;
padding:0 24px !important;
border:1px solid #c83b20 !important;
border-radius:14px !important;
background:linear-gradient(180deg, #e95a2f 0%, #d94424 100%) !important;
color:#ffffff !important;
-webkit-text-fill-color:#ffffff !important;
font-weight:800 !important;
text-decoration:none !important;
opacity:1 !important;
box-shadow:0 10px 22px rgba(217,68,36,.22) !important;
}

body.rbs-ui a[href*="logout"]::before,
body.rbs-ui .actions a[href*="logout"]::before,
body.rbs-ui .topbar a[href*="logout"]::before,
body.rbs-ui .hero-actions a[href*="logout"]::before,
body.rbs-ui .utility-links a[href*="logout"]::before,
body.rbs-ui .rbs-btn-logout::before{
content:none !important;
display:none !important;
}

body.rbs-ui a[href*="logout"]:hover,
body.rbs-ui .rbs-btn-logout:hover{
background:linear-gradient(180deg, #f06438 0%, #d94424 100%) !important;
color:#ffffff !important;
-webkit-text-fill-color:#ffffff !important;
transform:translateY(-1px);
}

/* Real global Logout button fix.
Use the semantic class added to logout links so page-specific .btn rules cannot leave a blank white button. */
body.rbs-ui a.rbs-logout-button,
body.rbs-ui a.rbs-logout-button:link,
body.rbs-ui a.rbs-logout-button:visited,
body.rbs-ui a.rbs-logout-button:hover,
body.rbs-ui a.rbs-logout-button:active,
body.rbs-ui a.rbs-logout-button:focus,
body.rbs-ui button.rbs-logout-button,
body.rbs-ui button.rbs-logout-button:hover,
body.rbs-ui button.rbs-logout-button:focus{
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
min-width:96px !important;
min-height:44px !important;
padding:0 24px !important;
border:1px solid #c83b20 !important;
border-radius:14px !important;
background:#d94424 !important;
background-image:linear-gradient(180deg, #e95a2f 0%, #d94424 100%) !important;
color:#ffffff !important;
-webkit-text-fill-color:#ffffff !important;
font-weight:800 !important;
font-size:15px !important;
line-height:1 !important;
text-decoration:none !important;
opacity:1 !important;
box-shadow:0 10px 22px rgba(217,68,36,.22) !important;
cursor:pointer !important;
}

body.rbs-ui a.rbs-logout-button:hover,
body.rbs-ui button.rbs-logout-button:hover{
background:#d94424 !important;
background-image:linear-gradient(180deg, #f06438 0%, #d94424 100%) !important;
color:#ffffff !important;
-webkit-text-fill-color:#ffffff !important;
transform:translateY(-1px);
}

/* Staff profile avatar menu. */
body.rbs-ui .rbs-user-menu{
position:relative;
display:inline-flex;
align-items:center;
justify-content:flex-end;
z-index:50;
margin-left:10px;
}

body.rbs-ui .rbs-user-menu-button{
display:inline-flex;
align-items:center;
gap:10px;
min-height:44px;
max-width:260px;
padding:4px 12px 4px 5px;
border:1px solid rgba(15,45,99,.14);
border-radius:999px;
background:#ffffff;
color:var(--rbs-ink);
font:inherit;
font-weight:800;
line-height:1;
box-shadow:0 10px 24px rgba(15,23,42,.08);
cursor:pointer;
}

body.rbs-ui .rbs-user-menu-button:hover,
body.rbs-ui .rbs-user-menu-button:focus-visible{
border-color:rgba(15,45,99,.28);
background:var(--rbs-blue-soft);
outline:none;
}

body.rbs-ui .rbs-user-avatar{
display:inline-flex;
align-items:center;
justify-content:center;
width:34px;
height:34px;
min-width:34px;
border-radius:50%;
background:linear-gradient(180deg,var(--rbs-navy),var(--rbs-navy-dark));
color:#ffffff;
font-size:12px;
font-weight:900;
letter-spacing:.04em;
overflow:hidden;
}

body.rbs-ui .rbs-user-avatar img{
display:block;
width:100%;
height:100%;
object-fit:cover;
}

body.rbs-ui .rbs-user-menu-label{
display:inline-block;
max-width:150px;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}

body.rbs-ui .rbs-user-menu-caret{
font-size:16px;
line-height:1;
color:var(--rbs-muted);
}

body.rbs-ui .rbs-user-menu-panel{
position:absolute;
top:calc(100% + 10px);
right:0;
min-width:220px;
padding:8px;
border:1px solid rgba(15,45,99,.12);
border-radius:18px;
background:#ffffff;
box-shadow:0 24px 50px rgba(15,23,42,.16);
z-index:1000;
}

body.rbs-ui .rbs-user-menu-panel[hidden]{
display:none !important;
}

body.rbs-ui .rbs-user-menu-head{
display:flex;
flex-direction:column;
gap:3px;
padding:10px 11px 11px;
margin-bottom:4px;
border-bottom:1px solid var(--rbs-line-soft);
}

body.rbs-ui .rbs-user-menu-head strong{
font-size:14px;
color:var(--rbs-ink);
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}

body.rbs-ui .rbs-user-menu-head span{
font-size:12px;
color:var(--rbs-muted);
}

body.rbs-ui .rbs-user-menu-panel a,
body.rbs-ui .rbs-user-menu-panel a:link,
body.rbs-ui .rbs-user-menu-panel a:visited,
body.rbs-ui .rbs-user-menu-panel a:hover,
body.rbs-ui .rbs-user-menu-panel a:active,
body.rbs-ui .rbs-user-menu-panel a:focus{
display:flex !important;
align-items:center !important;
justify-content:flex-start !important;
min-width:0 !important;
min-height:40px !important;
width:100% !important;
padding:0 11px !important;
border:0 !important;
border-radius:12px !important;
background:transparent !important;
background-image:none !important;
box-shadow:none !important;
color:var(--rbs-ink) !important;
-webkit-text-fill-color:var(--rbs-ink) !important;
font-size:14px !important;
font-weight:750 !important;
line-height:1 !important;
text-decoration:none !important;
transform:none !important;
}

body.rbs-ui .rbs-user-menu-panel a:hover,
body.rbs-ui .rbs-user-menu-panel a:focus-visible{
background:var(--rbs-blue-soft) !important;
color:var(--rbs-navy-dark) !important;
-webkit-text-fill-color:var(--rbs-navy-dark) !important;
outline:none !important;
}

body.rbs-ui .rbs-user-menu-panel a.rbs-user-menu-logout,
body.rbs-ui .rbs-user-menu-panel a.rbs-user-menu-logout:link,
body.rbs-ui .rbs-user-menu-panel a.rbs-user-menu-logout:visited{
color:#b42318 !important;
-webkit-text-fill-color:#b42318 !important;
}

body.rbs-ui .rbs-user-menu-floating{
position:fixed;
top:18px;
right:18px;
}

body.rbs-ui .topbar.rbs-topbar-has-user-menu{
gap:14px;
}

@media (max-width:720px){
body.rbs-ui .rbs-user-menu-label{
display:none;
}
body.rbs-ui .rbs-user-menu-button{
padding-right:8px;
}
body.rbs-ui .rbs-user-menu-panel{
right:0;
}
}

/* Profile page. */
body.rbs-ui.rbs-page-profile .profile-card{
max-width:660px;
margin:0 auto;
background:#ffffff;
border:1px solid var(--rbs-line-soft);
border-radius:22px;
box-shadow:var(--rbs-shadow-soft);
padding:24px;
}

body.rbs-ui.rbs-page-profile .profile-layout{
display:grid;
grid-template-columns:132px 1fr;
gap:22px;
align-items:start;
}

body.rbs-ui.rbs-page-profile .profile-avatar-preview{
display:flex;
flex-direction:column;
align-items:center;
gap:12px;
}

body.rbs-ui.rbs-page-profile .profile-avatar-large{
display:flex;
align-items:center;
justify-content:center;
width:116px;
height:116px;
border-radius:50%;
background:linear-gradient(180deg,var(--rbs-navy),var(--rbs-navy-dark));
color:#ffffff;
font-size:34px;
font-weight:900;
letter-spacing:.04em;
overflow:hidden;
box-shadow:0 16px 34px rgba(15,45,99,.18);
}

body.rbs-ui.rbs-page-profile .profile-avatar-large img{
display:block;
width:100%;
height:100%;
object-fit:cover;
}

body.rbs-ui.rbs-page-profile .profile-fields{
display:grid;
grid-template-columns:1fr;
gap:14px;
}

body.rbs-ui.rbs-page-profile .profile-fields .field-full{
grid-column:1 / -1;
}

body.rbs-ui.rbs-page-profile .profile-actions{
display:flex;
flex-wrap:wrap;
gap:10px;
margin-top:18px;
}

body.rbs-ui.rbs-page-profile .profile-note{
font-size:13px;
color:var(--rbs-muted);
line-height:1.45;
}

@media (max-width:760px){
body.rbs-ui.rbs-page-profile .profile-layout{
grid-template-columns:1fr;
}
body.rbs-ui.rbs-page-profile .profile-fields{
grid-template-columns:1fr;
}
}


/* Profile page layout fix: keep the staff profile page from using the wide app-frame panel. */
body.rbs-ui.rbs-page-profile .profile-wrap.rbs-app-frame,
body.rbs-ui.rbs-page-profile .wrap.profile-wrap.rbs-app-frame{
max-width:1120px !important;
margin:20px auto 38px !important;
background:transparent !important;
border:0 !important;
box-shadow:none !important;
padding:20px 26px 28px !important;
backdrop-filter:none !important;
}

body.rbs-ui.rbs-page-profile .profile-wrap .rbs-app-banner{
margin-bottom:22px !important;
}

body.rbs-ui.rbs-page-profile .profile-wrap .topbar{
max-width:980px !important;
margin-left:auto !important;
margin-right:auto !important;
}

body.rbs-ui.rbs-page-profile .profile-card{
max-width:660px !important;
margin:0 auto !important;
}


body.rbs-ui.rbs-page-profile .profile-topbar{
max-width:660px !important;
}

body.rbs-ui.rbs-page-profile .profile-fields-editable-only{
grid-template-columns:1fr !important;
}

body.rbs-ui.rbs-page-profile input[type="file"]{
background:#ffffff !important;
}

body.rbs-ui.rbs-page-profile .profile-fields input[type="text"],
body.rbs-ui.rbs-page-profile .profile-fields input[type="email"],
body.rbs-ui.rbs-page-profile .profile-fields input[type="file"]{
width:100% !important;
min-height:42px !important;
padding:9px 11px !important;
border-radius:12px !important;
font:inherit !important;
}

@media (max-width:900px){
body.rbs-ui.rbs-page-profile .profile-wrap.rbs-app-frame,
body.rbs-ui.rbs-page-profile .wrap.profile-wrap.rbs-app-frame{
padding:14px !important;
margin-top:10px !important;
margin-bottom:24px !important;
}
}

body.rbs-ui.rbs-page-profile .profile-wrap .flash{
max-width:660px !important;
margin:0 auto 16px !important;
}


/* Final fix: keep the global Help modal above page-specific custom modals. */
body.rbs-ui .rch-help-modal.modal,
body.rbs-ui.rbs-page-payments-folios .rch-help-modal.modal{
    z-index:2147483500 !important;
}
body.rbs-ui .rch-help-backdrop{
    z-index:2147483400 !important;
}
body.rbs-ui .rch-help-modal.modal.show,
body.rbs-ui .rch-help-modal.modal.open,
body.rbs-ui.rbs-page-payments-folios .rch-help-modal.modal.show,
body.rbs-ui.rbs-page-payments-folios .rch-help-modal.modal.open{
    display:block !important;
    position:fixed !important;
    inset:0 !important;
    padding:0 !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    background:transparent !important;
    align-items:initial !important;
    justify-content:initial !important;
}

/* Final fix: Payment Log on Guest Bills must stay styled as a normal header button. */
body.rbs-ui.rbs-page-payments-folios .actions .rbs-btn-payment-log,
body.rbs-ui.rbs-page-payments-folios .actions .rbs-btn-payment-log:link,
body.rbs-ui.rbs-page-payments-folios .actions .rbs-btn-payment-log:visited,
body.rbs-ui.rbs-page-payments-folios .actions .rbs-btn-payment-log:hover,
body.rbs-ui.rbs-page-payments-folios .actions .rbs-btn-payment-log:active,
body.rbs-ui.rbs-page-payments-folios .actions .rbs-btn-payment-log:focus{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:44px !important;
    padding:0 18px !important;
    border-radius:999px !important;
    border:1px solid var(--rbs-line, #dbe3ee) !important;
    background:#ffffff !important;
    color:var(--rbs-navy, #13275f) !important;
    text-decoration:none !important;
    font-weight:800 !important;
    box-shadow:none !important;
}
body.rbs-ui.rbs-page-payments-folios .actions .rbs-btn-payment-log::before{
    content:none !important;
    display:none !important;
}

/* Dashboard help modal fixed overlay fallback.
   Keep this unscoped so the Dashboard help does not fall into the page flow
   if body classes or older scoped rules fail to apply. */
#helpModal.help-modal{
    position:fixed !important;
    inset:0 !important;
    z-index:2147483300 !important;
    display:none !important;
    align-items:center !important;
    justify-content:center !important;
    padding:24px !important;
    background:rgba(15,23,42,.55) !important;
    overflow:auto !important;
}
#helpModal.help-modal.show{
    display:flex !important;
}
#helpModal.help-modal[aria-hidden="true"]{
    display:none !important;
}
#helpModal.help-modal .help-dialog{
    width:min(900px, 100%) !important;
    max-height:90vh !important;
    overflow:auto !important;
    background:#ffffff !important;
    border:1px solid #dbe2ea !important;
    border-radius:20px !important;
    box-shadow:0 24px 60px rgba(15,23,42,.25) !important;
}
#helpModal.help-modal .help-header{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    padding:18px 20px !important;
    border-bottom:1px solid #e2e8f0 !important;
    position:sticky !important;
    top:0 !important;
    background:#ffffff !important;
    z-index:2 !important;
}
#helpModal.help-modal .help-header h2{
    margin:0 !important;
    font-size:22px !important;
    color:#0f172a !important;
}
#helpModal.help-modal .help-close{
    width:38px !important;
    height:38px !important;
    border-radius:999px !important;
    border:1px solid #dbe2ea !important;
    background:#ffffff !important;
    color:#0f172a !important;
    font-size:24px !important;
    line-height:1 !important;
    cursor:pointer !important;
}
#helpModal.help-modal .help-content{
    padding:20px !important;
    color:#0f172a !important;
    line-height:1.65 !important;
}

/* Final fix: global Help iframe modal must stay hidden after close.
   Without Bootstrap's full modal CSS, a closed .modal div can fall back into
   normal page flow and appear at the bottom of the page. */
body.rbs-ui .rch-help-modal.modal:not(.show):not(.open),
body.rbs-ui .rch-help-modal.modal[aria-hidden="true"]{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
}
body.rbs-ui .rch-help-modal.modal.show,
body.rbs-ui .rch-help-modal.modal.open{
    display:block !important;
    visibility:visible !important;
    pointer-events:auto !important;
    position:fixed !important;
    inset:0 !important;
    z-index:2147483500 !important;
}

/* Tax Setup Guide backup/restore layout cleanup. */
body.rbs-ui.rbs-page-payments-tax-setup-guide{
    --tax-guide-bg:#f4f7fb;
    --tax-guide-card:#ffffff;
    --tax-guide-text:#0f172a;
    --tax-guide-muted:#64748b;
    --tax-guide-line:#e2e8f0;
    --tax-guide-brand:#10265a;
    --tax-guide-brand-dark:#0b1a3d;
    --tax-guide-shadow:0 12px 30px rgba(15,23,42,.08);
    margin:0;
    background:var(--tax-guide-bg);
    color:var(--tax-guide-text);
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .wrap{
    max-width:1120px !important;
    margin:0 auto !important;
    padding:20px 22px 34px !important;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin:18px 0 20px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .topbar-left{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    min-width:0;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .title h1{
    margin:0 0 5px;
    font-size:28px;
    line-height:1.15;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .title p{
    margin:0;
    color:var(--tax-guide-muted);
    font-size:14px;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .actions,
body.rbs-ui.rbs-page-payments-tax-setup-guide .btn-row{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .hero{
    background:linear-gradient(135deg,#1e2f55 0%,#24395f 100%) !important;
    color:#ffffff !important;
    border-radius:22px !important;
    padding:24px !important;
    margin-bottom:18px !important;
    box-shadow:var(--tax-guide-shadow) !important;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .hero h2{
    margin:0 0 9px !important;
    font-size:25px !important;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .hero p{
    margin:0 !important;
    max-width:880px;
    color:rgba(255,255,255,.88) !important;
    line-height:1.55;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .card{
    background:var(--tax-guide-card) !important;
    border:1px solid var(--tax-guide-line) !important;
    border-radius:18px !important;
    padding:18px !important;
    box-shadow:var(--tax-guide-shadow) !important;
    margin-bottom:16px !important;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .section-title{
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:flex-start;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide h3{
    margin:0 0 10px;
    line-height:1.25;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .helper{
    margin:0 0 14px;
    color:var(--tax-guide-muted);
    line-height:1.55;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .grid,
body.rbs-ui.rbs-page-payments-tax-setup-guide .tax-backup-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .field{display:flex;flex-direction:column;gap:6px;}
body.rbs-ui.rbs-page-payments-tax-setup-guide .field.full{grid-column:1 / -1;}

body.rbs-ui.rbs-page-payments-tax-setup-guide label{
    font-size:13px;
    font-weight:800;
    color:var(--tax-guide-text);
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .input,
body.rbs-ui.rbs-page-payments-tax-setup-guide .select{
    width:100%;
    min-height:44px;
    padding:10px 12px;
    border-radius:12px;
    border:1px solid var(--tax-guide-line);
    background:#ffffff;
    color:var(--tax-guide-text);
    font:inherit;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 16px;
    border-radius:999px;
    border:1px solid var(--tax-guide-line);
    background:#ffffff;
    color:var(--tax-guide-brand);
    text-decoration:none;
    font:inherit;
    font-weight:800;
    cursor:pointer;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .btn.primary,
body.rbs-ui.rbs-page-payments-tax-setup-guide .rbs-btn-primary{
    background:linear-gradient(180deg,var(--tax-guide-brand) 0%,var(--tax-guide-brand-dark) 100%) !important;
    border-color:transparent !important;
    color:#ffffff !important;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .tax-backup-panel{
    background:#ffffff;
    border:1px solid var(--tax-guide-line);
    border-radius:18px;
    padding:18px;
    box-shadow:0 8px 22px rgba(15,23,42,.06);
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .tax-backup-kicker{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:0 10px;
    border-radius:999px;
    background:#eff6ff;
    color:#1e3a8a;
    font-size:12px;
    font-weight:800;
    margin-bottom:12px;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .tax-server-backups{
    margin-top:16px;
    border-top:1px solid var(--tax-guide-line);
    padding-top:16px;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .tax-backup-empty{
    border:1px dashed var(--tax-guide-line);
    background:#f8fafc;
    color:var(--tax-guide-muted);
    border-radius:16px;
    padding:16px;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .tax-backup-file-list{
    display:grid;
    gap:12px;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .tax-backup-file-card{
    display:grid;
    grid-template-columns:minmax(0,1.5fr) minmax(190px,.7fr) auto;
    gap:14px;
    align-items:center;
    padding:14px;
    border:1px solid var(--tax-guide-line);
    border-radius:16px;
    background:#ffffff;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .tax-backup-file-main,
body.rbs-ui.rbs-page-payments-tax-setup-guide .tax-backup-file-meta{
    display:flex;
    flex-direction:column;
    gap:4px;
    min-width:0;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .tax-backup-file-main strong{
    overflow-wrap:anywhere;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .tax-backup-file-main span,
body.rbs-ui.rbs-page-payments-tax-setup-guide .tax-backup-file-meta span{
    color:var(--tax-guide-muted);
    font-size:13px;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .tax-backup-file-actions{
    display:flex;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .tax-backup-file-actions form{
    margin:0;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .check-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .check-card{
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:12px;
    border:1px solid var(--tax-guide-line);
    border-radius:14px;
    background:#ffffff;
}

body.rbs-ui.rbs-page-payments-tax-setup-guide .check-card input{margin-top:3px;}

@media (max-width:900px){
    body.rbs-ui.rbs-page-payments-tax-setup-guide .wrap{padding:14px !important;}
    body.rbs-ui.rbs-page-payments-tax-setup-guide .grid,
    body.rbs-ui.rbs-page-payments-tax-setup-guide .tax-backup-actions,
    body.rbs-ui.rbs-page-payments-tax-setup-guide .form-grid,
    body.rbs-ui.rbs-page-payments-tax-setup-guide .check-list,
    body.rbs-ui.rbs-page-payments-tax-setup-guide .tax-backup-file-card{
        grid-template-columns:1fr;
    }
    body.rbs-ui.rbs-page-payments-tax-setup-guide .tax-backup-file-actions{
        justify-content:flex-start;
    }
}
