/* Restaurant pages: calm, neutral UI. White/grey surfaces, dark text, one red accent used sparingly. */

:root{
	--rs-accent:#c0392b;
	--rs-accent-soft:#fbeeec;
	--rs-ink:#1f2937;
	--rs-text:#374151;
	--rs-muted:#6b7280;
	--rs-line:#e5e7eb;
	--rs-line-soft:#f0f1f3;
	--rs-bg:#f5f6f8;
	--rs-head:#f9fafb;
}

.content-wrapper{ background:var(--rs-bg); }
.rs{ padding:16px 18px 24px; font-family:'Source Sans Pro','Helvetica Neue',Arial,sans-serif; color:var(--rs-text); font-size:14px; }

/* ---------- page header ---------- */
.rs-top{
	display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px;
	background:#fff; border:1px solid var(--rs-line); border-radius:12px; padding:14px 18px; margin-bottom:14px;
}
.rs-title{ display:flex; align-items:center; gap:12px; }
.rs-title-ic{
	width:42px; height:42px; border-radius:10px; background:var(--rs-accent-soft); color:var(--rs-accent);
	display:flex; align-items:center; justify-content:center; font-size:19px;
}
.rs-title h1{ margin:0; font-size:20px; font-weight:700; color:var(--rs-ink); }
.rs-title p{ margin:2px 0 0; font-size:13px; color:var(--rs-muted); }
.rs-actions{ display:flex; gap:8px; flex-wrap:wrap; }

