/**
 * Sri Hari Logistics Panel — global typography
 * Loaded from header.php on all authenticated pages.
 */
:root {
    --sha-font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --sha-font-family-mono: ui-monospace, 'Cascadia Code', 'SFMono-Regular', Menlo, Consolas, monospace;

    /* 11px · 12px · 13px · 14px · 16px */
    --sha-font-size-2xs: 0.6875rem;
    --sha-font-size-xs: 0.75rem;
    --sha-font-size-sm: 0.8125rem;
    --sha-font-size-base: 0.875rem;
    --sha-font-size-md: 1rem;
    --sha-font-size-lg: 1.125rem;

    --sha-font-weight-regular: 400;
    --sha-font-weight-medium: 500;
    --sha-font-weight-semibold: 600;
    --sha-font-weight-bold: 700;

    --sha-line-height-tight: 1.25;
    --sha-line-height-table: 1.35;
    --sha-line-height-base: 1.5;
}

html {
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
}

body,
.wrapper,
.content-page,
.content {
    font-family: var(--sha-font-family);
    font-size: var(--sha-font-size-sm);
    font-weight: var(--sha-font-weight-regular);
    line-height: var(--sha-line-height-base);
    color: #1e293b;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Headings */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: var(--sha-font-family);
    font-weight: var(--sha-font-weight-semibold);
    line-height: var(--sha-line-height-tight);
    color: #0f172a;
}

h1, .h1 { font-size: var(--sha-font-size-lg); }
h2, .h2 { font-size: var(--sha-font-size-md); }
h3, .h3 { font-size: var(--sha-font-size-base); }
h4, .h4,
h5, .h5,
h6, .h6,
.fs-14 {
    font-size: var(--sha-font-size-base) !important;
}

.fs-12 { font-size: var(--sha-font-size-xs) !important; }
.fs-16 { font-size: var(--sha-font-size-md) !important; }
.small, small, .text-muted {
    font-size: var(--sha-font-size-2xs);
}

p, li, label, .form-label {
    font-size: var(--sha-font-size-sm);
}

/* Forms & buttons */
.form-control,
.form-select,
.input-group-text,
.btn,
.dropdown-menu,
.dropdown-item {
    font-family: var(--sha-font-family);
    font-size: var(--sha-font-size-sm);
}

.form-control-sm,
.form-select-sm,
.btn-sm {
    font-size: var(--sha-font-size-xs);
}

.form-control-lg,
.btn-lg {
    font-size: var(--sha-font-size-base);
}

.btn {
    font-weight: var(--sha-font-weight-medium);
}

/* Tables (all list pages) */
.table,
table.dataTable {
    font-family: var(--sha-font-family);
    font-size: var(--sha-font-size-xs) !important;
    text-transform: none;
}

.table:not(.shipment-list-table) thead th,
table.dataTable:not(.shipment-list-table) thead th,
table.dataTable:not(.shipment-list-table) thead td {
    font-size: var(--sha-font-size-2xs) !important;
    font-weight: var(--sha-font-weight-semibold) !important;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    line-height: var(--sha-line-height-tight) !important;
    white-space: nowrap;
}

.table tbody td,
table.dataTable tbody td,
table.dataTable tbody th {
    font-size: var(--sha-font-size-xs) !important;
    line-height: var(--sha-line-height-table) !important;
    font-weight: var(--sha-font-weight-regular) !important;
}

.table td,
.table th,
table.dataTable td,
table.dataTable th {
    padding: 0.5rem 0.625rem !important;
    vertical-align: middle;
}

/* DataTables UI */
.dataTables_wrapper,
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate,
.dataTables_wrapper .dataTables_processing {
    font-family: var(--sha-font-family);
    font-size: var(--sha-font-size-xs) !important;
}

.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter input {
    font-size: var(--sha-font-size-xs) !important;
}

/* Cards & panels */
.card,
.card-body,
.card-header,
.card-title {
    font-family: var(--sha-font-family);
}

.card-title {
    font-size: var(--sha-font-size-base);
    font-weight: var(--sha-font-weight-semibold);
}

/* Badges, alerts, chips */
.badge {
    font-size: var(--sha-font-size-2xs);
    font-weight: var(--sha-font-weight-medium);
}

.alert {
    font-size: var(--sha-font-size-xs);
}

/* Modals */
.modal-title {
    font-size: var(--sha-font-size-base);
    font-weight: var(--sha-font-weight-semibold);
}

.modal-body {
    font-size: var(--sha-font-size-sm);
}

/* Select2 */
.select2-container,
.select2-container .select2-selection,
.select2-results__option {
    font-family: var(--sha-font-family) !important;
    font-size: var(--sha-font-size-sm) !important;
}

/* Date range picker */
.daterangepicker,
.daterangepicker .calendar-table {
    font-family: var(--sha-font-family);
    font-size: var(--sha-font-size-xs);
}

/* SweetAlert / toasts if used */
.swal2-title { font-size: var(--sha-font-size-base) !important; }
.swal2-html-container { font-size: var(--sha-font-size-sm) !important; }

/* Monospace fields (AWB, EWB) */
code, kbd, pre, .font-monospace,
.sl-ewb, .dtdc-ewb {
    font-family: var(--sha-font-family-mono);
}

/* Utility */
.fw-normal { font-weight: var(--sha-font-weight-regular) !important; }
.fw-medium { font-weight: var(--sha-font-weight-medium) !important; }
.fw-semibold { font-weight: var(--sha-font-weight-semibold) !important; }
.fw-bold { font-weight: var(--sha-font-weight-bold) !important; }

.light {
    color: #94a3b8 !important;
    font-weight: var(--sha-font-weight-semibold) !important;
}
