
@import url(https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap%27);

/* ================= GLOBAL & LAYOUT ================= */

body {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
 
.main-panel .btn-group {
	border: 1px solid #1E293B;
}
.main-panel .btn-group .btn {
	background-color: #fff;
	color: #000;
	font-weight: 500;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0%;
	font-family: "Plus Jakarta Sans", sans-serif;
	height: 36px;
	border: none;
	border-radius: 10px !important;
}
.main-panel .btn-group .active {
	background-color: #020617;
	color: #fff;
}
.main-panel .btn-group {
	border: 1px solid #1E293B;
	border-radius: 10px;
}
.main-panel .justify-content-between .d-flex .form-control {
	padding: 7px 10px;
	border: 1px solid #000;
	border-radius: 6px;
	outline: 0;
	box-shadow: none !important;
}
.main-panel .justify-content-between .d-flex .form-select.form-select-sm {
	border: 1px solid #000;
	border-radius: 6px;
	outline: 0;
	box-shadow: none !important;
}
.row.g-4.mb-4 .col-md-3 .stat-card {
	min-height: 150px;
}
.row.g-4.mb-4 .col-md-3 .stat-card .d-flex.justify-content-between span {
	font-weight: 500;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0.35px;
	text-transform: uppercase;
	color: #000;
	font-family: "Plus Jakarta Sans", sans-serif;
}
.row.g-4.mb-4 .col-md-3 .stat-card h2 {
	font-family: Plus Jakarta Sans;
	font-weight: 700;
	font-size: 30px;
	line-height: 36px;
	letter-spacing: 0%;
}
.row.g-4.mb-4 .col-md-3 .stat-card small {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-weight: 400;
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 0%;
	vertical-align: middle;
	color: #000;
}
.stat-card.green {
	border-radius: 14px;
	background: linear-gradient(135deg, rgba(16, 185, 129, 0.2) 0%, #10B981 100%) !important;
	border: 1px solid #10B981;
	box-shadow: 0px 10px 15px -3px #0000001A;
	backdrop-filter: blur(4px);
}
.stat-card.yellow {
	background: linear-gradient(135deg, rgba(245, 158, 11, 0.2) 0%, rgba(245, 158, 11, 0.05) 100%) !important;
	border: 1px solid #F59E0B33;
	box-shadow: 0px 10px 15px -3px #0000001A;
	backdrop-filter: blur(4px);
}
.stat-card.red {
	background: linear-gradient(135deg, rgba(244, 63, 94, 0.2) 0%, rgba(244, 63, 94, 0.05) 100%) !important;
	border: 1px solid #F43F5E33;
	box-shadow: 0px 10px 15px -3px #0000001A;
	backdrop-filter: blur(4px);
}
.stat-card.purple {
	background: linear-gradient(135deg, rgba(168, 85, 247, 0.2) 0%, rgba(168, 85, 247, 0.05) 100%) !important;
	box-shadow: 0px 10px 15px -3px #0000001A;
	backdrop-filter: blur(4px);
	border: 1px solid #A855F733;
}
.card.campaign-table .card-header .mb-0 {
	font-weight: 600;
	font-size: 20px;
	line-height: 28px;
	letter-spacing: -0.5px;
	font-family: "Plus Jakarta Sans", sans-serif;
}
.card.campaign-table .card-header .text-muted {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0%;
	vertical-align: middle;
	color: #94A3B8 !important;
}
.card.campaign-table .table.mb-0.align-middle thead tr th {
	background-color: #000;
	height: 48px;
}
.card.campaign-table .table.mb-0.align-middle thead tr th {
	background-color: #000;
	height: 48px;
	font-weight: 500;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0%;
	vertical-align: middle;
	color: #fff;
	font-family: "Plus Jakarta Sans", sans-serif;
}
.card.campaign-table .card-header {
	border: 1px solid #1E293B80;
}
.card.campaign-table .table.mb-0.align-middle tbody {
	border: 1px solid #1E293B80;
}
.campaign-table thead {
	background: #0b1320;
	color: #fff;
	border: 1px solid #000;
}
.card.campaign-table .table.mb-0.align-middle tbody tr {
	height: 89px;
	border-color: #1E293B;
}
.card.campaign-table .table.mb-0.align-middle tbody tr .badge {
	font-weight: 600;
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 0%;
	vertical-align: middle;
	font-family: "Plus Jakarta Sans", sans-serif;
}
.bg-danger {
	background: #FF01494D !important;
	border: 1px solid #F43F5E !important;
	color: #F43F5E;
}
.bg-success {
	background: #00FF4D4D !important;
	border: 1px solid #10B981 !important;
	color: #10B981;
}
.bg-dark {
	background: #1E293B !important;
	border: 1px solid #000 !important;
}
.bg-secondary {
	background: #1E293B !important;
	border: 1px solid #000 !important;
}

a, div, h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, p, span {
	font-family: "Plus Jakarta Sans", sans-serif !important;
}
 
.table th, .table td {
	padding: 0 30px !important;
}
.card.campaign-table .table.mb-0.align-middle thead tr th {
	background-color: #020617 !important;
}
.card.campaign-table {
	border-radius: 15px;
}
.card.campaign-table .card-header {
	border: 1px solid #1E293B80;
	padding: 20px 10px !important;
	line-height: normal;
	border-radius: 15px 15px 0 0 !important;
}

.navbar .navbar-menu-wrapper .d-none.d-lg-flex.ms-4.flex-grow-1.search-form {
	width: 100%;
	max-width: 40%;
}
.navbar .navbar-menu-wrapper .d-none.d-lg-flex.ms-4.flex-grow-1.search-form .form-control.border-start-0 {
	background-color: #E5E5E5;
}
.top-navbar .input-group .input-group-text.bg-white.border-end-0 {
	background-color: #E5E5E5 !important;
}
.progress {
	height: 10px !important;
	background-color: #1E293B !important;
	padding: 1px;
}
.progress .progress-bar {
	border-radius: 100px;
	border: 1px solid transparent;
}
.navbar-nav.ms-auto .text-dark.mt-4 {
	font-weight: 600;
	font-size: 20px;
	line-height: 28px;
	letter-spacing: -0.45px;
	color: #000 !important;
}
.top-navbar {
	box-shadow: 0px 4px 4px 0px #00000040 !important;height: 70px !important;
}
.progress-bar.bg-danger {
	background-color: #F43F5E80 !important;
	border: 1px solid #33415580 !important;
}
.progress-bar.bg-warning {
	box-shadow: 0px 0px 10px 0px #F59E0B66 !important;
	background-color: #F59E0B !important;
}
.progress-bar.bg-success {
	box-shadow: 0px 0px 10px 0px #10B98166 !important;
	background-color: #10B981 !important;
}

.table > thead:nth-child(1) > tr:nth-child(1) > th:nth-child(5) {
	text-align: center;
}
.text-danger.fw-bold, .text-success.fw-bold {
	text-align: center;
	font-family: Plus Jakarta Sans;
	font-weight: 600 !important;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0%;
	vertical-align: middle;
}
.badge.bg-danger {
	background-color: #FF01494D !important;
	color: #F43F5E !important;
}
.bg-success {
	background-color: #00FF4D4D !important;
	color: #10B981 !important;
}
.badge.bg-secondary {
	background-color: #1E293B !important;
}	

.card.campaign-table .table.mb-0.align-middle tbody .badge.bg-success {
	color: #10B981 !important;
	opacity: 1 !important;
	background-color: #00FF4D4D !important;
}
.usage-cell {
    min-width: 220px;
}
 
.usage-header {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: #9aa4b2;
    margin-bottom: 6px;
}
 
.usage-bar {
    width: 100%;
    height: 10px;
    background: #e6e6e6;
    border-radius: 20px;
    overflow: hidden;
}
 
.usage-progress {
    height: 100%;
    background: #8b1d3d; /* dark red */
    border-radius: 20px;
}
 
.usage-text {
    display: block;
    text-align: right;
    margin-top: 6px;
    font-size: 12px;
    font-weight: 600;
    color: #d60000;
}
 
/* Cell */
.usage-cell {
    min-width: 240px;
}
 
/* Amounts */
.usage-header {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: #94a3b8;
    margin-bottom: 6px;
}
 
/* Bar */
.usage-bar {
    height: 10px;
    border-radius: 20px;
    overflow: hidden;
}
 
.usage-bar.dark {
    background: #1f2a3a; /* navy track */
}
 
/* Fill */
.usage-fill {
    height: 100%;
    border-radius: 20px;
}
 
/* Colors */
.usage-fill.yellow {
    background: #f59e0b;
}
 
.usage-fill.green {
    background: #10b981;
}
 
/* Percentage text */
.usage-text {
    display: block;
    text-align: right;
    font-size: 12px;
    font-weight: 600;
    margin-top: 6px;
}
 
.yellow-text {
    color: #f59e0b;
}
 
.green-text {
    color: #10b981;
}
/* ================= SIDEBAR ================= */

.sidebar {
    position: fixed;
    top: 0;
    left: 0;
    width: 270px;
    height: 100vh;
    z-index: 1040;
    background: linear-gradient(180deg, #1f4fd8, #1b3fae);
    overflow-y: auto; /* Allow scrolling if menu is long */
}

.sidebar-brand-wrapper {
    padding: 20px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.sidebar-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    text-decoration: none;
}

.brand-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
}

.brand-text {
    font-size: 17px;
    font-weight: 600;
}

/* ================= NAV ITEMS ================= */
.sidebar .nav {
    display: flex;
    flex-direction: column;
    padding: 10px;
    list-style: none;
}

.sidebar .nav-item {
    width: 100%;
}

.sidebar .nav-link {
    border-radius: 12px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
}

.sidebar .nav-link i.menu-icon {
    font-size: 1.1rem;
    line-height: 1;
}

.sidebar .nav-link.active,
.sidebar .nav-link:hover {
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
}

/* ================= DROPDOWN / SUB-MENU ================= */

/* Arrow icon */
.sidebar .menu-arrow {
    margin-left: auto;
    transition: transform 0.3s ease;
    font-family: "themify";
}

.sidebar .menu-arrow::before {
    content: "\e649"; /* right arrow */
    font-size: 10px;
    display: inline-block;
}

/* Rotate when open */
.sidebar .nav-link[aria-expanded="true"] .menu-arrow {
    transform: rotate(90deg);
}


/* Sub-menu styling */
.sidebar .sub-menu {
    list-style: none;
    padding: 5px 0 10px 40px; /* Indent sub-items to the right */
    margin: 0;
}

.sidebar .sub-menu .nav-item .nav-link {
    padding: 8px 10px;
    font-size: 0.85rem;
    background: transparent;
    color: #fff;
}

.sidebar .sub-menu .nav-item .nav-link:hover {
    color: #fff;
    background: transparent;
    text-decoration: underline;
}

/* ================= NAVBAR ================= */
.top-navbar {
    height: 64px;
    background: #fff;
    border-bottom: 1px solid #eef0f4;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    z-index: 1050;
}

.profile-img {
    width: 36px;
    height: 36px;
    border-radius: 50%;
}

/* ================= MAIN PANEL ================= */
.main-panel {
    /* margin-top: 64px; */
    margin-left: 230px;
    margin-right: 0px;
    /* min-height: calc(100vh - 64px); */
    /* background: #f4f7ff;
    padding: 20px; */
}

.content-wrapper {
    width: 100%;
}

/* Navbar search */
.search-form {
    max-width: 600px;
}

.top-navbar .input-group {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    margin-left: 180px;
}

.top-navbar .form-control {
    box-shadow: none;
    font-size: 0.9rem;
}

.top-navbar .form-control:focus {
    box-shadow: none;
    border-color: #dee2e6;
}

.top-navbar .input-group-text {
    border-right: none;
}



/* ===============================
   DASHBOARD WRAPPER
================================ */
.dashboard-wrapper {
    padding: 23px 80px !important;
    min-height: 100vh;
    font-family: Inter, system-ui, -apple-system, sans-serif;
}

/* ===============================
   TOP BAR (TOGGLE + FILTERS)
================================ */
.dashboard-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 28px;
}

/* Toggle buttons */
.toggle-group {
	display: inline-flex;
	background: #0b1320;
	padding: 2px;
	border-radius: 10px;
}
.stat-box {
	background: linear-gradient(135deg, rgba(244, 63, 94, 0.1) 0%, rgba(244, 63, 94, 0) 100%);
	border: 2px solid #000000;
	box-shadow: 0px 4px 6px -4px #0000001A;
	box-shadow: 0px 10px 15px -3px #0000001A;
	backdrop-filter: blur(4px);
font-family: Outfit;
font-weight: 500;
font-style: Medium;
font-size: 20px;
leading-trim: NONE;
line-height: 20px;
letter-spacing: 0.35px;
vertical-align: middle;
text-transform: uppercase;
height: 136px;
border-radius: 13px;
padding: 25px;
display: flex;
flex-direction: column;
gap: 19px;

}

.toggle-btn {
	border: none;
	background-color: #000;
	color: #fff;
	padding: 10px 18px;
	font-size: 14px;
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.2s ease;
	display: flex;
	gap: 15px;
}

.toggle-btn.active {
	background: #fff;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08);
	color: #000;
	display: flex;
	align-items: center;
	gap: 15px;
}

/* Filters */
.filters {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ads-filter-btn {
    background: #0b1320;
    border: 1px solid #d1d5db;
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 13px;
}

/* Search */
.search-input {
    width: 220px;
    background: #0b1320;
    border: none;
    color: #fff;
    padding: 9px 14px;
    border-radius: 8px;
    font-size: 13px;
}

.search-input::placeholder {
    color: rgba(255,255,255,0.5);
}

/* ===============================
   STAT CARDS
================================ */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
    margin-bottom: 30px;
}

.stat-card {
    border-radius: 14px;
    padding: 22px;
    box-shadow: 0 12px 28px rgba(0,0,0,0.08);
}

.stat-card p {
    font-size: 12px;
    letter-spacing: 0.04em;
    margin-bottom: 8px;
    font-weight: 600;
	display: flex;
    align-items: center;
    justify-content: space-between;
}

.stat-card h2 {
    font-size: 34px;
    font-weight: 700;
    margin: 0;
}

.stat-card h2 span {
    font-size: 16px;
    font-weight: 500;
    opacity: 0.6;
}

.stat-card small {
    font-size: 13px;
    opacity: 0.75;
}

/* Card colors (Figma matched) */
.stat-card.green {
    background: linear-gradient(135deg,#6ee7b7,#34d399);
}

.stat-card.yellow {
    background: #fff3cd;
}

.stat-card.red {
    background: #ffe4e6;
}

.stat-card.purple {
    background: #f3e8ff;
}

/* ===============================
   TABLE CARD
================================ */


/* Header */
.card-header {
    padding: 18px 22px;
    border-bottom: 1px solid #e5e7eb;
}


.card-header p {
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0%;
	color: #94A3B8;
}

/* ===============================
   TABLE
================================ */
.card-table table {
    width: 100%;
    border-collapse: collapse;
}

.card-table thead {
	color: #fff;
	background-color: #020617 !important;
	background: transparent;
	border-bottom: 1px solid #1E293B;
}

.card-table th {
    padding: 14px 16px;
    font-size: 13px;
    font-weight: 500;
    text-align: left;
}

.card-table td {
	border-top: 1px solid #1E293B;
	font-family: Plus Jakarta Sans;
	font-weight: 600;
	line-height: 20px;
	letter-spacing: 0%;
	vertical-align: middle;
}
.bs-blue-text {
	color: #2259BF;
}

/* Status badges */
.badge {
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
}

.badge.danger {
    background: #fee2e2;
    color: #dc2626;
}

.badge.green {
    background: #dcfce7;
    color: #16a34a;
}

/* Platform label */

.platform {
	background: #2259BF;
	color: #fff;
	padding: 4px 10px;
	opacity: 1;
	border-radius: 8px;
	font-weight: 400;
	font-size: 20px;
	line-height: 20px;
	letter-spacing: -0.5px;
	text-align: center;
}
/* ===============================
   PROGRESS BARS
================================ */
.progress {
    height: 8px;
    border-radius: 6px;
    background: #e5e7eb;
    margin-bottom: 4px;
}

.progress.red {
    background: linear-gradient(90deg,#dc2626,#991b1b);
}

.progress.yellow {
    background: linear-gradient(90deg,#f59e0b,#d97706);
}

.progress.green {
    background: linear-gradient(90deg,#22c55e,#16a34a);
}

/* Text colors */
.red-text {
	font-weight: 700;
	font-size: 10px;
	line-height: 15px;
	letter-spacing: 0.5px;
	text-align: right;
	text-transform: uppercase;
	color: #F43F5E;
}
.green-text { color: #16a34a; font-weight: 600; }
.yellow-text { color: #f59e0b; font-weight: 600; }

/* ===============================
   ACTION BUTTONS
================================ */
.actions {
    text-align: right;
    white-space: nowrap;
}

/* AI Button */
.ai-btn {
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: 16px;
    margin-right: 10px;
}


/* Shared Play/Pause */
.play-pause-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

/* PLAY STATE */
.play-pause-btn.play {
    background: #dcfce7;
    color: #16a34a;
}

/* PAUSE STATE */
.play-pause-btn.pause {
    background: #fee2e2;
    color: #dc2626;
}

/* Hover */
.play-pause-btn.play:hover {
    background: #bbf7d0;
}

.play-pause-btn.pause:hover {
    background: #fecaca;
}

/* ===============================
   AI MODAL
================================ */
.ai-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.ai-modal {
    background: #fff;
    width: 520px;
    border-radius: 14px;
    padding: 22px;
    box-shadow: 0 40px 80px rgba(0,0,0,0.25);
}

/* Header */
.ai-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.ai-title {
    font-size: 16px;
    font-weight: 600;
}

.ai-close-btn {
    border: none;
    background: #111827;
    color: #fff;
    border-radius: 50%;
    width: 28px;
    height: 28px;
    cursor: pointer;
}

/* Text */
.ai-subtext {
    font-size: 13px;
    color: #6b7280;
    margin: 14px 0;
}

/* Input */
.ai-field label {
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 6px;
    display: block;
}

.ai-field input {
    width: 100%;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid #d1d5db;
    font-size: 14px;
}

/* Dropzone */
.ai-dropzone {
    margin-top: 16px;
    border: 2px dashed #93c5fd;
    border-radius: 12px;
    padding: 30px;
    text-align: center;
    background: #f8fafc;
}

.ai-dropzone small {
    color: #64748b;
}

/* Footer */
.ai-modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
}

.btn-outline {
    border: 1px solid #c7d2fe;
    background: transparent;
    padding: 8px 14px;
    border-radius: 8px;
    cursor: pointer;
}

/* ===============================
   BUDGET SEGREGATION
================================ */


.stat-box small {
	display: block;
	margin-top: 6px;
	font-weight: 500;
	font-size: 20px;
	line-height: 20px;
	letter-spacing: 0.35px;
	text-transform: uppercase;
	color: #000;
	margin: 0;
  padding: 0;
}
/* Usage badges */
.usage {
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
}

.usage.danger {
    background: #fee2e2;
    color: #dc2626;
}

.usage.green {
    background: #dcfce7;
    color: #16a34a;
}



/* ================= AUTH PAGE BASE ================= */

.login-page {
    min-height: 100vh;
    background: #f4f6fb;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
}

/* ================= CARD ================= */

.login-card {
    width: 500px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

/* ================= HEADER ================= */

.login-header {
    background: #2f66e6;
    padding: 22px 16px 20px;
    text-align: center;
    color: #ffffff;
    border-radius: 12px 12px 0 0;
}

.login-header-icon {
    width: 44px;
    height: 44px;
    background: rgba(255, 255, 255, 0.18);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 6px;
    font-size: 18px;
}

.login-header-icon img {
    max-width: 22px;
}

.login-header-title {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
}

.login-header-subtitle {
    font-size: 12px;
    opacity: 0.9;
}

/* ================= BODY ================= */

.login-body {
    padding: 26px;
}

.login-title {
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #111827;
}

/* ================= FORM FIELDS ================= */

.login-field {
    display: flex;
    align-items: center;
    border: 1px solid #d9deea;
    border-radius: 6px;
    background: #f9fbff;
    min-height: 44px;
}

.login-field + .login-field {
    margin-top: 14px;
}

.login-field:focus-within {
    border-color: #2f66e6;
    background: #ffffff;
}

/* Icon box */
.login-icon {
    width: 44px;
    height: 44px;
    background: #000000;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    flex-shrink: 0;
}

/* Inputs & Select */
.login-field input,
.login-field select {
    width: 100%;
    border: none;
    outline: none;
    background: transparent;
    padding: 12px;
    font-size: 14px;
    color: #111827;
    line-height: 1.2;
}

.login-field input::placeholder {
    color: #9ca3af;
}

/* ================= PASSWORD FIELD ================= */

.password-field {
    position: relative;
}

.password-field input {
    padding-right: 38px;
}

.password-toggle {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #6b7280;
    font-size: 14px;
    cursor: pointer;
    z-index: 2;
}

/* ================= SELECT ================= */

.login-field select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%236b7280'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 10.94l3.71-3.71a.75.75 0 111.06 1.06l-4.24 4.25a.75.75 0 01-1.06 0L5.21 8.29a.75.75 0 01.02-1.08z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px;
    padding-right: 38px;
}

/* ================= REGISTER GRID ================= */

.register-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

/* ================= OPTIONS (LOGIN ONLY) ================= */

.login-options {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    margin: 14px 0 18px;
}

.login-options label {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

.login-options input[type="checkbox"] {
    width: 14px;
    height: 14px;
}

.login-options a {
    color: #2f66e6;
    text-decoration: none;
}

.login-options a:hover {
    text-decoration: underline;
}

/* ================= BUTTON ================= */

.login-btn {
    width: 100%;
    height: 44px;
    background: #2f66e6;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s ease;
}

.login-btn:hover {
    background: #2455cc;
}

/* ================= STATUS / ERRORS ================= */

.text-success {
    font-size: 13px;
    color: #059669;
    margin-bottom: 10px;
}

.login-body .register-grid .login-field {
	margin: 0;
}
.login-body form .login-field {
	padding: 0;
	margin: 20px 0;
}
.chart-card.mb-4 {
	border: 1px solid #1E293B;
	box-shadow: 0px 8px 10px -6px #0000001A;
	box-shadow: 0px 20px 25px -5px #0000001A;
}
.chart-title {
	font-weight: 600;
	font-size: 18px;
	line-height: 28px;
	letter-spacing: -0.45px;
	color: #2259BF;
}
/* =========================
   ADS PERFORMANCE – FIGMA 1:1
========================= */

/* ================= BASE ================= */

.container-fluid.page-body-wrapper {
	padding-left: 0;
	padding-right: 0px;
}
.page-title {
	font-weight: 700;
	font-size: 30px;
	line-height: 36px;
	letter-spacing: -0.75px;
	color: #2259BF;
}

.page-subtitle {
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 0%;
	color: #94A3B8;
}

/* ================= SEARCH ================= */
.search-dark {
    background: #0b1320;
    color: #fff;
    border-radius: 8px;
    border: none;
    padding: 8px 14px;
    width: 220px;
}

.search-dark::placeholder {
    color: #9ca3af;
}

.filter-btn {
    border: 1px solid #e5e7eb;
    background: #fff;
    border-radius: 8px;
    padding: 8px 10px;
}

/* ================= CARDS ================= */
.chart-card {
    background: #fff;
    border-radius: 14px;
    padding: 20px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}

.chart-title {
    font-weight: 600;
    margin-bottom: 4px;
}

.chart-subtitle {
	margin-bottom: 16px;
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0%;
	color: #64748B;
}

/* ================= METRICS ================= */
.metric-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.metric-card {
	background: #fff;
	border-radius: 14px;
	padding: 18px;
	position: relative;
	border: 1px solid #1E293B;
	box-shadow: 0px 0px 1.9px 0px #0000007D;
	height: 130px;
}

.metric-card label {
	color: #94A3B8;
	font-family: Plus Jakarta Sans;
	font-weight: 500;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: -0.35px;
	vertical-align: middle;
}

.metric-card h3 {
	margin: 6px 0;
	font-weight: 700;
	font-size: 24px;
	line-height: 32px;
	letter-spacing: 0%;
	color: #2259BF;
}

.metric-icon {
    position: absolute;
    top: 14px;
    right: 14px;
    font-size: 16px;
    opacity: 0.8;
}

.positive {
	font-weight: 400;
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 0%;
	vertical-align: middle;
	color: #10B981;
}
.section-title {
	font-weight: 700;
	font-size: 20px;
	line-height: 28px;
	letter-spacing: -0.5px;
	color: #2259BF;
}
.negative { color: #dc2626; font-size: 13px; }

/* ================= PROPERTY SECTION ================= */
/* PROPERTY LAYERS */

.property-layer-card {
    display: grid;
    grid-template-columns: 320px 200px 1fr;
    align-items: center;
    gap: 20px;

    background: #fff;
    border: 1px solid #e3e8f3;
    border-radius: 12px;
    padding: 18px 22px;
    margin-bottom: 18px;
}

.property-left {
    display: flex;
    align-items: center;
    gap: 14px;
}

.property-icon {
    width: 42px;
    height: 42px;
    background: #1e5bd8;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.property-icon img {
    width: 20px;
    filter: brightness(0) invert(1);
}

.property-name {
	font-weight: 700;
	font-size: 20px;
	line-height: 28px;
	letter-spacing: -0.5px;
	color: #2259BF;
}
.property-meta {
    font-size: 12px;
    color: #6b7a99;
	padding-top: 9px;
}

.property-meta .badge {
	background: #1e5bd8;
	color: #fff;
	border-radius: 6px;
	padding: 2px 8px;
	margin-right: 8px;
	font-weight: 600;
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 0%;
	vertical-align: middle;
	height: 22px;
}

/* Sparkline */
.property-sparkline {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    min-width: 140px;
}

.spark-value {
    font-size: 12px;
    color: #6b7a99;
}


/* Budget */

.property-budget {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.budget-label {
	color: #6b7a99;
	font-weight: 500;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0%;
	text-align: right;
}

.budget-amount {
	margin-bottom: 6px;
	font-weight: 400;
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 0%;
	text-align: right;
	color: #94A3B8;
}

.budget-bar {
	height: 8px;
	background: #1E293B;
	border-radius: 6px;
	overflow: hidden;
}

.budget-bar span {
	display: block;
	height: 100%;
	border-radius: 6px;
	padding: 1px;
	border: 1px solid #000;
}

.budget-bar.green span {
    background: #22c55e;
}

.budget-bar.red span {
    background: #ef4444;
}

.budget-used {
    font-size: 12px;
    margin-top: 4px;
}

/* ================= HOTEL INVENTORY ================= */

.hotel-grid.grid-view {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.hotel-grid.list-view {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* ================= LIST VIEW ================= */

.hotel-list {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    padding: 14px;
}

.hotel-list-header,
.hotel-list-row {
  display: grid;
  grid-template-columns: 2.5fr 1fr repeat(4, 1fr);
  align-items: center;
  padding: 14px 16px;
}

.hotel-list-header {
    display: grid;
    grid-template-columns: 2fr 1fr repeat(4, 1fr);
    padding: 14px 18px;
    font-weight: 600;
    font-size: 14px;
    color: #6b7280;
    border-bottom: 1px solid #e5e7eb;
}


.hotel-list-row {
    display: grid;
    grid-template-columns: 2fr 1fr repeat(4, 1fr);
    align-items: center;
    padding: 16px 18px;
    border-bottom: 1px solid #e5e7eb;
    background: #ffffff;
    transition: background 0.2s ease;
}

.hotel-list-row:hover {
    background: #f9fafb;
}

.hotel-cell.property {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    color: #111827;
}

.hotel-cell.property img {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: #eef2ff;
    padding: 6px;
}


.hotel-cell img {
  width: 36px;
  height: 36px;
  padding: 6px;
  background: rgba(255,255,255,.08);
  border-radius: 8px;
}

.occupancy-badge {
    background: #ecfdf5;
    color: #16a34a;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    display: inline-block;
}


.link-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    border: 1px solid #d1d5db;
    color: #6b7280;
    background: #ffffff;
}

.link-chip.linked {
    background: #ecfdf5;
    color: #16a34a;
    border-color: #86efac;
}

/* ================= GRID VIEW ================= */

.hotel-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, 1fr);
}

.hotel-card {
	color: #fff;
	border-radius: 12px;
	font-size: 28px;
	font-weight: 700;
	max-width: 440px;
	border: 1px solid #1E293B;
	box-shadow: 0px 20px 25px -5px #0000001A;
    cursor: pointer;
}

.hotel-card-header {
	position: relative;
	border-radius: 12px 12px 0 0;
	background: linear-gradient(135deg, #3C83F6 0%, #0D0D0F 100%);
	height: 128px;
}

.status-dots {
  position: absolute;
  top: 12px;
  right: 12px;
  display: flex;
  gap: 6px;
}

.status-dots .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
}

.status-dots .dot.active {
  background: #22c55e;
}
.view-toggle {
	display: flex;
	background-color: #0F172A;
	padding: 4px;
	border-radius: 10px;
	gap: 10px;
}
.view-toggle .toggle-btn {
	background: transparent;
	border: none;
	box-shadow: none;
}
.view-toggle .toggle-btn.active {
	background-color: #1E293B;
	box-shadow: 0px 1px 2px 0px #0000000D;
}
.hotel-card-body {
  padding: 20px;
}
.view-toggle .toggle-btn img {
	filter: inherit !important;
	width: auto;
	height: auto;
}

.hotel-icon {
	width: 56px;
	height: 56px;
	background: #fff;
	border-radius: 10px;
	margin-top: -47px;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 999;
	position: relative;
	border: 2px solid #2259BF;
	box-shadow: 0px 25px 50px -12px #00000040;
}

.hotel-meta {
  margin: 8px 0 14px;
  font-size: 13px;
  color: #64748b;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.channel-title {
	margin-bottom: 8px;
	font-weight: 600;
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	color: #000;
}
.channel-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
    cursor: not-allowed;
}

.channel-chip {
	padding: 8px 10px;
	border-radius: 8px;
	background: #02061780;
	display: flex;
	align-items: center;
	gap: 6px;
	justify-content: center;
	font-weight: 700;
	font-size: 10px;
	line-height: 16px;
	letter-spacing: 0%;
	text-align: center;
	text-transform: uppercase;
	height: 36px;
}
.channel-chip.connected {
	background: #ecfdf5;
	border: 1px solid #6ee7b7;
	color: #34D399;
}

/* hotel details page styles */
.metric-dark-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.metric-dark {
	color: #fff;
	padding: 22px;
	border-radius: 12px;
	background: linear-gradient(180deg, #2259BF 0%, #121111 100%);
	border: 1px solid #000;
}
.metric-dark span {
	opacity: 1;
	font-weight: 500;
	font-size: 15px;
	line-height: 20px;
	letter-spacing: 0.35px;
	vertical-align: middle;
	text-transform: uppercase;
	color: #fff;
}

.metric-dark h3 {
	margin-top: 6px;
	font-weight: 700;
	font-size: 35px;
	line-height: 36px;
	letter-spacing: 0%;
}

.status-pill {
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 13px;
}

.status-pill.success {
  background: #ecfdf5;
  color: #16a34a;
}

.grid-2 {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 20px;
}

.chart-dark {
  background: #052e5c;
  padding: 20px;
  border-radius: 14px;
  color: #fff;
}

.platform-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.chart-wrapper {
    position: relative;
    height: 300px;   /* FIXED HEIGHT */
    width: 100%;
}


.chart-wrapper canvas {
    width: 100% !important;
    height: 100% !important;
}

.occupancy-card {
    background: #213c84;
    border-radius: 14px;
    padding: 20px;
    color: #fff;
}

.occupancy-card h4 {
    margin-bottom: 12px;
}

.chart-wrapper.small {
    position: relative;
    height: 150px;
    width: 100%;
}

.chart-wrapper canvas {
    width: 100% !important;
    height: 100% !important;
}

.occupancy-legend {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 10px;
    font-size: 13px;
}

.legend::before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 6px;
}

.legend.booked::before { background: #4ade80; }
.legend.vacant::before { background: #facc15; }

/* ================= OTA INSIGHTS ================= */
/* ================= OTA INSIGHTS ================= */

.ota-wrapper {
    max-width: 100%;
}

.ota-card {
    border: 2px solid #1e5bd7;
    border-radius: 14px;
    padding: 22px;
    margin-bottom: 24px;
    background: #fff;
}

.ota-header {
    display: flex;
    align-items: center;
    margin-bottom: 14px;
}

.ota-left {
    display: flex;
    align-items: center;
    gap: 14px;
}

.ota-header h4 {
    font-size: 18px;
    font-weight: 600;
    color: #1e5bd7;
    margin: 0;
}

.ota-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #eef3ff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ota-icon img {
    width: 22px;
    height: 22px;
}

.ota-message {
    background: #2459c1;
    color: #fff;
    padding: 14px 18px;
    border-radius: 10px;
    font-size: 14px;
    margin-bottom: 12px;
}

.ota-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
}

.ota-label {
    color: #6b7280;
}

.ota-value {
    font-weight: 600;
}

.ota-value.positive {
    color: #16a34a;
}

.ota-value.negative {
    color: #dc2626;
}

/* ================= AI OPTIMIZATION ================= */

.ai-wrapper {
	max-width: 100%;
}

.ai-card {
    background: #255cc3;
    border-radius: 14px;
    padding: 28px;
    margin-bottom: 24px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

.ai-card-content {
    display: flex;
    align-items: flex-start;
    gap: 22px;
}

.ai-icon {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ai-icon img {
    width: 48px;
    height: 48px;
}

.ai-text h4 {
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 6px;
}

.ai-text p {
    color: #e5ecff;
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 16px;
    max-width: 760px;
}

.ai-btn {
    border-radius: 10px;
    padding: 10px 18px;
    font-size: 14px;
    font-weight: 600;
    border: none;
    cursor: pointer;
}

.ai-btn.primary {
    background: #ffffff;
    color: #255cc3;
}

.ai-btn.secondary {
    background: #ffffff;
    color: #255cc3;
}

.ai-btn:hover {
    opacity: 0.9;
}

/* ================= CLIENT MANAGEMENT ================= */

.client-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.client-card {
    background: #fff;
    border-radius: 14px;
    padding: 20px;
    border: 1px solid #e5ecff;
    box-shadow: 0 10px 25px rgba(0,0,0,0.06);
}

.client-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.client-icon img {
    width: 36px;
}

.client-user img {
    width: 18px;
    opacity: 0.6;
}

.client-body h4 {
    font-size: 18px;
    color: #1e40af;
    margin: 12px 0 4px;
}

.client-email {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #64748b;
}

.client-email img {
    width: 14px;
}

.client-divider {
    height: 1px;
    background: #e5ecff;
    margin: 14px 0;
}

.client-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
}

.client-contact {
    color: #94a3b8;
}

.client-status {
    border: 1px solid #22c55e;
    color: #22c55e;
    padding: 4px 10px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 12px;
}

/* Pagination */
.pagination-wrapper {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 40px;
}

.page-btn {
    border: 1px solid #c7d2fe;
    background: #fff;
    padding: 6px 12px;
    border-radius: 8px;
    cursor: pointer;
}

.page-btn.active {
    background: #2563eb;
    color: #fff;
}


/* =========================
   BILLING PAGE
========================= */

.billing-summary-grid {
    display: grid;
    grid-template-columns: 260px repeat(3, 1fr);
    gap: 20px;
}

.billing-hotel-card{    background: #2459c5;    color: #fff;    border-radius: 12px;    padding: 28px;    font-size: 28px;    font-weight: 700;    display: flex;    align-items: center;}

/* SUMMARY CARDS */
.summary-card {
    background: #fff;
    border-radius: 12px;
    padding: 22px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.08);
}

.summary-card small {
    color: #6b7280;
    font-size: 13px;
}

.summary-card h3 {
    margin: 6px 0;
    font-size: 28px;
    font-weight: 700;
    color: #2459c5;
}

.summary-card .danger {
    color: #dc2626;
}

.summary-card span {
    font-size: 13px;
    color: #9ca3af;
}

/* =========================
   PLATFORM CARDS
========================= */

.platform-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.platform-card {
	position: relative;
	border-radius: 12px;
	padding: 16px 14px;
	text-align: left;
	cursor: pointer;
	transition: all .2s ease;
	background: linear-gradient(180deg, #2259BF 0%, #121111 100%);
	border: 1px solid #000000;
	box-shadow: 0 8px 24px rgba(0,0,0,0.08);
	color: #fff;
}

.platform-card:hover {
    transform: translateY(-4px);
}

.platform-card img {
    height: 32px;
    margin-bottom: 10px;
}

.platform-card h3 {
	font-weight: 700;
	font-size: 35px;
	color: #fff;
}
.platform-card small {
    font-size: 13px;
    color: #fff;
}
.d-flex.justify-content-between.align-items-center.mb-4 .back-link {
	font-weight: 400;
	font-size: 15px;
	line-height: 100%;
	letter-spacing: 0%;
	color: #000;
}



/* =========================
   PAID vs SPENT BAR
========================= */

/* =========================
   PAID vs SPENT BAR (FIXED)
========================= */



.billing-progress {
    background: #fff;
    border-radius: 14px;
    padding: 24px;
    box-shadow: 0 8px 26px rgba(0,0,0,0.08);
}

.billing-progress h4 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 18px;
}

/* ROW LAYOUT */
.progress-wrapper {
    display: grid;
    grid-template-columns: 120px 1fr 120px;
    align-items: center;
    gap: 16px;
}

/* LEFT / RIGHT VALUES */
.progress-value {
    font-weight: 700;
    font-size: 18px;
    color: #2459c5;
}

.progress-value.right {
    text-align: right;
}

/* BAR */
.progress-bar {
    height: 10px;
    background: #e5e7eb;
    border-radius: 6px;
    overflow: hidden;
    display: flex;
}

/* SEGMENTS */
.progress-bar .paid {
    width: 42%;
    background: #22c55e; /* green */
}

.progress-bar .spent {
    width: 28%;
    background: #f59e0b; /* orange */
}

.progress-bar .remaining {
    width: 30%;
    background: #d1d5db; /* gray */
}

/* META ROW */
.progress-meta {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: #9ca3af;
    margin-top: 8px;
}

/* ALERT */
.alert-text {
    margin-top: 10px;
    font-size: 13px;
    color: #dc2626;
}


/* =========================
   BILLING TABLE
========================= */

.card-table {
	background: #fff;
	border-radius: 14px;
	box-shadow: none;
	border: 1px solid #000000;
	padding: 22px;
}

.table-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
}

.table-header h4 {
    font-size: 18px;
    font-weight: 700;
}

.table-header a {
    font-size: 14px;
    color: #2459c5;
    font-weight: 600;
}

.card-table table {
    width: 100%;
    border-collapse: collapse;
}



.card-table th,
.card-table td {
    padding: 14px;
    font-size: 14px;
    text-align: left;
}

.card-table tbody tr {
    border-bottom: 1px solid #e5e7eb;
	height: 96px;
}

.card-table tbody tr:hover {
    background: #f9fafb;
}

.card-table td:last-child {
    font-weight: 700;
    color: #2459c5;
}



/* =========================
   REPORTS PAGE
========================= */



.report-banner {
    background: linear-gradient(90deg, #2459c5, #1d4ed8);
    color: #fff;
    border-radius: 14px;
    padding: 24px 28px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

.report-banner-left {
    display: flex;
    align-items: center;
    gap: 16px;
}

.report-banner-left img {
    width: 44px;
}

.report-banner-left h3 {
    margin: 0;
    font-size: 22px;
    font-weight: 700;
}

.report-banner-left p {
    margin: 4px 0 0;
    font-size: 14px;
    opacity: 0.9;
}

.report-banner-actions {
    display: flex;
    align-items: center;
    gap: 14px;
}

.report-banner-actions img {
    width: 22px;
    cursor: pointer;
}

/* =========================
   HOTEL REPORT CARD
========================= */

.hotel-report-card {
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 15px 40px rgba(0,0,0,0.12);
    overflow: hidden;
}

/* HEADER */
.hotel-report-header {
    background: linear-gradient(90deg, #2459c5, #1d4ed8);
    color: #fff;
    padding: 24px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.hotel-thumb {
    width: 90px;
    height: 70px;
    object-fit: cover;
    border-radius: 10px;
    box-shadow: 0 6px 16px rgba(0,0,0,0.3);
}

.hotel-report-header h3 {
    margin: 0;
    font-size: 22px;
    font-weight: 700;
}

.hotel-report-header span {
    font-size: 14px;
    opacity: 0.9;
}

.report-month {
    font-size: 20px;
    font-weight: 700;
}

/* BODY */
.hotel-report-body {
    padding: 28px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    background: linear-gradient(180deg, #f9fbff, #eef3ff);
}

/* =========================
   STATS BOXES
========================= */

.report-stats {
    background: #fff;
    border-radius: 14px;
    padding: 22px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

.report-stats .stat {
    margin-bottom: 14px;
}

.report-stats label {
    display: block;
    font-size: 14px;
    color: #6b7280;
    margin-bottom: 4px;
}

.report-stats strong {
    font-size: 22px;
    color: #111827;
}

.stars {
    color: #fbbf24;
    font-size: 18px;
    margin-left: 6px;
}

/* ACTION BUTTONS */
.report-stats .actions {
    margin-top: 18px;
    display: flex;
    gap: 12px;
}

/* =========================
   RIGHT COLUMN
========================= */

.stat-row {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid #e5e7eb;
    font-size: 15px;
}

.stat-row span {
    color: #6b7280;
}

.stat-row strong {
    color: #111827;
}

.view-report {
    margin-top: 20px;
    text-align: right;
}

/* =========================
   BUTTONS
========================= */

.btn-primary {
    background: #2459c5;
    color: #fff;
    border-radius: 10px;
    padding: 10px 18px;
    border: none;
    font-weight: 600;
}
.clients-wrapper .btn-primary {
	background: #2259BF;
	color: #fff;
	padding: 10px 22px;
	border-radius: 6px;
	border: 1px solid #1E293B;
	font-family: Plus Jakarta Sans;
	font-weight: 700;
	font-size: 14px;
	line-height: 100%;
	letter-spacing: 0%;
}

.btn-dark {
    background: #0f172a;
    color: #fff;
    border-radius: 10px;
    padding: 10px 18px;
    border: none;
    font-weight: 600;
}

.btn-outline {
    background: #fff;
    border: 2px solid #2459c5;
    color: #2459c5;
    border-radius: 10px;
    padding: 8px 16px;
    font-weight: 600;
}


  .campaign-icon {
    width: 18px;
    height: 18px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 3px;
  }
 
.campaign-icon span {
	border: 2px solid #000;
	border-radius: 0px;
	display: block;
	height: 9px;
	width: 9px;
	filter: brightness(0) invert(1);
}
.dashboard-topbar .filters .filter-btn.dropdown-toggle {
	border: 1px solid #1E293B;
}
.dashboard-topbar .filters .search-input {
	color: #fff;
	border: 1px solid #1E293B;
}
.dashboard-topbar .filters .search-input::placeholder {
	color: #94A3B8;
	font-family: Plus Jakarta Sans;
	font-weight: 400;
	font-style: Regular;
	font-size: 14px;
	leading-trim: NONE;
	line-height: 100%;
	letter-spacing: 0%;
	vertical-align: middle;
}
.toggle-btn.active img {
	filter: invert(1) brightness(0);
}


.toggle-btn.active span {
	filter: inherit;
}
.toggle-btn img {
	width: 21px;
	height: 21px;
}

#campaign-view .stats-grid .stat-card {
	height: 167px;
}
.card-header h4 {
	margin-bottom: 22px;
	font-weight: 700;
	font-size: 30px;
	line-height: 36px;
	letter-spacing: -0.75px;
	color: #2259BF;
}
.dollar {
	color: #10B981;
}
.ppc-dashboard-wrapper .card-table {
	padding: 0 !important;
}
.stat-box .amount {
	font-weight: 700;
	font-size: 35px;
	line-height: 36px;
	letter-spacing: 0%;
}
.property-meta span {
	font-weight: 400;
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 0%;
	vertical-align: middle;
	color: #64748B;
}

.card-table th, .card-table td {
	padding: 14px;
	text-align: left;
	font-weight: 400;
	font-size: 20px;
	line-height: 28px;
	letter-spacing: -0.5px;
	vertical-align: middle;
}

.hotel-card-body h4 {
	font-weight: 700;
	font-size: 20px;
	line-height: 28px;
	letter-spacing: -0.5px;
	color: #2259BF;
	padding-top: 20px;
}
.hotel-meta span {
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0%;
	color: #94A3B8;
}

.d-flex.justify-content-between.align-items-center.mb-4 {
	margin: 0 !important;
}
.hotel-inventory-wrapper .platform-card div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 17px;
}
.hotel-inventory-wrapper .platform-card {
	height: 114px;
}
.nav-link.active {
	background-color: #fff !important;
}
.nav-link.active .menu-title {
	color: #000 !important;
}

.nav-link.active .menu-icon-img {
	filter: brightness(0) saturate(100%) invert(32%) sepia(93%) saturate(748%) hue-rotate(192deg) brightness(92%) contrast(92%);
}
.ota-wrapper .ota-card {
	padding: 30px 50px;
	border: 3px solid #2259BF;
	box-shadow: 0px 0px 15px 0px #00000040;
}
.ota-wrapper .ota-card .ota-icon img {
	width: 70px;
	height: 70px;
}
.ota-wrapper .ota-card .ota-icon {
	background: transparent;
	margin: 10px 10px;
}
.ota-wrapper .ota-card .ota-header h4 {
	margin: 0;
	font-weight: 700;
	font-size: 30px;
	line-height: 36px;
	letter-spacing: -0.75px;
	color: #2259BF;
}
.ota-wrapper .ota-card .ota-message {
	background: #2459c1;
	color: #fff;
	padding: 14px 18px;
	border-radius: 10px;
	margin-bottom: 12px;
	font-weight: 500;
	font-size: 20px;
	line-height: 36px;
	letter-spacing: -0.75px;
}
.ota-wrapper .ota-card .ota-label {
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 0%;
	color: #2259BF;
}
.ota-wrapper .ota-card .ota-value.positive {
	color: #07AC2A;
	font-weight: 700;
	font-size: 20px;
	line-height: 24px;
	letter-spacing: 0%;
}
.ota-wrapper .ota-card .ota-footer .ota-value.negative {
	font-weight: 700;
	font-size: 20px;
	line-height: 24px;
	letter-spacing: 0%;
	color: #DB0509;
}
.ai-wrapper .ai-card {
	box-shadow: 0px 0px 15px 0px #00000040;
}

.ai-wrapper .ai-card .ai-icon img {
	width: 76px;
	height: 76px;
}
.ai-wrapper .ai-card .ai-icon {
	width: auto;
	height: auto;
}
.ai-wrapper .ai-card h4 {
	font-weight: 700;
	font-size: 30px;
	line-height: 36px;
	letter-spacing: -0.75px;
	margin: 0;
}
.ai-wrapper .ai-card p {
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 0%;
	color: #fff;
}
.ai-card-content .ai-text p {
	max-width: 100%;
	width: 100%;
	padding: 15px 0 !important;
	margin: 0;
}
#sidebar .nav.sidebar-menu .nav-item .nav-link:hover {
	background-color: #fff !important;color: #000;
}
#sidebar .nav.sidebar-menu .nav-item .nav-link:hover .icon-grid.menu-icon {
	color: #000 !important;
}
.ai-wrapper .ai-card Button {
	font-weight: 500;
	font-size: 20px;
	line-height: 24px;
	letter-spacing: 0.25px;
	vertical-align: middle;
	color: #2259BF;
	height: 47px;
}

.ai-card-content .ai-text {
	width: 100%;
	max-width: 100%;
}
#sidebar .nav.sidebar-menu .nav-item .nav-link:hover .menu-title {
	color: #000 !important;
}

.clients-wrapper .client-card {
	border: 1px solid #1E293B;
	box-shadow: 0px 8px 10px -6px #0000001A;
	box-shadow: 0px 20px 25px -5px #0000001A;
}
.clients-wrapper .client-card .client-body h4 {
	font-weight: 700;
	font-size: 20px;
	line-height: 28px;
	letter-spacing: -0.5px;
	color: #2259BF;
}
.clients-wrapper .client-card .client-body .client-email {
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0%;
	padding-top: 10px;
}
.clients-wrapper .client-card .client-divider {
	background-color: #94A3B8;
}
.clients-wrapper .client-card .client-contact {
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0%;
	color: #94A3B8;
}
.clients-wrapper .client-card .client-status {
	border: 1px solid #34D399;
	background: #10B9811A;
	color: #34D399;
}
.pagination-wrapper {
	border: 1px solid #2B79D3;
	width: 436px;
	height: 55px;
	opacity: 1;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	margin-top: 80px;
	box-shadow: 0px 8px 16px 0px #00000014;
	box-shadow: 0px 0px 4px 0px #0000000A;
	border-radius: 15px;
}
.pagination-wrapper .page-btn {
	border: none;
	font-weight: 500;
	font-size: 12px;
	line-height: 100%;
	letter-spacing: 0%;
	text-align: center;
	color: #656565;
}
.pagination-wrapper .page-btn.active {
	background-color: #2B79D3;
	color: #fff;
	border-radius: 100px;
	width: 28px;
	height: 28px;
}
button.page-btn:nth-child(1) {
	color: #2b79d3;
	font-weight: bold;
}
button.page-btn:nth-child(7) {
	color: #2b79d3;
}
.ppc-dashboard-wrapper th {
	font-size: 14px;
	font-weight: 500;
}
.ppc-dashboard-wrapper strong {
	font-size: 14px;
}
.ppc-dashboard-wrapper small {
	font-size: 12px;
}
.sidebar .nav-link:hover img {
	filter: brightness(0) saturate(100%) invert(32%) sepia(93%) saturate(748%) hue-rotate(192deg);
}
.ppc-dashboard-wrapper .platform {
	font-size: 12px;
	background-color: #1E293B;
	border: 1px solid #000000;
}

.ppc-dashboard-wrapper .badge {
	font-weight: 600;
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 0%;
	vertical-align: middle;
}
.ppc-dashboard-wrapper .badge.danger {
	background: #fee2e2;
	color: #dc2626;
	border: 1px solid #F43F5E;
}
.ppc-dashboard-wrapper .badge.green {
	border: 1px solid #10B981;
}
.ppc-dashboard-wrapper .card-header.pt-3.px-3 h4 {
	font-weight: 600;
	font-size: 20px;
	line-height: 28px;
	letter-spacing: -0.5px;
	color: #000;
	margin-bottom: 0;
}
.ppc-dashboard-wrapper .card-header p {
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 0%;
	color: #94A3B8;
}
.ppc-dashboard-wrapper td {
	font-size: 16px;
	font-weight: 500;
}
.hotel-inventory-wrapper .platform-card div .positive {
	font-family: Outfit;
	font-weight: 500;
	font-size: 10px;
	line-height: 20px;
	letter-spacing: 0.35px;
	text-transform: uppercase;
	color: #10B981;
}
.hotel-inventory-wrapper .page-title {
	padding: 0;
	margin: 0px 0px;
}
.align-items-start .page-subtitle {
	padding-top: 10px;
}
.billing-wrapper .d-flex.justify-content-between.align-items-center.mb-4 {
	padding-bottom: 30px;
}

.billing-wrapper .billing-hotel-card h2 {
	font-weight: 700;
	font-size: 24px;
	line-height: 30px;
	letter-spacing: 0px;
	text-align: center;
}
.billing-wrapper .billing-summary-grid {
	justify-content: space-between;
	display: flex;
	gap: 27px;
}
.billing-wrapper .billing-hotel-card {
	height: 177px;
	width: 330px;
}
.billing-wrapper .billing-summary-grid .summary-card {
	border: 1px solid #1E293B;
	box-shadow: 0px 20px 25px -5px #0000001A;
	height: 177px;
	width: 330px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.billing-wrapper .billing-summary-grid .summary-card small {
	font-weight: 400;
	font-size: 20px;
	line-height: 28px;
	letter-spacing: -0.5px;
	text-align: center;
	color: #2259BF;
}
.billing-wrapper .billing-summary-grid .summary-card h3 {
	font-weight: 700;
	font-size: 40px;
	line-height: 28px;
	letter-spacing: -0.5px;
	text-align: center;
	color: #2259BF;
	padding: 7px 0;
}
.billing-wrapper .billing-summary-grid .summary-card span {
	font-weight: 400;
	font-size: 16px;
	line-height: 28px;
	letter-spacing: -0.5px;
	text-align: center;
	color: #2259BF;
}
.billing-wrapper .platform-grid.mb-4 .platform-card {
	background-color: #f8f7fc !important;
	background: transparent;
}
.billing-wrapper .platform-grid.mb-4 .platform-card img {
	height: 60px;
	width: 190px;
	object-fit: contain;
	position: relative;
	top: -10px;
	margin: 0 auto;
	display: table;
}
.billing-wrapper .platform-grid.mb-4 .platform-card h3 {
	font-weight: 700;
	font-size: 40px;
	line-height: 28px;
	letter-spacing: -0.5px;
	text-align: center;
	color: #2259BF;
	padding: 7px 0;
	padding-top: 0;
}
.billing-wrapper .platform-grid.mb-4 .platform-card small {
	font-weight: 400;
	font-size: 15px;
	line-height: 28px;
	letter-spacing: -0.5px;
	text-align: center;
	color: #2259BF;
	padding: 0 0;
	width: 100%;
	max-width: 100%;
	display: table;
}
.dashboard-wrapper .billing-progress {
	box-shadow: 0px 0px 15px 0px #00000040;
	margin: 10px 0 30px 0;
}
.dashboard-wrapper .billing-progress h4 {
	font-weight: 700;
	font-size: 30px;
	line-height: 36px;
	letter-spacing: -0.75px;
	color: #2259BF;
}
/* ===== MAIN PAGE WRAPPER ===== */
.dashboard-wrapper {
  width: 100%;
  padding: 20px;
  background: #f5f7fb;
  font-family: Arial, sans-serif;
}

/* ===== CARD ===== */

.dashboard-wrapper .payment-summary {
	background: #fff;
	border-radius: 14px;
	border: 1px solid #e5e7eb;
	padding: 30px 30px;
	margin-bottom: 30px;
	margin-top: 30px;
	box-shadow: 0px 0px 15px 0px #00000040;
}

/* ===== TABLE ===== */

.dashboard-wrapper .payment-summary table {
  width: 100%;
  border-collapse: collapse;
}

.dashboard-wrapper .left-section {
  width: 70%;
  padding-right: 90px;
}

.dashboard-wrapper .right-section {
  width: 30%;
  border-left: 1px solid #e5e7eb;
  text-align: center;
}

/* ===== AMOUNT + PROGRESS (GRID) ===== */
.dashboard-wrapper .amount-grid {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 15px;
}

.dashboard-wrapper .amount-paid,
.dashboard-wrapper .amount-total {
  font-size: 22px;
  font-weight: 700;
  color: #3556d8;
  white-space: nowrap;
}

/* ===== PROGRESS BAR ===== */
.dashboard-wrapper .progress-bar {
  height: 8px;
  background: #e5e7eb;
  border-radius: 20px;
  overflow: hidden;
  display: flex;
}

.dashboard-wrapper .progress-paid {
  width: 45%;
  background: #4caf50;
}

.dashboard-wrapper .progress-ppc {
  width: 35%;
  background: #f59e0b;
}

/* ===== LABELS + DIVIDER ===== */
.dashboard-wrapper .label-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid #c7cfe6;
  font-size: 12px;
  color: #6b7280;
}

.dashboard-wrapper .label-row span:nth-child(2) {
	padding-right: 20px;
	font-weight: 400;
	font-size: 20px;
	line-height: 28px;
	letter-spacing: -0.5px;
	text-align: right;
}
.dashboard-wrapper .label-row span {
	padding-right: 0px;
	font-weight: 400;
	font-size: 20px;
	line-height: 28px;
	letter-spacing: -0.5px;
}

/* ===== OUTSTANDING ===== */
.dashboard-wrapper .outstanding-title {
	color: #3556d8;
	font-weight: 700;
	font-size: 30px;
	line-height: 28px;
	letter-spacing: -0.5px;
	text-align: center;
}
.dashboard-wrapper .outstanding-amount {
  margin-top: 6px;
  font-size: 22px;
  font-weight: 700;
  color: #dc2626;
}
.dashboard-wrapper .payment-summary table tbody tr {
	box-shadow: 0px 0px 8.7px 0px #00000040;
	padding: 20px;
	display: flex;
	width: 100%;
	border-radius: 10px;
}
.dashboard-wrapper .payment-summary h4 {
	font-weight: 700;
	font-size: 30px;
	line-height: 36px;
	letter-spacing: -0.75px;
	color: #2259BF;
	margin-bottom: 26px;
}
.dashboard-wrapper .amount-paid, .dashboard-wrapper .amount-total {
	color: #3556d8;
	white-space: nowrap;
	font-weight: 700;
	font-size: 30px;
	line-height: 28px;
	letter-spacing: -0.5px;
	text-align: center;
}

.dashboard-wrapper .card-table .table-header h4 {
	font-weight: 700;
	font-size: 30px;
	line-height: 36px;
	letter-spacing: -0.75px;
	color: #2259BF;
	margin-bottom: 16px;
}
.dashboard-wrapper .card-table table thead tr th {
	background: transparent;
	color: #fff;
	text-align: center;
}
.dashboard-wrapper .card-table table thead tr {
	background-color: #2459c5 !important;
	background: #2459c5 !important;
}
.dashboard-wrapper .card-table table tbody tr td {
	border: 1px solid #000;
	text-align: center;
}
.dashboard-wrapper .card-table table thead {
	border: 1px solid #000;
	border-radius: 20px !important;
}
.dashboard-wrapper .payment-summary .billing-paid-spent-msg {
	margin: 0;
	padding: 20px 0 0 0;
	font-weight: 400;
	font-size: 25px;
	line-height: 28px;
	letter-spacing: -0.5px;
	color: #BF2222;
}
.dashboard-wrapper {
	width: 100%;
	padding: 20px;
	background: #fff !important;
	font-family: Arial, sans-serif;
}
.dashboard-wrapper .card-table {
	background: #fff;
	border-radius: 14px;
	border: 1px solid #e5e7eb;
	padding: 30px 30px;
	margin-bottom: 30px;
	margin-top: 30px;
	box-shadow: 0px 0px 15px 0px #00000040;
}

.dashboard-wrapper .card-table .table-header a {
	font-size: 20px;
	text-decoration: none;
}
.reports-wrapper .page-title {
	font-weight: 700;
	font-size: 30px;
	line-height: 36px;
	letter-spacing: -0.75px;
	color: #2259BF;
}
.reports-wrapper .report-banner.mb-4 .report-banner-left img {
	width: 76px;
	height: 76px;
}
.reports-wrapper .report-banner.mb-4 .report-banner-left h3 {
	font-weight: 700;
	font-size: 30px;
	line-height: 36px;
	letter-spacing: -0.75px;
}
.reports-wrapper .report-banner.mb-4 .report-banner-left p {
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 0%;
	padding-top: 10px;
}
.reports-wrapper .report-banner.mb-4 {
	padding: 37px 49px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 30px;
}
.reports-wrapper .report-banner.mb-4 .btn-outline {
	background: transparent;
	color: #fff;
	padding: 0;
	font-family: Plus Jakarta Sans;
	font-weight: 600;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: 0%;
}
.reports-wrapper .report-banner.mb-4 .report-banner-left {
	width: 100%;
	max-width: 100%;
}
.reports-wrapper .report-banner.mb-4 .report-banner-actions {
	width: 100%;
	max-width: 100%;
	display: flex;
	justify-content: space-between;
}
.reports-wrapper .hotel-report-card {
	background: transparent;
}
.reports-wrapper .hotel-report-card .hotel-report-header {
	padding-top: 40px;
	padding-bottom: 20px;
	margin-bottom: 70px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.reports-wrapper .hotel-report-card .hotel-report-header .hotel-thumb {
	width: 200px;
	height: 200px;
	margin: -70px 0;
}
.reports-wrapper .hotel-report-card .hotel-report-header .d-flex.align-items-center h3 {
	font-size: 25px;
}
.reports-wrapper .hotel-report-card .hotel-report-header .d-flex.align-items-center span {
	font-size: 18px;
	padding-top: 6px;
	display: block;
}

.reports-wrapper .hotel-report-card .hotel-report-header .report-month {
	font-size: 25px;
	font-weight: 500;
	width: 63%;
	text-align: right;
}
.reports-wrapper .hotel-report-card .hotel-report-body {
	background: #f5f7fb;display: flex;
}
.reports-wrapper .hotel-report-card .hotel-report-body .report-stats .stat-row {
	border: none;
	padding: 0 0 10px 0;
}
.reports-wrapper .hotel-report-card .hotel-report-body .report-stats .stat-row span {
	margin: 0;
	padding: 0;
	font-weight: 600;
	font-size: 16px;
}
.reports-wrapper .hotel-report-card .hotel-report-body .report-stats .view-report {
	margin: 0 auto;
	border-top: 1px solid;
	width: 100%;
	display: flex;
	justify-content: center;
	padding-top: 20px;
	margin-top: 10px;
}
.reports-wrapper .hotel-report-card .hotel-report-body .report-stats .view-report .btn-outline {
	border: 1px solid #2459c5;
	color: #000;
}
.reports-wrapper .hotel-report-card .hotel-report-body .hotel-report-left-stats {
	max-width: 30%;
	width: 100%;
}
.reports-wrapper div.report-stats:nth-child(2) {
	max-width: 70%;
	width: 100%;
}
.reports-wrapper .hotel-report-card .hotel-report-body .hotel-report-left-stats .actions {
	display: flex;
	justify-content: space-between;
	margin-top: 20px;
	gap: 10px;
}
.reports-wrapper .hotel-report-card .hotel-report-body .hotel-report-left-stats .actions button {
	width: 100%;
	max-width: 50%;
	border-radius: 10px;
	padding: 16px 20px;
	justify-content: space-around;
	display: flex;
}
.reports-wrapper .hotel-report-card .hotel-report-body .hotel-report-left-stats label {
	font-size: 20px;
	color: #000;
}
.reports-wrapper .hotel-report-card .hotel-report-body .report-stats div.stat:nth-child(2) {
	border-top: 1px solid #c9c4c4;
	padding-top: 15px;
	margin-top: 20px;
	display: flex;
	justify-content: space-between;
}
.reports-wrapper .hotel-report-card .hotel-report-body .report-stats div.stat:nth-child(3) {
	display: flex;
	justify-content: space-between;
}
.reports-wrapper .hotel-report-card .hotel-report-header .d-flex.align-items-center.gap-3.hpc-header {
	width: 100%;
	max-width: 100%;
	display: flex !important;
	justify-content: start;
	padding-bottom: 30px;
	margin-bottom: 100px;
	border-bottom: 1px solid #597bd6;
}
.reports-wrapper .hotel-report-card .hotel-report-header .d-flex.align-items-center.gap-3 {
	width: 100%;
	max-width: 100%;
	justify-content: space-between;
}
.reports-wrapper .hotel-report-card .hotel-report-header .d-flex.align-items-center.gap-3.hpc-header img {
	max-width: 60px;filter: brightness(0) invert(1);
}

div.d-flex:nth-child(2) > div:nth-child(2) {
	text-align: left !important;
}
.reports-wrapper .hotel-report-card .hotel-report-body .hotel-report-left-stats .actions button img {
	width: 30px;
	height: 30px;
	object-fit: cover;
}
.reports-wrapper .hotel-report-card .hotel-report-body .hotel-report-left-stats .actions .btn-dark {
	background-color: #223f61;
}
button:hover {
	opacity: 0.8 !important;
}
.sidebar .nav.sub-menu .nav-item .nav-link.active {
	color: #000 !important;
	font-weight: 900;
	background: transparent;
}
.reports-wrapper .hotel-report-card .hotel-report-body .report-stats .stat-row div {
	display: flex;
	align-items: center;
	gap: 10px;
}
.sidebar .nav.sub-menu, .sidebar .nav:not(.sub-menu) > .nav-item > .nav-link[aria-expanded="true"] {
	background: #1B40B1 !important;
}
.users-page {
	background: transparent;
}
.users-page .justify-between {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.users-page .justify-between .rounded {
	margin: 0 !important;
	border: 1px solid #1c45bd;
	box-shadow: none;
}

.users-page .justify-between button {
	border: 1px solid #1c45bd;
	box-shadow: none;
}

.users-page .justify-between .rounded.border {
	border: 1px solid #000 !important;
}
.users-page .card-body .card-title {
	font-size: 27px;
	padding: 0 0 10px 0;
}
.users-page .card-body .border-b .py-2 {
	font-size: 17px;
	border: 1px solid #000;
	padding: 10px !important;
}
.users-page .table > thead:nth-child(1) > tr:nth-child(1) {
	border: 2px solid #4f46e5 !important;
}
.users-page .table > thead:nth-child(1) > tr:nth-child(1) .py-2 {
	background-color: #4f46e5;
	color: #fff;
	border-color: #000 !important;
}
.menu-arrow {
	display: none !important;
}
.nav.flex-column.sub-menu {
	gap: 10px;
	margin: 0;
}
.sidebar .nav.sub-menu .nav-item::before {
	background: #fff !important;
}
.sidebar .nav.sub-menu .nav-item .nav-link {
	color: #fff;text-decoration: none !important;
}
.roles-page .w-full.text-left.table-striped .py-2.d-flex.gap-1 {
	border-top: none !important;
	border-bottom: 1px solid #000 !important;
	border-left: 0 !important;
}
.system-logs-wrapper .system-logs-card.mt-4 {
	box-shadow: 0px 0px 15px 0px #00000040;
}
.system-logs-wrapper .system-logs-card.mt-4 tr:hover td {
	color: #000 !important;
}
.system-logs-wrapper .system-logs-card.mt-4 .log-badge.active {
	border-radius: 0;
	border: 1px solid #10B981;
	font-weight: 600;
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 0%;
	vertical-align: middle;
	color: #008055;
}
.system-logs-wrapper .system-logs-table thead {
	background: #ffffff;
	border: 1px solid #2459c5;
	border-right: 0 !important;
	border-left: 0 !important;
}
.settings-wrapper {
	width: 100%;
	max-width: 100% !important;
	background: transparent !important;
}
.settings-wrapper .page-title {
	margin-bottom: 20px;
}
.settings-wrapper .settings-card label {
	font-size: 18px;
	padding-bottom: 9px;
}

.settings-wrapper .settings-card #usdValue {
	border-radius: 0;
}
.settings-wrapper .settings-card .input-prefix span {
	padding: 12px 17px;
	background-color: #1c45be7d;
	border: 1px solid #1c45be7d;
}
.settings-wrapper .settings-card input {
	font-size: 17px;
}
.settings-wrapper .form-actions .btn-primary {
	width: auto;
	max-width: 50%;
	border-radius: 10px;
	padding: 16px 30px;
	justify-content: space-around;
	display: flex;
}
.settings-wrapper .form-actions .btn-secondary {
	width: auto;
	max-width: 50%;
	border-radius: 10px;
	padding: 16px 30px;
	justify-content: space-around;
	display: flex;
	text-decoration: none;
}
.settings-wrapper .settings-card .form-group.switch-group {
	padding: 20px 20px;
	background-color: #2563eb17;
	margin: 30px 0;
	display: flex;
	align-items: center;
	border-radius: 10px;
}
.settings-wrapper .settings-card .form-group.switch-group label {
	margin: 0;
	padding: 0;
}
.settings-wrapper .settings-card .form-group .apply-all {
	display: flex;
	justify-content: left;
	align-items: center;
	gap: 14px;
}
.settings-wrapper .settings-card .form-group .apply-all #apply_all {
	width: auto;
}
.settings-wrapper .settings-card .form-group .apply-all label {
	margin: 0;
	padding: 0;
}
.settings-wrapper .settings-card div.form-group:nth-child(5) {
	margin: 0;
	padding: 20px;
	background-color: #ebf1fd;
	border: 1px solid #7a8190;
	border-radius: 10px;
}

.settings-wrapper .settings-card div.form-group:nth-child(5) .platform-select-grid img {
	max-width: 200px;
	height: 41px;
	object-fit: contain;
	width: 100%;
	margin: 0 auto;
	display: table;
}
.settings-wrapper .platform-select-grid .platform-card div {
	display: flex;
	align-items: center;
	justify-content: left;
	gap: 10px;
}
.settings-wrapper .platform-select-grid .platform-card div input {
	position: static;
	width: auto;
}
.settings-wrapper .platform-select-grid .platform-card div span {
	color: #000;
	font-size: 16px;
}




/* =========================
   RESPONSIVE
   RESPONSIVE
   RESPONSIVE
   RESPONSIVE
========================= */



@media (max-width: 1024px) {
    .hotel-report-body {
        grid-template-columns: 1fr;
    }

    .report-banner {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }
}


/* =========================
   RESPONSIVE
========================= */

@media (max-width: 1200px) {
    .billing-summary-grid {
        grid-template-columns: 1fr;
    }

    .platform-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .platform-grid {
        grid-template-columns: 1fr;
    }
}


/* =========================
   SYSTEM LOGS PAGE
========================= */

.system-logs-card {
    background: #2459c5;
    border-radius: 16px;
    box-shadow: 0 14px 36px rgba(0,0,0,0.18);
    overflow: hidden;
}

/* HEADER */
.system-logs-header {
    padding: 18px 24px;
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(90deg, #2459c5, #1d4ed8);
}

/* TABLE */
.system-logs-table {
    width: 100%;
    border-collapse: collapse;
}

.system-logs-table thead {
    background: #ffffff;
}

.system-logs-table thead th {
    padding: 14px 22px;
    font-size: 14px;
    font-weight: 700;
    color: #2459c5;
    text-align: left;
}

/* BODY */
.system-logs-table tbody {
    background: #2459c5;
}

.system-logs-table tbody tr {
    border-bottom: 1px solid rgba(255,255,255,0.12);
}

.system-logs-table tbody tr:last-child {
    border-bottom: none;
}

.system-logs-table tbody td {
    padding: 16px 22px;
    font-size: 14px;
    color: #ffffff;
    vertical-align: middle;
}

/* TIMESTAMP */
.log-timestamp {
    font-weight: 500;
    opacity: 0.9;
    white-space: nowrap;
}

/* BADGES */
.log-badge {
    display: inline-block;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 700;
    border-radius: 999px;
    text-transform: uppercase;
}

.log-badge.active {
    background: #22c55e;
    color: #064e3b;
}

.log-badge.warning {
    background: #f59e0b;
    color: #78350f;
}

.log-badge.error {
    background: #ef4444;
    color: #7f1d1d;
}

/* MESSAGE */
.log-message {
    font-weight: 500;
    line-height: 1.4;
}





/* =========================

   RESPONSIVE
========================= */




@media (max-width: 768px) {
	
    .system-logs-table thead {
        display: none;
    }

    .system-logs-table,
    .system-logs-table tbody,
    .system-logs-table tr,
    .system-logs-table td {
        display: block;
        width: 100%;
    }

    .system-logs-table tbody tr {
        padding: 12px 0;
    }

    .system-logs-table td {
        padding: 8px 22px;
    }

    .log-message {
        font-size: 13px;
    }
}

/* ================= Settings page styles ================= */
.settings-wrapper {
    max-width: 900px;
}

.settings-card {
    background: #fff;
    border-radius: 14px;
    padding: 28px;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

.form-group {
    margin-bottom: 22px;
}

.form-group label {
    font-weight: 600;
    display: block;
    margin-bottom: 6px;
}

.form-group input {
    width: 100%;
    padding: 12px;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.input-prefix {
    display: flex;
    align-items: center;
}

.input-prefix span {
    padding: 12px;
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    border-right: none;
    border-radius: 8px 0 0 8px;
}

.input-prefix input {
    border-radius: 0 8px 8px 0;
}

.highlight input {
    background: #f8fafc;
    font-weight: 700;
}

.platform-select {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.platform-box {
    padding: 12px 16px;
    border-radius: 10px;
    border: 2px solid #e5e7eb;
    cursor: pointer;
}

.platform-box.active {
    border-color: #2563eb;
    background: #eff6ff;
}

.switch-group {
    display: flex;
    align-items: center;
    gap: 12px;
}

.switch {
    position: relative;
    width: 44px;
    height: 24px;
}

.switch input {
    display: none;
}

.slider {
    position: absolute;
    inset: 0;
    background: #d1d5db;
    border-radius: 50px;
}

.slider::before {
    content: "";
    position: absolute;
    height: 18px;
    width: 18px;
    left: 3px;
    top: 3px;
    background: #fff;
    border-radius: 50%;
    transition: .2s;
}

.switch input:checked + .slider {
    background: #22c55e;
}

.switch input:checked + .slider::before {
    transform: translateX(20px);
}

.form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}



.btn-secondary {
    padding: 10px 22px;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
}

/* PLATFORM SELECT (SETTINGS) */

.platform-select-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 12px;
}


.platform-card img {
    height: 28px;
    margin-bottom: 6px;
}

.platform-card span {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: #fff;
}

.platform-card input {
    position: absolute;
    top: 10px;
    right: 10px;
    accent-color: #2563eb;
}

.platform-card.active {
    border-color: #2563eb;
    background: #f5f9ff;
}

/* Apply all */
.apply-all {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    font-weight: 500;
}

 
/* ================= MOBILE ================= */

@media (max-width: 520px) {
    .login-card {
        width: 92%;
    }

    .register-grid {
        grid-template-columns: 1fr;
    }
}


/* ================= MODAL ================= */

.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999;
}

.modal-overlay.d-none {
  display: none;
}

.modal-box {
  background: #ffffff;
  width: 460px;
  border-radius: 14px;
  box-shadow: 0 25px 60px rgba(0,0,0,0.25);
  animation: modalFade .25s ease;
}

/* Header */
.modal-header {
  padding: 18px 22px;
  border-bottom: 1px solid #e5e7eb;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal-header h3 {
  font-size: 18px;
  font-weight: 700;
}

.modal-close {
  font-size: 22px;
  border: none;
  background: none;
  cursor: pointer;
  color: #6b7280;
}

/* Body */
#addClientForm {
    padding: 0px 22px 22px 22px;
}

.form-group {
  margin-bottom: 16px;
}

.form-group label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 6px;
}

.form-group input {
  width: 100%;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #d1d5db;
  font-size: 14px;
}

.form-group.inline {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Switch */
.switch {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.switch input {
  display: none;
}

.slider {
  width: 44px;
  height: 22px;
  background: #d1d5db;
  border-radius: 20px;
  position: relative;
  cursor: pointer;
}

.slider::after {
  content: '';
  position: absolute;
  width: 18px;
  height: 18px;
  background: #fff;
  border-radius: 50%;
  top: 2px;
  left: 2px;
  transition: 0.2s;
}

.switch input:checked + .slider {
  background: #22c55e;
}

.switch input:checked + .slider::after {
  transform: translateX(22px);
}

.switch-label {
  font-size: 14px;
  color: #374151;
}

/* Footer */
.modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 20px;
}

/* Buttons */
.btn-primary {
  background: #2563eb;
  color: #fff;
  padding: 10px 18px;
  border-radius: 8px;
  border: none;
  font-weight: 600;
  cursor: pointer;
}

.btn-secondary {
  background: #f3f4f6;
  color: #374151;
  padding: 10px 18px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
}


/* STATUS TOGGLE */
.status-toggle {
    display: flex;
    align-items: center;
    gap: 12px;
}

.status-label {
    font-size: 14px;
    color: #6b7280;
}

.status-label.active {
    color: #16a34a;
    font-weight: 600;
}

/* SWITCH */
.switch {
    position: relative;
    width: 42px;
    height: 22px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    inset: 0;
    background-color: #d1d5db;
    border-radius: 999px;
    cursor: pointer;
    transition: 0.3s;
}

.slider::before {
    content: "";
    position: absolute;
    height: 18px;
    width: 18px;
    left: 2px;
    bottom: 2px;
    background: white;
    border-radius: 50%;
    transition: 0.3s;
}

.switch input:checked + .slider {
    background-color: #22c55e;
}

.switch input:checked + .slider::before {
    transform: translateX(20px);
}


/* Animation */
@keyframes modalFade {
  from { transform: translateY(20px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

.property-layer-card.clickable {
    cursor: pointer;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.property-layer-card.clickable:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.12);
}

.ppc-dashboard-wrapper .card-table table tbody tr td {
	border: none !important;
}

.sidebar {
    transition: transform 0.3s ease;
    width: 260px;
}
button.btn:nth-child(1) {
	border-color: #fff !important;
	background-color: #fff;
}
.card-title.text-danger {
	color: #000 !important;
}
.card-body .btn-danger {
	background-color: #000 !important;
}
.btn-primary {
	background-color: #000 !important;
}
	
/******************************************************************************************************/
/******************************************************************************************************/
/******************************************************************************************************/
/******************************************************************************************************/
/******************************************************************************************************/
/******************************************************************************************************/



@media (max-width: 991px) {
 
    /* Hide sidebar by default */
	
    .sidebar {
        transform: translateX(-380px);
    }
 
    /* Remove desktop offset */
    .main-panel {
        margin-left: 0 !important;
    }
 
}


@media (max-width: 580px) {

.container-fluid {
	display: block !important;
}
.container-fluid #sidebar {
	position: static;
	width: 100%;
	max-width: 100%;
}
.container-fluid .main-panel {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
}
.dashboard-wrapper {
	padding: 10px 10px !important;
}
.content-wrapper {
	padding: 10px;
}
.dashboard-topbar {
	display: block;
}
.filters {
	gap: 10px;
	margin-top: 10px;
}
.stats-grid {
	gap: 22px;
	margin-bottom: 30px;
	display: flex;
	flex-direction: column;
}
/* table wrapper scroll */
.card-table {
  width: 100%;
}

/* table minimum width */
table {
  border-collapse: collapse !important;
}
.mb-4 {
	flex-direction: column;
	gap: 10px;
}
.metric-grid {
	grid-template-columns: repeat(1, 1fr);
}
.hotel-grid.grid-view {
	grid-template-columns: repeat(1, 1fr);
}
.ota-wrapper .ota-card {
	padding: 10px 10px;
}
.ota-wrapper .ota-card .ota-header h4 {
	font-size: 20px;
}
.ota-wrapper .ota-card .ota-icon img {
	width: 60px;
	height: 60px;
}
.ota-wrapper .ota-card .ota-message {
	padding: 14px 18px;
	margin-bottom: 12px;
	font-size: 17px;
	line-height: 26px;
	letter-spacing: -0.75px;
}
.sidebar .nav {
	display: flex;
	flex-direction: column;
	padding: 0 5px;
	list-style: none;
	margin: 0 !important;
}
.ai-card-content {
	flex-direction: column;
}
.client-grid {
	grid-template-columns: repeat(1, 1fr);
	gap: 14px;
}
.d-flex.justify-content-between.align-items-center.mb-4 {
	padding-bottom: 20px;
}
.page-subtitle {
	margin: 0;
}
.pagination-wrapper {
	width: 100%;
}
.pagination-wrapper {
	margin-top: 40px;
}
.billing-wrapper .billing-hotel-card {
	width: 100%;height: 127px;
}
.billing-wrapper .billing-hotel-card h2 {
	font-size: 28px;
	line-height: 37px;
	width: 100%;
}
.billing-wrapper .billing-summary-grid .summary-card {
	width: 100%;height: 117px;
}
.billing-wrapper .billing-summary-grid .summary-card h3 {
	line-height: 28px;
	padding: 0px 0;
}
.billing-wrapper .platform-grid.mb-4 .platform-card h3 {
	font-size: 30px;
}
.dashboard-wrapper .payment-summary h4 {
	font-size: 20px;
	margin-bottom: 10px !important;
}
.payment-summary {
	width: 100%;
}
.dashboard-wrapper .payment-summary {
	padding: 10px 20px;
	box-shadow: 0px 0px 15px 0px #0000000f;
}
.dashboard-wrapper .payment-summary table tbody tr {
	box-shadow: 0px 0px 8.7px 0px #0000001c;
}
.dashboard-wrapper .card-table {
	padding: 20px 20px;
	margin-bottom: 30px;
	margin-top: 30px;
}
h4, h1, h2, h3 {
	font-size: 20px !important;
}
h4 {
	margin: 0 !important;
}
.reports-wrapper .hotel-report-card .hotel-report-header .d-flex.align-items-center.gap-3.hpc-header {
	padding-bottom: 20px;
	margin-bottom: 60px;
}
.reports-wrapper .hotel-report-card .hotel-report-header .d-flex.align-items-center.gap-3 {
	flex-direction: column;
}
hr {
	display: none !important;
}
.reports-wrapper .hotel-report-card .hotel-report-header .d-flex.align-items-center.gap-3.hpc-header {
	padding-bottom: 20px;
	margin-bottom: 100px;
}
div.d-flex:nth-child(2) > div:nth-child(2) {
	text-align: center !important;
	line-height: normal;
}
.reports-wrapper .hotel-report-card .hotel-report-header .report-month {
	font-size: 18px;
	text-align: center;
}
.reports-wrapper .hotel-report-card .hotel-report-body {
	flex-direction: column;
	padding: 10px;
}
.reports-wrapper .hotel-report-card .hotel-report-body .hotel-report-left-stats {
	max-width: 100%;
	width: 100%;
}
.reports-wrapper div.report-stats:nth-child(2) {
	max-width: 100%;
	width: 100%;
}
.report-stats strong {
	font-size: 14px;
}
.col-lg-12.grid-margin.stretch-card {
	padding: 0;
}
form[method="GET"] {
	flex-direction: column;
}
form {
	width: 100%;
}
.users-page .justify-between .rounded {
	width: 100%;
	font-size: 17px;
	text-align: left;
}

.container-fluid #sidebar {
	position: fixed !important;
}
.container-fluid.page-body-wrapper {
	align-items: self-start;
	display: flex !important;
}
.page-body-wrapper {
	padding-top: 80px;
}
.search-input {
	width: 70% !important;
}
.search-dark {
	width: 100%;
}
.ai-wrapper .ai-card Button {
	height: auto;
}
.dashboard-wrapper .amount-paid, .dashboard-wrapper .amount-total {
	font-size: 20px;
}
.dashboard-wrapper .outstanding-title, .dashboard-wrapper .payment-summary .billing-paid-spent-msg {
	font-size: 16px;
}
.card-table th, .card-table td {
	font-size: 14px !important;
}
.reports-wrapper .report-banner.mb-4 .report-banner-left {
	flex-direction: column;
}
div.d-flex:nth-child(2) > div:nth-child(2) {
	padding-top: 70px;
}
.reports-wrapper .hotel-report-card .hotel-report-header .report-month {
	display: none;
}
.reports-wrapper .hotel-report-card .hotel-report-header {
	padding-top: 40px;
	padding-bottom: 20px;
	margin-bottom: 20px;
}
.reports-wrapper .report-banner.mb-4 {
	display: flex;
	gap: 20px;
}
.reports-wrapper .hotel-report-card .hotel-report-body .hotel-report-left-stats .actions {
	flex-direction: column;
}
.reports-wrapper .hotel-report-card .hotel-report-body .hotel-report-left-stats .actions button {
	width: 100%;
	max-width: 100%;
}
.reports-wrapper .hotel-report-card .hotel-report-header .d-flex.align-items-center.gap-3.hpc-header img {
	filter: contrast(0) brightness(2);
}

.settings-wrapper .settings-card label {
	font-size: 12px;
}
.platform-select-grid {
	grid-template-columns: repeat(2, 1fr);
}
.settings-card {
	padding: 18px;
}
.form-actions {
	flex-direction: column;
}
.settings-wrapper .form-actions .btn-primary {
	width: 100%;
	max-width: 100%;
}
.settings-wrapper .form-actions .btn-secondary {
	width: 100%;
	max-width: 100%;
}
.toggle-group {
	width: 100%;
	justify-content: space-between;
}
.toggle-btn {
	padding: 7px 7px;
	font-size: 12px;
	width: 50%;
}
.content-wrapper {
	padding: 0;
}
.section-title {
	margin-bottom: 15px !important;
}
.dashboard-wrapper.hotel-inventory-wrapper .view-toggle {
	margin: 0 !important;
	padding: 6px 10px !important;
}
.d-flex.gap-2.align-items-center {
	width: 100%;
}
.align-items-start .page-subtitle {
	padding-bottom: 10px;
}	
button.btn:nth-child(1):hover {
	color: #000 !important;
}
.metric-dark-grid {
	grid-template-columns: repeat(1, 1fr);
	margin-top: 20px;
}
.grid-2 {
	display: block;
}
.occupancy-card {
	margin-top: 10px;
}
.dashboard-wrapper.clients-wrapper .align-items-center {
	align-items: self-start !important;
}
.report-stats {
	border-radius: 0 !important;
   padding: 10px;
}
.reports-wrapper .hotel-report-card .hotel-report-body {
	padding: 0 !important;
}
.hotel-report-body {
	background: transparent !important;
}
.reports-wrapper .hotel-report-card .hotel-report-body .hotel-report-left-stats .actions {
	padding: 0 10px !important;
}
.reports-wrapper .hotel-report-card .hotel-report-header .hotel-thumb {
	width: 100%;
	height: auto;
	margin: -70px 0;
	display: block;
	object-fit: contain !important;
}
.reports-wrapper .hotel-report-card .hotel-report-header {
	padding-top: 30px;
}
.reports-wrapper .report-banner.mb-4 {
	padding: 37px 30px;
}
.card-body {
	padding: 10px !important;
}
.profile-form .form-grid {
	gap: 7px;
}
.form-grid {
	gap: 7px !important;
}
.form-group input {
	padding: 11px 12px;
	border-radius: 0;
}
.settings-wrapper .settings-card label {
	padding-bottom: 7px;
	padding-top: 7px;
}
.settings-wrapper .settings-card .form-group.switch-group {
	justify-content: space-evenly;padding: 9px 68px;
}
.platform-card img {
	margin-bottom: 0;
}

.billing-wrapper .platform-grid.mb-4 .platform-card img {
	height: 40px;
	width: 140px;
	object-fit: contain;
	top: -3px;
	display: table;
}

.billing-wrapper .platform-grid.mb-4 .platform-card h3 {
	padding: 0 0 !important;
}
.dashboard-wrapper .left-section {
	padding-right: 50px;
}
div {
	scrollbar-color: rebeccapurple green !important;
}
.platform-select-grid {
	gap: 7px !important;
}
table {
	overflow-x: auto !important;
	display: block !important;
}
tbody {
	min-width: 900px !important;
	border-collapse: collapse !important;
	display: block !important;
}
.dashboard-wrapper .card-table table thead {
	min-width: 900px !important;
	display: table;
}
.ppc-dashboard-wrapper .card-table table tbody tr td {
	min-width: 160px;
}
.dashboard-wrapper .card-table table thead tr th {
	min-width: 160px;
}
td, th {
	min-width: 160px;
}
}

.dropdown-menu li {
    cursor: pointer;
}
.search-btn {
    padding: 9px 15px;
}


/* ================= MODAL ================= */

.campaign-modal {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.campaign-modal-card {
    width: 620px;
    background: white;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 25px 60px rgba(0,0,0,.25);
}

/* HEADER */
.campaign-modal-header {
    background: linear-gradient(90deg,#1d4ed8,#2563eb);
    color: white;
    padding: 18px 22px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.campaign-modal-header h3 {
    margin: 0;
    font-size: 20px;
}

.campaign-modal-header small {
    opacity: .9;
}

/* CLOSE */
.campaign-modal-close {
    background: rgba(255,255,255,.15);
    border: none;
    color: white;
    border-radius: 8px;
    padding: 6px 10px;
    cursor: pointer;
}

/* STATS GRID */
.modal-stats-grid {
    padding: 22px;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 18px;
}

.modal-stat label {
    font-size: 11px;
    text-transform: uppercase;
    color: #64748b;
}

.modal-stat strong,
.modal-stat span {
    font-size: 16px;
    font-weight: 600;
}

/* USAGE BLOCK */
.modal-usage-block {
    padding: 0 22px 22px;
}

/* STATUS */
.status-pill {
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
}

.status-pill.active {
    background: #dcfce7;
    color: #16a34a;
}

.status-pill.guarded {
    background: #fee2e2;
    color: #dc2626;
}


.campaign-clickable {
    cursor: pointer;
}

.campaign-clickable:hover strong {
    color: #2563eb;
    text-decoration: underline;
}


/* ===== STATUS TOGGLE ===== */

.client-status-toggle {
    display: flex;
    align-items: center;
}

.switch {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 22px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    inset: 0;
    background-color: #d1d5db;
    border-radius: 999px;
    transition: 0.25s;
    cursor: pointer;
}

.slider:before {
    content: "";
    position: absolute;
    height: 18px;
    width: 18px;
    left: 2px;
    top: 2px;
    background: white;
    border-radius: 50%;
    transition: 0.25s;
}

.switch input:checked + .slider {
    background-color: #22c55e;
}

.switch input:checked + .slider:before {
    transform: translateX(22px);
}

.dropdown-item.active {
    background: #1a56ff;
    color: white;
    font-weight: 600;
}

.client-card {
    position: relative;
}

.edit-client-btn {
    position: absolute;
    top: 14px;
    right: 14px;

    width: 34px;
    height: 34px;

    border-radius: 8px;
    border: 1px solid #e6ecff;

    background: white;
    color: #1a56ff;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 14px;

    cursor: pointer;
    transition: all .15s ease;

    box-shadow: 0 4px 12px rgba(0,0,0,.06);
}

.edit-client-btn:hover {
    background: #1a56ff;
    color: white;
    transform: scale(1.05);
}


#openAddClientModal{
    background: white !important;
    color: #1a56ff !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.06);
    border: 1px solid #e6ecff;

}

#openAddClientModal:hover {
    background: #1a56ff !important;
    color: white !important;
    transform: scale(1.05);
}

.action-btn .pdf-btn {
    background: #1f4fd8;
    color: #fff;
    padding: 10px;
    border-radius: 10px;
    font-size: 14px;

}

.action-btn .csv-btn {
    background: #303030;
    color: #fff;
    padding: 10px;
    border-radius: 10px;
    font-size: 14px;

}


/* ================= MODAL ================= */

.campaign-modal {
    position: fixed;
    inset: 0;
    background: rgba(15,23,42,.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99999;
}

.campaign-modal-card {
    width: 720px;
    background: white;
    border-radius: 14px;
    padding: 22px 26px 26px;
    box-shadow: 0 25px 70px rgba(0,0,0,.25);
}

/* HEADER */

.campaign-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: start;
    margin-bottom: 18px;
}

.modal-title-wrap h3 {
    font-size: 18px;
    font-weight: 600;
    margin: 0;
}

.modal-title-wrap small {
    font-size: 13px;
    color: #dcdcdc;
}

.campaign-modal-close {
    border: none;
    background: #eef2ff;
    color: #1d4ed8;
    width: 32px;
    height: 32px;
    border-radius: 10px;
    cursor: pointer;
    font-size: 16px;
}

/* STATS */

.modal-stats-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 14px 22px;
    margin-bottom: 20px;
}

.modal-stat label {
    font-size: 11px;
    text-transform: uppercase;
    color: #6b7280;
    display: block;
}

.modal-stat strong,
.modal-stat span {
    font-size: 15px;
    font-weight: 600;
}

/* BAR */

.modal-usage-block {
    background: #f8fafc;
    padding: 14px 16px;
    border-radius: 10px;
}

.modal-usage-block .usage-header {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: #64748b;
    margin-bottom: 6px;
}

.modal-usage-block .usage-bar {
    height: 7px;
    border-radius: 10px;
    background: #e5e7eb;
    overflow: hidden;
}

/* STATUS */

.status-pill {
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
}

.status-pill.active {
    background: #dcfce7;
    color: #15803d;
}

.status-pill.guarded {
    background: #fee2e2;
    color: #b91c1c;
}

/* PLATFORM */

.platform-pill.booking {background:#eef2ff;color:#1d4ed8;}
.platform-pill.expedia {background:#ecfeff;color:#0369a1;}
.platform-pill.google {background:#e8f0ff;color:#1a56ff;}
.platform-pill.meta {background:#f0f5ff;color:#3b82f6;}


#modalCampaignName {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;

    line-height: 1.4;
    max-width: 100%;

    display: block;
    word-break: break-word;
}
.campaign-clickable-names {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


.status-pill.over {
    background:#fecaca;
    color:#b91c1c;
}
.modal-campaign-list {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
    max-width: 85%;
    white-space: normal;      /* ✅ allow wrapping */
    word-break: break-word;
}

.campaign-modal-header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
}

.campaign-modal-close {
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: none;
    background: rgba(255,255,255,0.25);
    font-size: 18px;
    cursor: pointer;
}