.rs-btn{
	display:inline-flex; align-items:center; gap:7px; height:38px; padding:0 15px; border-radius:8px;
	font-size:14px; font-weight:600; text-decoration:none !important; cursor:pointer; transition:background .15s, border-color .15s;
	border:1px solid var(--rs-line); background:#fff; color:var(--rs-ink) !important;
}
.rs-btn:hover{ background:var(--rs-head); border-color:#d1d5db; }
.rs-btn-danger{ background:var(--rs-accent); border-color:var(--rs-accent); color:#fff !important; }
.rs-btn-danger:hover{ background:#a93226; border-color:#a93226; }

/* ---------- stat cards ---------- */
.rs-stats{ display:grid; grid-template-columns:repeat(4, 1fr); gap:12px; margin-bottom:14px; }
.rs-stat{ background:#fff; border:1px solid var(--rs-line); border-radius:12px; padding:14px 16px; }
.rs-stat small{ display:block; font-size:12px; font-weight:600; color:var(--rs-muted); text-transform:uppercase; letter-spacing:.5px; }
.rs-stat b{ display:block; margin-top:4px; font-size:22px; font-weight:700; color:var(--rs-ink); line-height:1.2; }
.rs-stat.is-main b{ color:var(--rs-accent); }

/* ---------- card + table ---------- */
.rs-card{ background:#fff; border:1px solid var(--rs-line); border-radius:12px; margin-bottom:14px; }
.rs-card-head{ display:flex; align-items:center; justify-content:space-between; padding:13px 16px; border-bottom:1px solid var(--rs-line); }
.rs-card-head h3{ margin:0; font-size:16px; font-weight:700; color:var(--rs-ink); }
.rs-count{ font-size:12.5px; font-weight:600; color:var(--rs-muted); background:var(--rs-line-soft); padding:3px 10px; border-radius:999px; }
.rs-card-body{ padding:12px 16px 16px; }

.rs-table{ width:100% !important; border-collapse:separate !important; border-spacing:0; margin:6px 0 !important; border:none !important; }
.rs-table thead th{
	background:var(--rs-head); color:var(--rs-muted); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.4px;
	border:none !important; border-bottom:1px solid var(--rs-line) !important; padding:10px 12px !important; white-space:nowrap;
}
.rs-table tbody td{
	border:none !important; border-bottom:1px solid var(--rs-line-soft) !important; padding:11px 12px !important;
	vertical-align:top !important; background:#fff !important; color:var(--rs-text); font-size:14px;
}
.rs-table tbody tr:hover td{ background:#fafafa !important; }
.rs-table tfoot th, .rs-table tfoot td{
	border:none !important; border-top:2px solid var(--rs-line) !important; padding:12px !important;
	font-size:14.5px; font-weight:700; color:var(--rs-ink); background:#fff;
}

.rs-inv{ font-weight:700; color:var(--rs-ink); font-size:15px; }
.rs-type{ display:inline-block; font-size:12px; font-weight:600; color:var(--rs-text); background:var(--rs-line-soft); padding:2px 8px; border-radius:6px; white-space:nowrap; }
.rs-items{ line-height:1.55; color:var(--rs-text); min-width:230px; }
.rs-items b{ color:var(--rs-ink); }
.rs-num{ font-variant-numeric:tabular-nums; white-space:nowrap; }
.rs-strong{ font-weight:700; color:var(--rs-ink); }
.rs-muted{ color:#9ca3af; }
.rs-neg{ color:var(--rs-muted); }
.rs-time{ white-space:nowrap; }
.rs-time b{ display:block; font-weight:600; color:var(--rs-ink); }
.rs-time small{ color:var(--rs-muted); }
.rs-table thead th, .rs-type{ white-space:nowrap; }

.rs-ops{ white-space:nowrap; text-align:right; }
.rs-op{
	display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:8px; margin-left:4px;
	border:1px solid var(--rs-line); background:#fff; color:var(--rs-text) !important; text-decoration:none !important; transition:all .12s;
}
.rs-op:hover{ background:var(--rs-head); border-color:#d1d5db; color:var(--rs-ink) !important; }
.rs-op.is-del:hover{ background:var(--rs-accent-soft); border-color:#efc4be; color:var(--rs-accent) !important; }

.rs-empty{ padding:56px 10px; text-align:center; color:var(--rs-muted); }
.rs-empty .fa{ font-size:42px; opacity:.35; display:block; margin-bottom:10px; }
.rs-empty b{ display:block; font-size:16px; color:var(--rs-ink); margin-bottom:4px; }

/* DataTables controls */
.rs .dataTables_wrapper .dataTables_filter input,
.rs .dataTables_wrapper .dataTables_length select{
	border:1px solid var(--rs-line); border-radius:8px; height:34px; padding:0 10px; outline:none; box-shadow:none;
}
.rs .dataTables_wrapper .dataTables_filter input:focus{ border-color:#9ca3af; }
.rs .dataTables_wrapper .pagination > li > a{ border-radius:8px !important; margin:0 2px; color:var(--rs-ink); }
.rs .dataTables_wrapper .pagination > .active > a,
.rs .dataTables_wrapper .pagination > .active > a:hover{ background:var(--rs-ink); border-color:var(--rs-ink); color:#fff; }

/* popups */
.rs-modal .modal-content{ border-radius:12px; overflow:hidden; border:none; box-shadow:0 18px 44px rgba(0,0,0,.2); }
.rs-modal .modal-header{ background:#fff; color:var(--rs-ink); border-bottom:1px solid var(--rs-line); padding:14px 18px; }
.rs-modal .modal-header .modal-title .fa{ color:var(--rs-accent); }
.rs-modal .modal-body{ padding:16px 18px; }
.rs-modal .form-control{ height:40px; border-radius:8px; border-color:var(--rs-line); box-shadow:none; }
.rs-modal .form-control:focus{ border-color:#9ca3af; }
.rs-modal .modal-footer .btn{ border-radius:8px; height:38px; padding:0 16px; font-weight:600; }
.rs-modal .modal-footer .btn-danger{ background:var(--rs-accent); border-color:var(--rs-accent); }

@media (max-width: 991px){
	.rs-stats{ grid-template-columns:repeat(2, 1fr); }
}
