/*
 * Pharmacy Professional Light UI
 * Final application-wide override. Keep this file loaded after module CSS.
 */
:root {
    --ui-bg: #ffffff;
    --ui-surface: #ffffff;
    --ui-surface-soft: #f8fbfa;
    --ui-text: #17211f;
    --ui-muted: #687773;
    --ui-border: #dfe8e5;
    --ui-border-strong: #bdccc8;
    --ui-accent: #0f766e;
    --ui-accent-dark: #0b5f59;
    --ui-accent-soft: #e9f6f3;
    --ui-danger: #b42318;
    --ui-danger-soft: #fff3f1;
    --ui-warning: #8a5a00;
    --ui-warning-soft: #fff8e8;
    --ui-sidebar-width: 224px;
    --ui-topbar-height: 44px;
    --ui-control-height: 32px;
    --ui-radius: 6px;
    --ui-focus: 0 0 0 3px rgba(15, 118, 110, .14);
}

html, body {
    min-height: 100%;
    background: var(--ui-bg) !important;
    color: var(--ui-text) !important;
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: 13px !important;
}

*, *::before, *::after {
    box-sizing: border-box;
    box-shadow: none !important;
    text-shadow: none !important;
}

body { line-height: 1.38; overflow-x: hidden; }
a { color: var(--ui-accent); text-decoration: none; }
a:hover { color: var(--ui-accent-dark); text-decoration: none; }

/* App shell */
.main-content {
    min-height: 100vh;
    background: var(--ui-bg) !important;
    margin-left: var(--ui-sidebar-width);
}
.content-wrapper,
.main-content > .container-fluid,
.main-content > .page-shell,
.main-content > [class*="container"] {
    padding: 10px 12px !important;
}
.container-fluid { --bs-gutter-x: 0; }

/* Compact borderless top bar */
.navbar.topbar,
.main-content > .navbar {
    min-height: var(--ui-topbar-height) !important;
    height: var(--ui-topbar-height) !important;
    padding: 4px 10px !important;
    background: #fff !important;
    border: 0 !important;
    box-shadow: none !important;
    position: sticky;
    top: 0;
    z-index: 900;
}
.topbar .container-fluid { padding: 0 !important; }
.topbar-left, .topbar-right { display: flex; align-items: center; gap: 6px; min-width: 0; }
.topbar-title,
.navbar-brand {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--ui-text) !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.topbar-action,
.topbar-icon-button,
.sidebar-toggle-btn {
    min-height: 30px !important;
    height: 30px !important;
    padding: 4px 8px !important;
    border: 0 !important;
    border-radius: var(--ui-radius) !important;
    background: transparent !important;
    color: var(--ui-text) !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 12.5px !important;
    font-weight: 600 !important;
}
.topbar-icon-button { width: 30px; padding: 0 !important; }
.topbar-action:hover, .topbar-icon-button:hover { background: var(--ui-accent-soft) !important; color: var(--ui-accent) !important; }
.topbar-action:focus-visible, .topbar-icon-button:focus-visible { outline: 0; box-shadow: var(--ui-focus) !important; }
.topbar .dropdown-menu { margin-top: 6px !important; }

