:root {
    --admin-bg: #f3f4f6;
    --admin-surface: #ffffff;
    --admin-primary: #4f46e5;
    --admin-primary-soft: rgba(79, 70, 229, 0.08);
    --admin-accent: #22c55e;
    --admin-danger: #ef4444;
    --admin-warning: #f97316;
    --admin-border-soft: rgba(148, 163, 184, 0.35);
    --admin-text-main: #0f172a;
    --admin-text-muted: #6b7280;
    --admin-radius-lg: 18px;
    --admin-shadow-card: 0 18px 40px rgba(15, 23, 42, 0.18);
}

/* พื้นหลังโซนหลังบ้าน (ใช้เวลาอยู่ในหน้า backend) */
body {
    background-color: var(--admin-bg);
}

/* กล่องหลักในหน้า: buy_history, topup_history, user_edit */
.admin-page-card {
    background: var(--admin-surface);
    border-radius: var(--admin-radius-lg);
    border: 1px solid var(--admin-border-soft);
    box-shadow: var(--admin-shadow-card);
    padding: 22px 22px 20px;
    margin-top: 28px;
    margin-bottom: 26px;
}

/* website.php ใช้ div bg-white border... เดิมอยู่แล้ว ถ้าใส่ admin-page-card ก็จะได้ style นี้ด้วย */
.admin-page-card.bg-white {
    background: var(--admin-surface);
}

/* header ด้านบนของแต่ละหน้า */
.admin-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

/* ถ้ายังมี <center> อยู่ ให้ทำให้ดูเหมือนซ้าย */
.admin-page-card > center {
    display: block;
    text-align: left;
    margin-bottom: 6px;
}

/* h1 ที่เป็นชื่อหน้า */
.admin-page-title {
    font-size: 20px;
    font-weight: 600;
    color: var(--admin-text-main);
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.admin-page-title i {
    font-size: 22px;
    color: var(--admin-primary);
}

/* เส้นคั่น */
.admin-page-card hr {
    margin-top: 8px;
    margin-bottom: 14px;
    border-color: rgba(148, 163, 184, 0.4) !important;
}

/* แถบข้อมูลสรุปเล็ก ๆ ใต้หัวเรื่อง */
.admin-page-meta {
    font-size: 12px;
    color: var(--admin-text-muted);
}

/* pill สรุปค่า เช่น จำนวนรายการทั้งหมด ฯลฯ */
.admin-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    background: var(--admin-primary-soft);
    color: var(--admin-text-main);
    font-size: 12px;
    margin-top: 4px;
}

.admin-pill i {
    color: var(--admin-primary);
}

/* ตาราง DataTable ทุกหน้า (buy, topup, user_edit, otp) */
.admin-page-card .table {
    font-size: 13px;
    margin-top: 8px;
    border-radius: 14px;
    overflow: hidden;
}

/* ส่วนหัวของ table */
.admin-page-card thead.table-dark,
.admin-page-card thead.bg-dark {
    background: linear-gradient(90deg, #4f46e5, #0ea5e9);
}

.admin-page-card thead.table-dark th,
.admin-page-card thead.bg-dark th {
    border: none !important;
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 500;
    color: #f9fafb;
}

/* แถวใน tbody */
.admin-page-card tbody tr {
    border-bottom: 1px solid rgba(148, 163, 184, 0.25);
}

.admin-page-card tbody tr:last-child {
    border-bottom: none;
}

.admin-page-card tbody tr:hover {
    background: rgba(79, 70, 229, 0.04);
}

/* ตัวอักษรใน cell */
.admin-page-card td,
.admin-page-card th {
    vertical-align: middle;
    color: var(--admin-text-main);
}

/* ปุ่มจัดการใน table (แก้ไข / ลบ ฯลฯ) */
.admin-page-card .btn {
    font-size: 12px;
    padding: 5px 12px;
    border-radius: 999px;
}

.admin-page-card .btn-primary,
.admin-page-card .btn-warning,
.admin-page-card .btn-danger,
.admin-page-card .btn-info {
    border: none;
}

/* ปรับสี button basic ให้นุ่มขึ้น */
.admin-page-card .btn-primary {
    background: #4f46e5;
}
.admin-page-card .btn-warning {
    background: #f59e0b;
    color: #111827;
}
.admin-page-card .btn-danger {
    background: #ef4444;
}
.admin-page-card .btn-info {
    background: #0ea5e9;
}

/* DataTables – filter + length + paginate */
.dataTables_wrapper .dataTables_filter input {
    border-radius: 999px;
    border: 1px solid var(--admin-border-soft);
    padding: 4px 10px;
    font-size: 12px;
    outline: none;
}

.dataTables_wrapper .dataTables_length select {
    border-radius: 999px;
    border: 1px solid var(--admin-border-soft);
    padding: 2px 8px;
    font-size: 12px;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    border-radius: 999px !important;
    border: 1px solid transparent !important;
    padding: 2px 8px !important;
    margin: 0 2px !important;
    font-size: 12px;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: var(--admin-primary) !important;
    color: #fff !important;
    border-color: var(--admin-primary) !important;
}

/* card ในหน้า dashboard / otp */
.card.card-hover.shadow-lg,
.cardmb-3 {
    border-radius: 18px;
    border: 1px solid var(--admin-border-soft);
    background: radial-gradient(circle at top left, #ffffff, #eef2ff);
    box-shadow: var(--admin-shadow-card);
}

.card.card-hover .card-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--admin-text-main);
}

/* รูปไอคอนกลม ๆ ใน dashboard / otp */
.card-img-top.img-proflie,
.card-img-top.img-profile {
    border-radius: 999px !important;
    border: 3px solid rgba(79, 70, 229, 0.15);
}

/* badge แสดงจำนวนเงิน / จำนวนรายการ */
.badge.bg-info,
.badge.bg-success,
.badge.bg-danger {
    border-radius: 999px;
    padding: 6px 12px;
    font-weight: 500;
}

/* modal ใน user_edit / otp ให้โค้งขึ้น */
.modal-content {
    border-radius: 18px;
    border: 1px solid var(--admin-border-soft);
}

/* ฟอร์มใน website.php ให้จัด spacing ดีขึ้น */
.admin-page-card .form-control {
    border-radius: 999px;
    border: 1px solid var(--admin-border-soft);
    font-size: 13px;
}

.admin-page-card p.m-0.text-secondary {
    font-size: 12px;
    color: var(--admin-text-muted) !important;
}
