/* RentalSoft shared styles (used by all CRUD pages) */

/* Base font sizing — loaded after Phoenix theme.min.css so these overrides win. */
:root {
    font-size: 15px;                    /* global root (Phoenix default 16px) — scales all rem-based UI */
    --phoenix-body-font-size: 0.9rem;   /* body base text size (Phoenix default 1rem) */
}

/* First body column of Bootstrap .table grids — 4px left inset, applied app-wide.
   More specific than the per-page `.table td` blocks, so it overrides them everywhere. */
.table > tbody > tr > td:first-child { padding-left: 4px; }

/* "No data Found." empty-grid rows (GridView EmptyDataTemplate): neutral white bg + gray text instead of red alert-danger. */
.sm-danger { background-color:#fff !important; color:#808080 !important; }

.modern-grid { width:100%; border-collapse:collapse; font-size:14px; background-color:#fff; }
.modern-grid th { background-color:#313a46; color:#fff; padding:5px; font-weight:400; text-align:left; letter-spacing:0.05em; position:sticky; top:0; z-index:10; }
.modern-grid td { padding:5px; border-bottom:1px solid #eff2f7; }
.modern-grid tr:hover { background-color:#f8f9fa; }
.modern-grid tbody tr:hover { background-color:#d1e7ff !important; cursor:pointer; }
.modern-grid tr.selected-row { background-color:#3b82f6 !important; color:#fff !important; }
.modern-grid tr.selected-row td { color:#fff !important; }
.modern-grid tbody tr td, .modern-grid thead th { padding-left:6px !important; }

.grid-pager { background-color:#f8fafc; border-top:1px solid #e5e7eb; padding:10px 12px !important; }
.grid-pager .pager-wrap { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.grid-pager .pager-summary { color:#6c757d; font-size:13px; font-weight:500; }
.grid-pager .pager-actions { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.grid-pager .pager-btn, .grid-pager .pager-current {
    min-width:34px; height:26px; display:inline-flex; align-items:center; justify-content:center;
    padding:0 10px; border-radius:8px; font-size:13px; font-weight:600; text-decoration:none; border:1px solid #d0d7de;
}
.grid-pager .pager-btn { color:#334155; background-color:#fff; }
.grid-pager .pager-btn:hover { background-color:#e9f2ff; border-color:#86b7fe; color:#0d6efd; }
.grid-pager .pager-current { background-color:#94bcf7; border-color:#ebf1fa; color:#000; }

.search-input { padding-left:2.2rem !important; width:240px; border:1px solid #ccc; border-radius:4px; margin-bottom:8px; }
mark.search-highlight { background-color:#fff3cd; color:#000; padding:0 2px; border-radius:2px; font-weight:600; }

.btn-export { background-color:#28a745; color:#fff; border:none; padding:8px 15px; border-radius:4px; cursor:pointer; margin-bottom:8px; }
.btn-export:hover { background-color:#99c9a4; color:#000; }

.btn-icon { width:30px; height:30px; padding:0; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; }

.section-card { box-shadow:0 4px 12px rgba(0,0,0,0.06); border:1px solid #e5e7eb; }
.section-card .card-title { font-weight:500 !important; color:#1f3556; }

/* RsTabulator toolbar (column visibility, search, export) */
.rs-grid-toolbar { padding: 4px 0; }
.rs-grid-toolbar .rs-grid-search .form-control { font-size: 0.85rem; }
.rs-grid-toolbar .dropdown-menu.rs-grid-cols .dropdown-item:hover { background-color: #f1f5ff; }
.rs-grid-toolbar .dropdown-menu.rs-grid-cols .form-check-input { cursor: pointer; }

/* Tabulator overrides to keep rows tight and consistent with the modern-grid look */
.tabulator { font-size: 0.85rem; border: 1px solid #e5e7eb; border-radius: 4px; }
.tabulator .tabulator-header { background: #313a46; color: #fff; }
.tabulator .tabulator-header .tabulator-col { background: #313a46; color: #fff; border-right-color: #475065; }
.tabulator .tabulator-header .tabulator-col-content { padding: 6px 8px; }
.tabulator .tabulator-row { min-height: 32px; }
.tabulator .tabulator-row .tabulator-cell { padding: 4px 8px; }
.tabulator .tabulator-row.tabulator-row-even { background-color: #fafbfc; }
.tabulator .tabulator-row:hover { background-color: #d1e7ff !important; cursor: pointer; }
.tabulator .tabulator-row.tabulator-selected { background-color: #3b82f6 !important; color: #fff; }
.tabulator .tabulator-footer { background: #f8fafc; border-top: 1px solid #e5e7eb; padding: 6px 10px; }
/* Bottom-calc (sum) row: cancel the footer's 10px horizontal padding so the totals line up with the body columns instead of sitting shifted right. */
.tabulator .tabulator-footer .tabulator-calcs-holder { width: calc(100% + 20px); margin-left: -10px; margin-right: -10px; }
.tabulator .tabulator-paginator { font-size: 0.8rem; }
.tabulator .tabulator-paginator .tabulator-page { border-radius: 4px; padding: 2px 8px; }
.tabulator .tabulator-paginator .tabulator-page.active { background: #94bcf7; color: #000; border-color: #94bcf7; }

/* "Previous" / "Next" links added around the numeric GridView pager (BasePage.AddPagerPrevNext). */
.rs-pager-nav { text-decoration:none; font-weight:500; color:#0d6efd; cursor:pointer; }
.rs-pager-nav:hover { text-decoration:none; cursor:pointer;}
.rs-pager-nav.aspNetDisabled { color:#d0d4d9; cursor:default; text-decoration:none; pointer-events:none; }