/* White pharmacy sidebar */
.sidebar {
    position: fixed !important;
    inset: 0 auto 0 0;
    width: var(--ui-sidebar-width) !important;
    height: 100vh !important;
    transform: translateX(0);
    background: #fff !important;
    color: var(--ui-text) !important;
    border: 0 !important;
    border-right: 1px solid var(--ui-border) !important;
    z-index: 1040;
    display: flex;
    flex-direction: column;
    overflow: hidden !important;
}
.sidebar-header {
    min-height: var(--ui-topbar-height) !important;
    height: var(--ui-topbar-height) !important;
    padding: 6px 10px !important;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid var(--ui-border) !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.sidebar-logo { min-width: 0; display: flex; align-items: center; gap: 8px; }
.sidebar-logo i {
    margin: 0 !important;
    width: 25px;
    height: 25px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--ui-accent) !important;
    background: var(--ui-accent-soft) !important;
    font-size: 14px !important;
}
.sidebar-title {
    color: var(--ui-text) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.sidebar-toggle {
    width: 28px;
    height: 28px;
    border: 0 !important;
    border-radius: var(--ui-radius);
    background: transparent !important;
    color: var(--ui-muted) !important;
}
.sidebar-menu {
    flex: 1;
    min-height: 0;
    overflow-y: auto !important;
    overflow-x: hidden;
    padding: 5px 7px 72px !important;
    scrollbar-width: thin;
    scrollbar-color: var(--ui-border-strong) transparent;
}
.sidebar-menu::-webkit-scrollbar { width: 6px; }
.sidebar-menu::-webkit-scrollbar-thumb { background: var(--ui-border-strong); border-radius: 8px; }
.menu-section { margin: 0 0 7px !important; }
.menu-section-title {
    margin: 9px 8px 4px !important;
    padding: 0 !important;
    color: #87948f !important;
    font-size: 9.5px !important;
    font-weight: 700 !important;
    letter-spacing: .09em !important;
}
.menu-list, .submenu { list-style: none; padding: 0; margin: 0; }
.menu-item, .submenu-item { margin: 0 !important; }
.menu-link, .submenu-link {
    width: 100%;
    min-height: 32px !important;
    padding: 6px 8px !important;
    margin: 1px 0 !important;
    border: 0 !important;
    border-left: 3px solid transparent !important;
    border-radius: 5px !important;
    background: transparent !important;
    color: #34423e !important;
    display: flex;
    align-items: center;
    gap: 8px !important;
    text-align: left;
    font-size: 12.5px !important;
    font-weight: 500;
    line-height: 1.2;
}
.menu-link i, .submenu-link i {
    width: 18px !important;
    margin: 0 !important;
    color: #71807b !important;
    text-align: center;
    font-size: 12px !important;
}
.menu-link:hover, .submenu-link:hover {
    background: #f7faf9 !important;
    color: var(--ui-accent) !important;
}
.menu-link:hover i, .submenu-link:hover i { color: var(--ui-accent) !important; }
.menu-item.active > .menu-link,
.menu-item.open > .menu-toggle.route-active,
.submenu-link.active,
.submenu-link[aria-current="page"] {
    background: var(--ui-accent-soft) !important;
    color: var(--ui-accent-dark) !important;
    border-left-color: var(--ui-accent) !important;
    font-weight: 650 !important;
}
.menu-item.active > .menu-link i,
.menu-item.open > .menu-toggle.route-active i,
.submenu-link.active i,
.submenu-link[aria-current="page"] i { color: var(--ui-accent) !important; }
.menu-toggle .chevron { margin-left: auto !important; font-size: 9px !important; }
.menu-item.open > .menu-toggle .chevron { transform: rotate(180deg); }
.submenu { display: none; padding: 1px 0 2px 17px !important; height: auto !important; overflow: visible !important; }
.menu-item.open > .submenu { display: block; }
.submenu[hidden] { display: none !important; }
.submenu-link { min-height: 29px !important; font-size: 12px !important; padding: 5px 7px !important; }
.sidebar .badge {
    margin-left: auto;
    min-width: 20px;
    padding: 2px 5px !important;
    border: 1px solid #b7ddd7 !important;
    background: var(--ui-accent-soft) !important;
    color: var(--ui-accent-dark) !important;
    border-radius: 999px !important;
    font-size: 9.5px !important;
}
.sidebar-footer {
    background: #fff !important;
    border-top: 1px solid var(--ui-border) !important;
    padding: 7px !important;
}
.user-profile { background: var(--ui-surface-soft) !important; border-radius: var(--ui-radius) !important; }
.user-name { color: var(--ui-text) !important; }
.user-role { color: var(--ui-muted) !important; }
.logout-btn { color: var(--ui-muted) !important; background: transparent !important; }
.sidebar-backdrop { display: none; position: fixed; inset: 0; background: rgba(23,33,31,.28); z-index: 1035; }
body.sidebar-mobile-open .sidebar-backdrop { display: block; }
body.sidebar-collapsed .sidebar { transform: translateX(-100%) !important; }
body.sidebar-collapsed .main-content { margin-left: 0 !important; }

/* Page headings */
.page-heading { margin: 0 0 9px !important; }
.page-title, h1.page-title { margin: 0 !important; font-size: 18px !important; line-height: 1.25; font-weight: 700 !important; color: var(--ui-text) !important; }
.page-subtitle { margin-top: 2px !important; color: var(--ui-muted) !important; font-size: 11.5px !important; }
h1 { font-size: 20px !important; }
h2 { font-size: 18px !important; }
h3 { font-size: 16px !important; }
h4 { font-size: 15px !important; }
h5 { font-size: 14px !important; }
h6 { font-size: 13px !important; }
h1,h2,h3,h4,h5,h6 { color: var(--ui-text) !important; }

/* Surfaces */
.card, .modal-content, .dropdown-menu, .offcanvas, .accordion-item, .toast, .list-group-item {
    background: #fff !important;
    color: var(--ui-text) !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: var(--ui-radius) !important;
    box-shadow: none !important;
}
.card { margin-bottom: 10px !important; }
.card-header, .card-footer, .modal-header, .modal-footer {
    min-height: 38px;
    padding: 7px 10px !important;
    background: #fff !important;
    color: var(--ui-text) !important;
    border-color: var(--ui-border) !important;
}
.card-body, .modal-body { padding: 10px !important; }
.flat-card { box-shadow: none !important; }
.section-title { font-size: 13px !important; font-weight: 700 !important; }
hr { border-color: var(--ui-border) !important; opacity: 1 !important; }

/* Buttons: no black backgrounds; one pharmacy accent */
.btn {
    min-height: var(--ui-control-height) !important;
    height: auto;
    padding: 5px 9px !important;
    border-radius: var(--ui-radius) !important;
    border: 1px solid var(--ui-border-strong) !important;
    background: #fff !important;
    color: #34423e !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
}
.btn-sm { min-height: 29px !important; padding: 4px 7px !important; font-size: 11.5px !important; }
.btn-lg { min-height: 38px !important; padding: 7px 12px !important; font-size: 13px !important; }
.btn-primary, .btn-dark, .btn-success {
    background: var(--ui-accent) !important;
    color: #fff !important;
    border-color: var(--ui-accent) !important;
}
.btn-primary:hover, .btn-dark:hover, .btn-success:hover { background: var(--ui-accent-dark) !important; color: #fff !important; border-color: var(--ui-accent-dark) !important; }
.btn-secondary, .btn-light,
.btn-outline-primary, .btn-outline-dark, .btn-outline-secondary, .btn-outline-success, .btn-outline-info, .btn-info {
    background: #fff !important;
    color: var(--ui-accent-dark) !important;
    border-color: #a9cbc6 !important;
}
.btn-danger, .btn-outline-danger {
    background: #fff !important;
    color: var(--ui-danger) !important;
    border-color: #e2b6b1 !important;
}
.btn-warning, .btn-outline-warning {
    background: #fff !important;
    color: var(--ui-warning) !important;
    border-color: #e1ca94 !important;
}
.btn:hover { transform: none !important; filter: none !important; }
.btn:focus-visible, .btn:focus { outline: 0 !important; box-shadow: var(--ui-focus) !important; }
.btn-link { background: transparent !important; border-color: transparent !important; color: var(--ui-accent) !important; }
.btn-group > .btn { margin-left: -1px; }

/* Forms */
.form-label { margin-bottom: 3px !important; color: #40504b !important; font-size: 11.5px !important; font-weight: 650 !important; }
.form-control, .form-select, .input-group-text {
    min-height: var(--ui-control-height) !important;
    height: var(--ui-control-height) !important;
    padding: 4px 7px !important;
    border: 1px solid var(--ui-border-strong) !important;
    border-radius: var(--ui-radius) !important;
    background: #fff !important;
    color: var(--ui-text) !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    box-shadow: none !important;
}
textarea.form-control { height: auto !important; min-height: 62px !important; }
.form-control-sm, .form-select-sm { min-height: 29px !important; height: 29px !important; padding: 3px 6px !important; }
.form-control-lg, .form-select-lg { min-height: 38px !important; height: 38px !important; }
.form-control:focus, .form-select:focus, .form-check-input:focus {
    border-color: var(--ui-accent) !important;
    outline: 0 !important;
    box-shadow: var(--ui-focus) !important;
}
.form-control::placeholder { color: #97a39f !important; }
.form-control[readonly], .form-control:disabled, .form-select:disabled { background: #f3f7f6 !important; color: #65736f !important; }
.form-check-input { border-color: #93a49f !important; }
.form-check-input:checked { background-color: var(--ui-accent) !important; border-color: var(--ui-accent) !important; }
.input-group > .form-control, .input-group > .form-select, .input-group > .input-group-text { border-radius: 0 !important; }
.input-group > :first-child, .input-group > .voice-input-wrap:first-child > .form-control { border-radius: var(--ui-radius) 0 0 var(--ui-radius) !important; }
.input-group > :last-child, .input-group > .voice-input-wrap:last-child > .form-control { border-radius: 0 var(--ui-radius) var(--ui-radius) 0 !important; }
.input-group > .voice-input-wrap { flex: 1 1 auto !important; width: 1% !important; min-width: 0 !important; }
.input-group > .voice-input-wrap > .form-control { width: 100% !important; border-radius: 0 !important; }

/* Inline filters everywhere */
.inline-filters, .filter-bar, .filters-row, .report-filters, form[data-inline-filter], form.ui-inline-filter,
form.ui-inline-filter > .row, .ui-inline-filter-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-end !important;
    gap: 6px !important;
    margin: 0 !important;
}
form.ui-inline-filter > .row { width: 100%; }
form.ui-inline-filter [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    flex: 0 1 180px !important;
    padding: 0 !important;
}
form.ui-inline-filter [class*="col-"]:has(button),
form.ui-inline-filter .filter-action { flex: 0 0 auto !important; }
.inline-filters > *, .filter-bar > *, .filters-row > *, .report-filters > *, form[data-inline-filter] > * { margin: 0 !important; }
.inline-filters .form-control, .inline-filters .form-select,
.filter-bar .form-control, .filter-bar .form-select,
.filters-row .form-control, .filters-row .form-select,
.report-filters .form-control, .report-filters .form-select,
.ui-inline-filter .form-control, .ui-inline-filter .form-select { width: auto !important; min-width: 132px !important; }
.inline-filters .filter-search, .filter-bar .filter-search, .ui-inline-filter input[type="search"], .ui-inline-filter input[name="q"] { min-width: 210px !important; flex: 1 1 210px !important; }

/* Tables */
.table-responsive {
    overflow: auto;
    border: 1px solid var(--ui-border) !important;
    border-radius: var(--ui-radius) !important;
    background: #fff !important;
}
.card > .table-responsive { border-left: 0 !important; border-right: 0 !important; border-radius: 0 !important; }
.table { margin: 0 !important; color: var(--ui-text) !important; font-size: 11.75px !important; }
.table > :not(caption) > * > * { padding: 6px 7px !important; border-color: #e6ecea !important; vertical-align: middle !important; }
.table thead th {
    background: #f3f7f6 !important;
    color: #35433f !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    border-bottom-width: 1px !important;
}
.table-striped > tbody > tr:nth-of-type(odd) > * { background: #fbfdfc !important; color: var(--ui-text) !important; }
.table-hover > tbody > tr:hover > *, .table tbody tr:hover > * { background: inherit !important; color: inherit !important; }
.ui-sl-col, .ui-sl-cell { width: 48px !important; min-width: 48px !important; max-width: 48px !important; text-align: center !important; color: var(--ui-muted) !important; font-variant-numeric: tabular-nums; }
.empty-state { padding: 18px !important; text-align: center !important; color: var(--ui-muted) !important; }

/* Status and utility colors kept restrained */
.text-primary, .text-success, .text-info { color: var(--ui-accent) !important; }
.text-secondary, .text-muted { color: var(--ui-muted) !important; }
.text-danger { color: var(--ui-danger) !important; }
.text-warning { color: var(--ui-warning) !important; }
.bg-primary, .bg-dark, .bg-success, .bg-info,
.text-bg-primary, .text-bg-dark, .text-bg-success, .text-bg-info {
    background: var(--ui-accent-soft) !important;
    color: var(--ui-accent-dark) !important;
    border-color: #b7ddd7 !important;
}
.bg-danger, .text-bg-danger { background: var(--ui-danger-soft) !important; color: var(--ui-danger) !important; }
.bg-warning, .text-bg-warning { background: var(--ui-warning-soft) !important; color: var(--ui-warning) !important; }
.badge { border-radius: 999px !important; padding: 3px 6px !important; font-size: 10px !important; font-weight: 650 !important; }
.badge.bg-primary, .badge.bg-dark, .badge.bg-success, .badge.bg-info, .badge.bg-secondary { background: var(--ui-accent-soft) !important; color: var(--ui-accent-dark) !important; border: 1px solid #b7ddd7 !important; }
.badge.bg-danger { background: var(--ui-danger-soft) !important; color: var(--ui-danger) !important; border: 1px solid #e8c3bf !important; }
.badge.bg-warning { background: var(--ui-warning-soft) !important; color: var(--ui-warning) !important; border: 1px solid #ead7aa !important; }
.alert { padding: 7px 9px !important; border-radius: var(--ui-radius) !important; font-size: 12px !important; }
.alert-info, .alert-success { background: var(--ui-accent-soft) !important; color: var(--ui-accent-dark) !important; border: 1px solid #b7ddd7 !important; }
.alert-danger { background: var(--ui-danger-soft) !important; color: var(--ui-danger) !important; border: 1px solid #e8c3bf !important; }
.alert-warning { background: var(--ui-warning-soft) !important; color: var(--ui-warning) !important; border: 1px solid #ead7aa !important; }

/* Dashboard */
.metric-grid { display: grid; gap: 7px; }
.metric-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.metric-card, .kpi-card {
    min-height: 70px !important;
    padding: 9px 10px !important;
    background: #fff !important;
    color: var(--ui-text) !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: var(--ui-radius) !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.metric-card span, .metric-card small, .kpi-label { color: var(--ui-muted) !important; font-size: 10.75px !important; }
.metric-card strong, .kpi-value { display: block; margin: 1px 0; color: var(--ui-text) !important; font-size: 16px !important; line-height: 1.2; font-weight: 700 !important; }
.kpi-icon { width: 28px !important; height: 28px !important; color: var(--ui-accent) !important; background: var(--ui-accent-soft) !important; font-size: 13px !important; }
.metric-list > div, .summary-list > div, .balance-panel > div { display: flex; justify-content: space-between; gap: 10px; padding: 6px 9px; border-bottom: 1px solid var(--ui-border); }
.metric-list > div:last-child, .summary-list > div:last-child, .balance-panel > div:last-child { border-bottom: 0; }
.quick-link-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
.quick-link-grid a { display: block; padding: 8px; color: var(--ui-text) !important; background: #fff; border: 1px solid var(--ui-border); border-radius: var(--ui-radius); font-weight: 600; }
.quick-link-grid a:hover { color: var(--ui-accent) !important; border-color: #b7d6d1; background: var(--ui-accent-soft); }
.activity-row { display: grid; grid-template-columns: 66px 1fr auto; align-items: center; gap: 9px; padding: 7px 10px; border-bottom: 1px solid var(--ui-border); }
.activity-row:last-child { border-bottom: 0; }
.activity-row > span, .activity-row small, .activity-row time { color: var(--ui-muted); font-size: 10.75px; }

/* Purchase entry must remain one line */
.purchase-entry-scroll { width: 100%; overflow-x: auto; padding-bottom: 2px; }
.purchase-entry-grid {
    display: grid !important;
    grid-template-columns: minmax(250px, 3fr) minmax(92px, .9fr) minmax(86px, .8fr) minmax(70px, .65fr) minmax(92px, .85fr) minmax(126px, 1.15fr) minmax(92px, .9fr) minmax(76px, .7fr) 38px;
    gap: 6px;
    align-items: end;
    min-width: 1120px;
    margin-bottom: 7px;
}
.purchase-entry-grid > * { min-width: 0; }
.purchase-entry-grid .purchase-add-cell { display: grid; }
.purchase-entry-grid #inAdd { width: 38px; min-width: 38px; padding: 0 !important; }
.purchase-header-grid { display: grid !important; grid-template-columns: minmax(220px,1.6fr) minmax(135px,.8fr) minmax(135px,.8fr) minmax(145px,.9fr); gap: 7px; align-items: end; }

/* Voice recognition */
.voice-input-wrap { position: relative !important; display: block !important; width: 100% !important; }
.voice-input-wrap > .form-control, .voice-input-wrap > input, .voice-input-wrap > textarea { padding-right: 34px !important; }
.voice-input-button {
    position: absolute !important;
    right: 2px !important;
    top: 2px !important;
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--ui-muted) !important;
    z-index: 3 !important;
}
.voice-input-button.is-listening { background: var(--ui-accent-soft) !important; color: var(--ui-accent) !important; }
.voice-input-button[disabled] { opacity: .35; }
.voice-status { font-size: 10px !important; color: var(--ui-muted) !important; }

/* Dropdowns / pagination */
.dropdown-item { padding: 6px 9px !important; color: var(--ui-text) !important; font-size: 12px !important; }
.dropdown-item:hover, .dropdown-item:focus { background: var(--ui-accent-soft) !important; color: var(--ui-accent-dark) !important; }
.page-link { padding: 4px 8px !important; color: var(--ui-accent-dark) !important; background: #fff !important; border-color: var(--ui-border) !important; }
.active > .page-link, .page-link.active { background: var(--ui-accent) !important; color: #fff !important; border-color: var(--ui-accent) !important; }

/* Neutralize dark inline page banners within the normal layout */
.main-content [style*="background-color:#0369a1"],
.main-content [style*="background-color: #0369a1"],
.main-content [style*="background:#111"],
.main-content [style*="background: #111"],
.main-content [style*="background:#0b1220"],
.main-content [style*="background: #0b1220"] {
    background: #fff !important;
    color: var(--ui-text) !important;
}
.main-content .text-white:not(.btn):not(.badge) { color: var(--ui-text) !important; }

/* Spacing cleanup */
.row.g-4 { --bs-gutter-x: .75rem !important; --bs-gutter-y: .75rem !important; }
.row.g-3 { --bs-gutter-x: .6rem !important; --bs-gutter-y: .6rem !important; }
.row.g-2 { --bs-gutter-x: .45rem !important; --bs-gutter-y: .45rem !important; }
.mb-5 { margin-bottom: 1rem !important; }
.mb-4 { margin-bottom: .8rem !important; }
.mb-3 { margin-bottom: .65rem !important; }
.mt-4 { margin-top: .8rem !important; }
.mt-3 { margin-top: .65rem !important; }
.p-4 { padding: .8rem !important; }
.p-3 { padding: .65rem !important; }
.py-5 { padding-top: 1rem !important; padding-bottom: 1rem !important; }

@media (max-width: 1199.98px) {
    .metric-grid-4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 991.98px) {
    .main-content { margin-left: 0 !important; }
    .sidebar { transform: translateX(-100%); }
    body.sidebar-mobile-open .sidebar { transform: translateX(0) !important; }
    body.sidebar-collapsed .sidebar { transform: translateX(-100%) !important; }
    .content-wrapper, .main-content > .container-fluid, .main-content > .page-shell { padding: 8px !important; }
    form.ui-inline-filter [class*="col-"] { flex: 1 1 145px !important; }
}
@media (max-width: 575.98px) {
    .metric-grid-4, .quick-link-grid { grid-template-columns: 1fr; }
    .topbar-title { max-width: 130px; }
    .topbar-user-name { display: none !important; }
    .activity-row { grid-template-columns: 54px 1fr; }
    .activity-row time { grid-column: 2; }
}
@media print {
    .sidebar, .navbar, .sidebar-backdrop, .no-print, .voice-input-button { display: none !important; }
    .main-content { margin: 0 !important; }
    body { background: #fff !important; font-size: 11px !important; }
    .card, .table-responsive { border: 0 !important; }
}
.inline-filters > .voice-input-wrap,
.filter-bar > .voice-input-wrap,
.ui-inline-filter > .voice-input-wrap {
    flex: 1 1 210px !important;
    width: auto !important;
    min-width: 210px !important;
}
/* Login remains part of the same professional light theme. */
.login-page { min-height: 100vh; background: var(--ui-bg) !important; display: flex; align-items: center; justify-content: center; }
.login-container { max-width: 390px !important; padding: 16px !important; }
.login-card { background: #fff !important; border: 1px solid var(--ui-border) !important; border-radius: 10px !important; padding: 26px 24px !important; }
.login-header .logo { width: 52px !important; height: 52px !important; margin: 0 auto 14px !important; background: var(--ui-accent-soft) !important; color: var(--ui-accent) !important; font-size: 20px !important; }
.login-header h3 { font-size: 18px !important; margin-bottom: 4px !important; }
.login-header p { color: var(--ui-muted) !important; margin-bottom: 20px !important; }
.login-form .form-group { margin-bottom: 12px !important; }

/* No decorative hover state: preserve a calm, predictable pharmacy workflow. */
a:hover { color: inherit !important; text-decoration: none !important; }
.topbar-action:hover,
.topbar-icon-button:hover,
.sidebar-toggle-btn:hover { background: transparent !important; color: var(--ui-text) !important; }
.menu-link:hover,
.submenu-link:hover { background: transparent !important; color: #34423e !important; }
.menu-link:hover i,
.submenu-link:hover i { color: #71807b !important; }
.menu-item.active > .menu-link:hover,
.menu-item.open > .menu-toggle.route-active:hover,
.submenu-link.active:hover,
.submenu-link[aria-current="page"]:hover {
    background: var(--ui-accent-soft) !important;
    color: var(--ui-accent-dark) !important;
}
.menu-item.active > .menu-link:hover i,
.menu-item.open > .menu-toggle.route-active:hover i,
.submenu-link.active:hover i,
.submenu-link[aria-current="page"]:hover i { color: var(--ui-accent) !important; }
.btn-primary:hover,
.btn-dark:hover,
.btn-success:hover { background: var(--ui-accent) !important; color: #fff !important; border-color: var(--ui-accent) !important; }
.btn-secondary:hover,
.btn-light:hover,
.btn-outline-primary:hover,
.btn-outline-dark:hover,
.btn-outline-secondary:hover,
.btn-outline-success:hover,
.btn-outline-info:hover,
.btn-info:hover { background: #fff !important; color: var(--ui-accent) !important; border-color: #a9cbc6 !important; }
.btn-danger:hover,
.btn-outline-danger:hover { background: #fff !important; color: #b42318 !important; border-color: #e2b6b1 !important; }
.btn-warning:hover,
.btn-outline-warning:hover { background: #fff !important; color: #8a5b00 !important; border-color: #dbc99c !important; }
.quick-link-grid a:hover,
.dropdown-item:hover { background: inherit !important; color: inherit !important; border-color: var(--ui-border) !important; }

/* v3: professional one-line filters and comfortable modal forms */
@media (min-width: 992px) {
    .inline-filters,
    .filter-bar,
    .filters-row,
    .report-filters,
    form[data-inline-filter],
    form.ui-inline-filter,
    form.ui-inline-filter > .row,
    .ui-inline-filter-row {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: thin;
    }
    .inline-filters > *,
    .filter-bar > *,
    .filters-row > *,
    .report-filters > *,
    form[data-inline-filter] > *,
    form.ui-inline-filter > .row > *,
    .ui-inline-filter-row > * {
        flex-shrink: 0 !important;
    }
}

.modal-body {
    padding: 16px !important;
}
.modal-body .row {
    --bs-gutter-x: 1rem;
    --bs-gutter-y: .75rem;
}
.modal-body .form-group,
.modal-body .field-group {
    margin-bottom: .75rem !important;
}
.modal-body .form-label {
    margin-bottom: 5px !important;
}
.modal-body .form-text,
.modal-body small.text-muted {
    margin-top: 4px !important;
    line-height: 1.35;
}
.modal-dialog-scrollable .modal-body {
    padding-right: 18px !important;
}

/* Shared professional medicine suggestion list (purchase and searchable forms) */
#thList,
.product-suggestion-list {
    z-index: 2400 !important;
    max-height: 320px !important;
    margin-top: 4px !important;
    padding: 4px !important;
    overflow-y: auto !important;
    background: #fff !important;
    border: 1px solid #b9cac6 !important;
    border-radius: 7px !important;
}
#thList .product-suggest-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    min-height: 50px;
    padding: 7px 9px;
    background: #fff;
    border: 0;
    border-bottom: 1px solid #edf2f0;
    border-radius: 5px;
    cursor: pointer;
    list-style: none;
}
#thList .product-suggest-item:last-child { border-bottom: 0; }
#thList .product-suggest-item.active,
#thList .product-suggest-item:focus,
#thList .product-suggest-item:hover {
    background: #eef8f6 !important;
    color: #17211f !important;
    outline: none;
}
#thList .product-suggest-item.is-out { opacity: .66; }
#thList .product-suggest-main { min-width: 0; }
#thList .product-suggest-main strong {
    display: block;
    overflow: hidden;
    color: #17211f;
    font-size: 11.5px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#thList .product-suggest-main span,
#thList .product-suggest-side span {
    display: block;
    margin-top: 2px;
    color: #687773;
    font-size: 10px;
}
#thList .product-suggest-side {
    min-width: 78px;
    text-align: right;
    font-variant-numeric: tabular-nums;
}
#thList .product-suggest-side strong { color: #0b5f59; font-size: 11px; }
#thList .product-suggest-state {
    padding: 13px 10px;
    color: #687773;
    text-align: center;
    font-size: 11px;
    list-style: none;
}

/* Purchase order index: title and every filter stay on one professional row */
.purchase-order-toolbar {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 12px !important;
    overflow-x: auto !important;
    min-height: 48px !important;
}
.purchase-order-filters {
    display: flex !important;
    flex: 1 0 auto !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 7px !important;
    min-width: max-content !important;
}
.purchase-order-filters .form-control,
.purchase-order-filters .form-select,
.purchase-order-filters .btn { flex: 0 0 auto !important; }

/* Price update modal filters remain in one row with horizontal overflow */
#priceUpdateModal .modal-body > .row > [class*="col-"]:first-child > .border > .row {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    align-items: flex-end !important;
}
#priceUpdateModal .modal-body > .row > [class*="col-"]:first-child > .border > .row > [class*="col-"] {
    flex: 0 0 150px !important;
    width: 150px !important;
    max-width: none !important;
}
#priceUpdateModal .modal-body > .row > [class*="col-"]:first-child > .border > .row > [class*="col-"]:first-child {
    flex-basis: 235px !important;
    width: 235px !important;
}

/* v2.3: Rapid-style settings tabs, consistent filter toolbars, statements and report actions */
.management-settings-page{max-width:1500px;margin:0 auto}.management-settings-tabs{display:flex;align-items:center;gap:0;overflow-x:auto;margin:8px 0 0;border:1px solid var(--ui-border);border-bottom:0;background:#f7faf9}.management-settings-tab{display:flex;align-items:center;gap:6px;min-height:38px;padding:8px 14px;border-right:1px solid var(--ui-border);color:#41504c!important;font-size:11px;font-weight:600;white-space:nowrap;text-decoration:none!important}.management-settings-tab.is-active{background:#fff;color:var(--ui-accent)!important;border-top:2px solid var(--ui-accent);padding-top:6px}.management-settings-content{background:#fff;border:1px solid var(--ui-border);padding:0 16px 14px}.management-settings-title{display:flex;align-items:center;gap:10px;padding:14px 0 10px;border-bottom:1px solid var(--ui-border)}.management-settings-title h2{margin:0;font-size:15px}.management-settings-title p{margin:2px 0 0;color:var(--ui-muted);font-size:10.5px}.settings-group-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:5px;background:var(--ui-accent-soft);color:var(--ui-accent)}.management-setting-line{display:grid;grid-template-columns:minmax(240px,1fr) minmax(260px,440px);align-items:center;gap:18px;min-height:47px;padding:7px 3px;border-bottom:1px solid #edf1f0}.management-setting-line.is-check{grid-template-columns:25px 1fr}.management-setting-copy label{font-size:11px;font-weight:600;color:#26332f}.management-setting-control .form-control,.management-setting-control .form-select{width:100%;min-height:31px}.management-settings-actions{display:flex;justify-content:flex-end;gap:7px;padding-top:12px}@media(max-width:767.98px){.management-setting-line{grid-template-columns:1fr;gap:5px;padding:10px 2px}.management-setting-line.is-check{grid-template-columns:24px 1fr}}

.inline-filters,.filter-bar,.filters-row,.report-filters,.inventory-toolbar,.purchase-order-filters,form[data-inline-filter]{display:flex!important;align-items:flex-end!important;gap:7px!important;margin-bottom:10px!important}.inline-filters .form-control,.inline-filters .form-select,.inline-filters .btn,.filter-bar .form-control,.filter-bar .form-select,.filter-bar .btn,.filters-row .form-control,.filters-row .form-select,.filters-row .btn,.report-filters .form-control,.report-filters .form-select,.report-filters .btn,form[data-inline-filter] .form-control,form[data-inline-filter] .form-select,form[data-inline-filter] .btn{min-height:32px!important;height:32px!important;margin:0!important}.inline-filters label,.filter-bar label,.filters-row label,.report-filters label{margin:0 0 4px!important;line-height:1.1}.customer-filter-toolbar{padding:8px!important;margin:0 0 10px!important;background:#fafcfb;border:1px solid #e1e8e6;border-radius:6px}.customer-filter-toolbar + .table-responsive{margin-top:0!important}.table-responsive>.table{margin-bottom:0}.card .table-responsive:first-child{margin-top:0}

.report-icon-btn{display:inline-grid!important;place-items:center!important;width:32px!important;min-width:32px!important;height:32px!important;padding:0!important;border-color:transparent!important}.report-icon-btn i{margin:0!important;font-size:13px}.report-company-header{text-align:center;margin:0 0 12px;padding:5px 0 10px;border-bottom:1px solid #cfd8d5}.report-company-header h2{font-size:18px;margin:0 0 3px}.report-company-header h3{font-size:14px;margin:9px 0 2px}.report-company-header div,.report-company-header p{font-size:10.5px;color:#53635f;margin:1px 0}.account-statement-filters{padding:9px;background:#fff;border:1px solid var(--ui-border);border-radius:6px}.account-statement-filters .filter-field{display:flex;flex-direction:column;flex:0 0 145px}.account-statement-filters .account-select-field{flex:1 1 330px;min-width:260px}.account-statement-filters .filter-action-field{flex:0 0 auto}.statement-sheet{background:#fff;border:1px solid var(--ui-border);border-radius:6px;padding:14px}.statement-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 10px}.statement-summary-grid>div{padding:8px 10px;background:#f8faf9;border:1px solid #e1e7e5;border-radius:5px}.statement-summary-grid span{display:block;color:var(--ui-muted);font-size:9.5px;text-transform:uppercase}.statement-summary-grid strong{font-size:13px}.statement-table{font-size:10.5px}.statement-table th{background:#f1f5f4!important;white-space:nowrap}.statement-table td,.statement-table th{padding:6px 7px!important;vertical-align:top}.statement-table td small{display:block;color:#82908c}.statement-table .opening-row td{background:#f8fbfa!important}.empty-report-state{display:grid;place-items:center;gap:5px;min-height:220px;background:#fff;border:1px solid var(--ui-border);border-radius:6px;color:var(--ui-muted);text-align:center}.empty-report-state i{font-size:28px;color:#9aaba7}.empty-report-state strong{color:var(--ui-text)}@media(max-width:800px){.statement-summary-grid{grid-template-columns:repeat(2,1fr)}}@media print{.account-statement-page{padding:0!important}.statement-sheet{border:0!important;padding:0!important}.statement-summary-grid>div{border:1px solid #ccc!important}.statement-table{font-size:9.5px!important}.report-company-header{display:block!important}}

/* v2.3 finishing alignment */
.global-report-print-header{display:none}.inline-filters>.voice-input-wrap,.filter-bar>.voice-input-wrap,.filters-row>.voice-input-wrap,form[data-inline-filter]>.voice-input-wrap{align-self:flex-end!important;margin:0!important}.inline-filters>.voice-input-wrap .form-control,.filter-bar>.voice-input-wrap .form-control,.filters-row>.voice-input-wrap .form-control,form[data-inline-filter]>.voice-input-wrap .form-control{height:32px!important;min-height:32px!important}.inline-filters>.voice-input-wrap .voice-input-button,.filter-bar>.voice-input-wrap .voice-input-button,.filters-row>.voice-input-wrap .voice-input-button,form[data-inline-filter]>.voice-input-wrap .voice-input-button{height:30px!important;min-height:30px!important;top:1px!important}.btn:has(>.fa-print),.btn:has(>.fa-file-excel){min-width:32px!important;width:32px!important;height:32px!important;padding:0!important;display:inline-grid!important;place-items:center!important}.btn:has(>.fa-print) i,.btn:has(>.fa-file-excel) i{margin:0!important}.card-body>.inline-filters+.table-responsive,.card-body>form[data-inline-filter]+.table-responsive{margin-top:10px!important}@media print{.global-report-print-header{display:block!important;margin:0 0 10px!important}.global-report-print-header .report-company-print-header{display:block!important}.topbar,.sidebar,.developer-footer{display:none!important}}

/* All list/table filter headers share the same baseline and control height. */
.filters,.sticky-filters,.category-filter,.toolbar.mb-2,.card-body.filter-row{align-items:flex-end!important;gap:7px!important}.filters .form-control,.filters .form-select,.filters .btn,.sticky-filters .form-control,.sticky-filters .form-select,.sticky-filters .btn,.category-filter .form-control,.category-filter .form-select,.category-filter .btn,.card-body.filter-row .form-control,.card-body.filter-row .form-select,.card-body.filter-row .btn{min-height:32px!important;height:32px!important;margin-bottom:0!important}.filter-actions{display:flex!important;align-items:center!important;gap:7px!important}.filter-actions .btn{margin:0!important;min-height:32px!important;height:32px!important}
