/* GreenMall application identity. Merchant storefront themes do not load this file. */
:root {
  --gm-green: #0b6d27;
  --gm-green-bright: #16aa3d;
  --gm-green-dark: #084d20;
  --gm-lime: #d9ea35;
  --gm-ink: #17221a;
  --gm-muted: #637269;
  --gm-border: #dce7dd;
  --gm-canvas: #f5f8f3;
  --gm-surface: #fff;
  --gm-soft: #edf6ee;
  --gm-radius: 14px;
  --gm-shadow: 0 2px 8px rgba(14, 53, 27, .035), 0 14px 32px rgba(14, 53, 27, .045);
}
html { background: var(--gm-canvas); }
/* System notifications, including status messages after saving a form. */
:is(.gm-app, .gm-auth) #toast-container.toast-top-right { top: 76px; right: 20px; }
:is(.gm-app, .gm-auth) #toast-container > .toast {
  --gm-toast-accent: var(--gm-green);
  --gm-toast-tint: var(--gm-soft);
  width: 360px;
  max-width: calc(100vw - 32px);
  min-height: 64px;
  margin-bottom: 10px;
  padding: 18px 44px 18px 58px;
  border: 1px solid var(--gm-border);
  border-radius: 12px;
  background-color: #fff;
  background-image: none !important;
  color: var(--gm-ink);
  box-shadow: 0 4px 20px rgba(17, 34, 23, .12);
  opacity: 1;
  font-size: 13px;
  line-height: 1.5;
  cursor: default;
}
:is(.gm-app, .gm-auth) #toast-container > .toast:hover { box-shadow: 0 4px 20px rgba(17, 34, 23, .12); }
:is(.gm-app, .gm-auth) #toast-container > .toast-success { background-color: #e8f5eb; border-color: #b9ddc2; color: var(--gm-green-dark); }
:is(.gm-app, .gm-auth) #toast-container > .toast-info { background-color: #edf4ef; border-color: #c5dace; }
:is(.gm-app, .gm-auth) #toast-container > .toast::before {
  content: '\f00c';
  position: absolute;
  top: 16px;
  left: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: var(--gm-toast-tint);
  color: var(--gm-toast-accent);
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  font-size: 14px;
}
:is(.gm-app, .gm-auth) #toast-container > .toast-error { --gm-toast-accent: #b42332; --gm-toast-tint: #f9dce1; background-color: #fceef0; border-color: #f1d3d8; }
:is(.gm-app, .gm-auth) #toast-container > .toast-error::before { content: '\f00d'; }
:is(.gm-app, .gm-auth) #toast-container > .toast-warning { --gm-toast-accent: #926022; --gm-toast-tint: #f7e8c9; background-color: #fcf3e2; border-color: #ecdcbf; }
:is(.gm-app, .gm-auth) #toast-container > .toast-warning::before { content: '\f12a'; }
:is(.gm-app, .gm-auth) #toast-container > .toast-info::before { content: '\f129'; }
:is(.gm-app, .gm-auth) #toast-container .toast-title { margin-bottom: 3px; color: var(--gm-ink); font-weight: 700; }
:is(.gm-app, .gm-auth) #toast-container .toast-message { overflow-wrap: anywhere; }
:is(.gm-app, .gm-auth) #toast-container .toast-message a { color: var(--gm-green); text-decoration: underline; }
:is(.gm-app, .gm-auth) #toast-container .toast-close-button {
  position: absolute;
  top: 17px;
  right: 12px;
  float: none;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--gm-muted);
  font-size: 22px;
  font-weight: 400;
  text-shadow: none;
  opacity: 1;
}
:is(.gm-app, .gm-auth) #toast-container .toast-close-button:hover { background: var(--gm-soft); color: var(--gm-ink); }
:is(.gm-app, .gm-auth) #toast-container > .toast.rtl { padding: 18px 58px 18px 44px; }
:is(.gm-app, .gm-auth) #toast-container > .toast.rtl::before { right: 16px; left: auto; }
:is(.gm-app, .gm-auth) #toast-container .rtl .toast-close-button { left: 12px; right: auto; }
@media (max-width: 640px) {
  :is(.gm-app, .gm-auth) #toast-container.toast-top-right { top: 72px; right: 16px; }
}
body.gm-app, body.gm-auth { color: var(--gm-ink); background: var(--gm-canvas) !important; }
.gm-app .gm-main, .gm-app .gm-scroll, .gm-app .content-wrapper, .gm-app .wrapper,
.gm-app .tw-bg-gray-100 { background: var(--gm-canvas) !important; color: var(--gm-ink); }
.gm-app .content { background: transparent; padding-top: 18px; }
.gm-app .content-header { padding: 26px 24px 8px; background: transparent; }
.gm-app .content-header h1 { color: var(--gm-ink); font-size: clamp(23px, 2.2vw, 30px); font-weight: 750; letter-spacing: -.035em; }
.gm-app h1, .gm-app h2, .gm-app h3, .gm-app h4, .gm-app h5, .gm-app h6 { color: var(--gm-ink); letter-spacing: -.025em; }
.gm-app p, .gm-app label, .gm-app td, .gm-app li { color: var(--gm-ink); }
.gm-app .text-muted, .gm-app .tw-text-gray-500, .gm-app .tw-text-gray-400 { color: var(--gm-muted) !important; }
.gm-app .tw-text-gray-900, .gm-app .tw-text-gray-800, .gm-app .tw-text-gray-700,
.gm-app .tw-text-primary-800 { color: var(--gm-ink) !important; }
.gm-app a { color: var(--gm-green); }
.gm-app a:hover { color: var(--gm-green-dark); }
.gm-app :is(.fa-info, .fa-info-circle, .fa-circle-info, .glyphicon-info-sign):not([style]),
.gm-auth :is(.fa-info, .fa-info-circle, .fa-circle-info, .glyphicon-info-sign):not([style]),
.gm-app .hover-q, .gm-auth .hover-q { color: var(--gm-green) !important; }
.gm-app :focus-visible, .gm-auth :focus-visible { outline: 3px solid var(--gm-green-bright) !important; outline-offset: 2px; }

/* App navigation: a clear, light rail with a recognizable storefront mark. */
.gm-app .gp-sidebar { background: #fff !important; border-right: 1px solid var(--gm-border) !important; box-shadow: none !important; backdrop-filter: none !important; }
.gm-app .gp-sidebar::before, .gm-app .gp-sidebar::after { display: none !important; }
.gm-app .gp-brand { min-height: 82px; padding: 14px 18px !important; background: #fff !important; border-bottom: 1px solid var(--gm-border) !important; backdrop-filter: none !important; }
.gm-app .gp-brand-mark { width: 42px; height: 42px; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; object-fit: contain; flex: none; }
.gp-brand-copy { min-width: 0; display: flex; flex-direction: column; line-height: 1.1; }
.gp-brand-copy strong { color: #111b13; font-size: 20px; font-weight: 800; letter-spacing: -.055em; white-space: nowrap; }
.gp-brand-copy strong span { color: var(--gm-green-bright); }
.gp-brand-copy small { margin-top: 4px; color: var(--gm-muted); font-size: 10px; font-weight: 650; letter-spacing: .03em; max-width: 146px; }
.gm-app .gp-online { background: var(--gm-green-bright); box-shadow: 0 0 0 3px #e4f6e6; }
.gm-app .gp-sidebar-menu { padding: 16px 10px 24px; scrollbar-width: thin; }
.gm-app .gp-menu-header { color: #7c8b7f; font-size: 10px; letter-spacing: .12em; margin: 19px 12px 7px; }
.gm-app .gp-menu-item { min-height: 40px; color: #435449; border-radius: 10px; font-size: 13px; font-weight: 650; padding: 10px 12px; transition: background .16s, color .16s; }
.gm-app .gp-menu-item:hover { color: var(--gm-green); background: #f0f8f0; transform: none; }
.gm-app .gp-menu-item.is-active { background: #e9f6e9; color: var(--gm-green-dark); box-shadow: inset 3px 0 0 var(--gm-green-bright); }
.gm-app .gp-child-list { border-color: var(--gm-border); margin-top: 3px; margin-bottom: 9px; }
.gm-app .gp-child-item { color: #59695d; border-radius: 7px; padding: 7px 9px; }
.gm-app .gp-child-item:hover, .gm-app .gp-child-item.tw-text-primary-700 { color: var(--gm-green); background: var(--gm-soft); }

/* Header, content rhythm and dashboard. */
.gm-app .gm-main > .no-print { background: #fff !important; background-image: none !important; border-bottom: 1px solid var(--gm-border) !important; box-shadow: 0 1px 4px rgba(20, 57, 29, .035); }
.gm-app .gm-main > .no-print .tw-text-white,
.gm-app .gm-main > .no-print button,
.gm-app .gm-main > .no-print summary { color: var(--gm-ink) !important; }
.gm-app .gm-main > .no-print button,
.gm-app .gm-main > .no-print summary { background: #fff !important; border: 1px solid var(--gm-border) !important; box-shadow: none !important; }
.gm-app .gm-main > .no-print button:hover,
.gm-app .gm-main > .no-print summary:hover { background: var(--gm-soft) !important; border-color: #bddbc2 !important; color: var(--gm-green) !important; }
.gm-app .gm-main > .no-print .tw-dw-menu, .gm-app .gm-main > .no-print .dropdown-menu { background: #fff !important; }
.gm-app .gm-main > .no-print .tw-dw-menu a { color: var(--gm-ink) !important; }
.gm-app .gm-main > .no-print .tw-dw-menu a:hover { background: var(--gm-soft) !important; }
.gm-app .gm-dashboard-hero { background: linear-gradient(125deg, #f2f9ef 0%, #fff 70%) !important; border-bottom: 1px solid var(--gm-border); padding-bottom: 24px !important; }
.gm-app .gm-dashboard-hero .tw-text-white { color: var(--gm-ink) !important; }
.gm-app .gm-dashboard-hero .tw-bg-white, .gm-app .gm-dashboard-stats .tw-bg-white { background: #fff !important; }
.gm-app .gm-dashboard-stats .tw-bg-gradient-to-r { background: transparent !important; }
.gm-app .gm-dashboard-hero [class*="tw-ring-gray"], .gm-app .gm-dashboard-stats [class*="tw-ring-gray"] { --tw-ring-color: var(--gm-border) !important; }
.gm-app .gm-dashboard-hero [class*="tw-shadow"], .gm-app .gm-dashboard-stats [class*="tw-shadow"] { box-shadow: var(--gm-shadow) !important; }
.gm-app .gm-dashboard-hero .tw-rounded-full, .gm-app .gm-dashboard-stats .tw-rounded-full { border-radius: 12px !important; }

/* Shared surfaces support dense operational screens. */
.gm-app .box, .gm-app .panel, .gm-app .card, .gm-app .well,
.gm-app .nav-tabs-custom, .gm-app .info-box, .gm-app .small-box,
.gm-app .gm-filter-card { background: #fff !important; border: 1px solid var(--gm-border) !important; border-radius: var(--gm-radius) !important; box-shadow: var(--gm-shadow) !important; color: var(--gm-ink); backdrop-filter: none !important; overflow: hidden; }
.gm-app .box-header, .gm-app .panel-heading, .gm-app .card-header { background: #fff !important; border-bottom: 1px solid var(--gm-border) !important; color: var(--gm-ink) !important; padding: 15px 18px; }
.gm-app .box-title, .gm-app .panel-title { color: var(--gm-ink) !important; font-weight: 720; }
.gm-app .box-body, .gm-app .panel-body, .gm-app .card-body { background: #fff; color: var(--gm-ink); padding: 18px; }
.gm-app .box-footer, .gm-app .panel-footer, .gm-app .card-footer { background: #fbfdfb !important; border-top: 1px solid var(--gm-border) !important; }
.gm-app .gm-filter-card .box-header { background: #f8fbf7 !important; }
.gm-app .gm-filter-card .box-title a { color: var(--gm-green-dark) !important; }
.gm-app .info-box-icon { border-radius: 12px 0 0 12px; }
.gm-app .info-box-icon.bg-green { background: var(--gm-green) !important; }
.gm-app .small-box > .inner { padding: 18px; }
.gm-app .breadcrumb, .gm-app .content-header .breadcrumb { background: transparent; color: var(--gm-muted); }
.gm-app .breadcrumb > li.active { color: var(--gm-ink); }

/* Controls, tables and status are consistent in every module. */
.gm-app .btn, .gm-auth .btn { border-radius: 9px !important; font-weight: 700 !important; box-shadow: none !important; transition: background .16s, border-color .16s, color .16s !important; }
.gm-app .btn-primary, .gm-app .btn-success, .gm-auth .btn-primary, .gm-auth .btn-success { background: var(--gm-green) !important; border: 1px solid var(--gm-green) !important; color: #fff !important; }
.gm-app .btn-primary:hover, .gm-app .btn-success:hover, .gm-auth .btn-primary:hover, .gm-auth .btn-success:hover { background: var(--gm-green-dark) !important; border-color: var(--gm-green-dark) !important; color: #fff !important; }
.gm-app .btn-default, .gm-app .btn-secondary, .gm-auth .btn-default { background: #fff !important; border: 1px solid var(--gm-border) !important; color: var(--gm-ink) !important; }
.gm-app .btn-default:hover, .gm-app .btn-secondary:hover { background: var(--gm-soft) !important; border-color: #b9d9bf !important; }
.gm-app .btn-info { background: var(--gm-soft) !important; border-color: #cbe5cf !important; color: var(--gm-green-dark) !important; }
.gm-app .btn-warning { background: #fff5dd !important; border-color: #f3dc9e !important; color: #7a5100 !important; }
.gm-app .btn-danger { background: #fff0ef !important; border-color: #f3c6c3 !important; color: #ae342b !important; }
.gm-app .form-control, .gm-auth .form-control, .gm-app select,
.gm-app .select2-container--default .select2-selection--single,
.gm-app .select2-container--default .select2-selection--multiple { background: #fff !important; border: 1px solid #cdddcf !important; border-radius: 9px !important; color: var(--gm-ink) !important; box-shadow: none !important; }
.gm-app .form-control:focus, .gm-auth .form-control:focus, .gm-app select:focus { border-color: var(--gm-green-bright) !important; box-shadow: 0 0 0 3px rgba(22,170,61,.13) !important; }
.gm-app .form-control::placeholder, .gm-auth .form-control::placeholder { color: #8b998e !important; }
.gm-app .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--gm-ink) !important; }
.gm-app .select2-dropdown, .gm-app .dropdown-menu { background: #fff !important; border: 1px solid var(--gm-border) !important; border-radius: 10px !important; box-shadow: var(--gm-shadow); color: var(--gm-ink); }
:is(.gm-app, .gm-auth) .select2-search__field {
  color-scheme: light;
  background: #fff !important;
  color: var(--gm-ink) !important;
  -webkit-text-fill-color: var(--gm-ink) !important;
  caret-color: var(--gm-green);
  font-family: inherit;
  font-size: 13px;
}
:is(.gm-app, .gm-auth) .select2-search--dropdown { padding: 8px; }
:is(.gm-app, .gm-auth) .select2-search--dropdown .select2-search__field {
  height: 40px;
  padding: 9px 12px;
  border: 1px solid #cdddcf !important;
  border-radius: 7px;
  box-shadow: none;
}
:is(.gm-app, .gm-auth) .select2-search--dropdown .select2-search__field:focus {
  border-color: var(--gm-green) !important;
  outline: 0;
  box-shadow: 0 0 0 2px rgba(22, 170, 61, .12);
}
:is(.gm-app, .gm-auth) .select2-search__field::placeholder {
  color: var(--gm-muted) !important;
  -webkit-text-fill-color: var(--gm-muted) !important;
  opacity: 1;
}
.gm-app .select2-results__option { color: var(--gm-ink); }
.gm-app .select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--gm-green) !important; color: #fff !important; }
.gm-app .input-group-addon { background: #f4f8f3 !important; border-color: #cdddcf !important; color: var(--gm-muted) !important; }
.gm-app .table, .gm-app table { color: var(--gm-ink); }
.gm-app .table > thead > tr > th, .gm-app table thead th { background: #f6faf5 !important; border-color: var(--gm-border) !important; color: #536459 !important; font-size: 11px; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.gm-app .table > tbody > tr > td, .gm-app .table > tfoot > tr > td { background: #fff; border-color: #e9eee9 !important; color: var(--gm-ink); }
.gm-app .table-striped > tbody > tr:nth-of-type(odd) td { background: #fbfdfb !important; }
.gm-app .table-hover > tbody > tr:hover td { background: #f0f8ef !important; }
.gm-app .dataTables_wrapper .dataTables_filter input { background: #fff !important; color: var(--gm-ink) !important; border: 1px solid #cdddcf !important; border-radius: 8px; }
.gm-app .dataTables_wrapper .dataTables_paginate .paginate_button.current,
.gm-app .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
.gm-app .pagination > .active > a,
.gm-app .pagination > .active > a:hover,
.gm-app .pagination > .active > a:focus,
.gm-app .pagination > .active > span,
.gm-app .pagination > .active > span:hover,
.gm-app .pagination > .active > span:focus,
.gm-app .pagination .page-item.active > .page-link { background: var(--gm-green) !important; border-color: var(--gm-green) !important; color: #fff !important; border-radius: 8px; }
.gm-app .dt-button { background: #fff !important; border: 1px solid var(--gm-border) !important; border-radius: 8px !important; color: var(--gm-ink) !important; }
.gm-app .dt-button:hover { background: var(--gm-soft) !important; color: var(--gm-green) !important; }
.gm-app .nav-tabs { border-bottom: 1px solid var(--gm-border); }
.gm-app .nav-tabs > li > a { color: var(--gm-muted); border-radius: 9px 9px 0 0; }
.gm-app .nav-tabs > li.active > a, .gm-app .nav-tabs > li.active > a:hover { border-color: var(--gm-border) var(--gm-border) #fff; color: var(--gm-green); font-weight: 700; }
.gm-app .modal-content { background: #fff !important; border: 1px solid var(--gm-border) !important; border-radius: 16px !important; box-shadow: 0 24px 70px rgba(20,50,25,.18) !important; color: var(--gm-ink); }
.gm-app .modal-header, .gm-app .modal-footer { background: #fff !important; border-color: var(--gm-border) !important; }
.gm-app .modal-title { color: var(--gm-ink) !important; font-weight: 750; }
.gm-app .modal .close { color: var(--gm-muted) !important; opacity: 1; }
.gm-app .alert { border-radius: 10px; }
.gm-app .alert-success { background: #e9f7ea !important; border-color: #bce5c3 !important; color: #165c2b !important; }
.gm-app .alert-warning { background: #fff8e5 !important; border-color: #f1dfa2 !important; color: #805b08 !important; }
.gm-app .alert-danger { background: #fff0ef !important; border-color: #f3c6c3 !important; color: #a82e28 !important; }
.gm-app .alert-info { background: #eaf5f8 !important; border-color: #cbe6eb !important; color: #155f73 !important; }
.gm-app .label-success, .gm-app .badge-success { background: #dbf2df !important; color: #146329 !important; }
.gm-app .label-warning, .gm-app .badge-warning { background: #fff0c8 !important; color: #805500 !important; }
.gm-app .label-danger, .gm-app .badge-danger { background: #ffe5e2 !important; color: #a82e28 !important; }
.gm-app .label-info, .gm-app .badge-info { background: #e1f1f5 !important; color: #155f73 !important; }

/* POS keeps its efficient layout while using the same surfaces and action hierarchy. */
.gm-app .pos-modern { background: transparent !important; color: var(--gm-ink) !important; font-family: inherit !important; }
.gm-app .pos-modern .pos-card, .gm-app .pos-modern .pos-table-shell,
.gm-app .pos-modern .pos_form_totals table { background: #fff !important; border: 1px solid var(--gm-border) !important; box-shadow: var(--gm-shadow) !important; border-radius: 14px !important; }
.gm-app .pos-modern .input-group { background: #fff !important; border: 1px solid #cdddcf !important; }
.gm-app .pos-modern .input-group .form-control { background: #fff !important; color: var(--gm-ink) !important; }
.gm-app .pos-modern .input-group .input-group-addon, .gm-app .pos-modern .input-group .input-group-btn .btn { background: #f3f8f2 !important; color: var(--gm-green) !important; }
.gm-app .pos-modern #pos_table thead th { background: #f4f9f3 !important; color: #536459 !important; }
.gm-app .pos-modern #pos_table tbody td { background: #fff !important; border-color: var(--gm-border) !important; color: var(--gm-ink) !important; }
.gm-app .pos-modern .product_box, .gm-app .pos-modern .product-list .product-box,
.gm-app .pos-modern .product_list_div .pos-product-item { background: #fff !important; border: 1px solid var(--gm-border) !important; color: var(--gm-ink) !important; box-shadow: var(--gm-shadow) !important; }
.gm-app .pos-modern .product_box:hover { border-color: var(--gm-green-bright) !important; background: #f8fcf7 !important; }
.gm-app .pos-modern .product_box .text_div, .gm-app .pos-modern .product_box .text,
.gm-app .pos-modern .product_box small, .gm-app .pos-modern .product_box .text-muted,
.gm-app .pos-modern .pos_form_totals, .gm-app .pos-modern .pos_form_totals span,
.gm-app .pos-modern label { color: var(--gm-ink) !important; }
.gm-app .pos-modern .product_box .image-container { background-color: #f7faf6 !important; border-color: var(--gm-border) !important; }
.gm-app .pos-modern .pos_form_actions, .gm-app #pos_form_actions { background: #fff !important; border-top: 1px solid var(--gm-border) !important; backdrop-filter: none !important; box-shadow: 0 -8px 24px rgba(21, 51, 25, .06); }
.gm-app .pos-header { background: #fff !important; border-bottom: 1px solid var(--gm-border) !important; }

/* Authentication uses an editorial, calm canvas instead of the former glass theme. */
.gm-auth, .gm-auth html { background: #f6faf5 !important; color: var(--gm-ink) !important; }
.gm-auth::before { content: ''; position: fixed; inset: 0 0 auto; height: 9px; background: linear-gradient(90deg, var(--gm-green-bright) 0 25%, var(--gm-lime) 25% 50%, var(--gm-green-bright) 50% 75%, var(--gm-lime) 75%); z-index: 50; }
.gm-auth .orb { display: none !important; }
.gm-auth .welcome-page { position: relative !important; min-height: 100vh; padding-top: 90px !important; padding-bottom: 50px !important; }
.gm-auth-brand { position: fixed; z-index: 30; top: 25px; left: 32px; display: inline-flex; align-items: center; gap: 9px; text-decoration: none !important; }
.gm-auth-brand img { width: 34px; height: 34px; }
.gm-auth-brand strong { color: var(--gm-ink); font-size: 22px; font-weight: 800; letter-spacing: -.055em; }
.gm-auth-brand strong span { color: var(--gm-green-bright); }
.gm-auth .glass-card, .gm-auth .login-box-body, .gm-auth .register-box-body { background: #fff !important; border: 1px solid var(--gm-border) !important; border-radius: 22px !important; box-shadow: 0 18px 55px rgba(18, 60, 25, .08) !important; backdrop-filter: none !important; }
.gm-auth .glass-card::before { display: none !important; }
.gm-auth .glass-card h1, .gm-auth .glass-card h2, .gm-auth .glass-card h3,
.gm-auth .glass-card .app-name { color: var(--gm-ink) !important; }
.gm-auth .glass-card p, .gm-auth .glass-card label, .gm-auth .glass-card span { color: var(--gm-muted) !important; }
.gm-auth .glass-card input, .gm-auth .glass-card select { color: var(--gm-ink) !important; background: #fff !important; border: 1px solid #cdddcf !important; }
.gm-auth .glass-card input:focus { border-color: var(--gm-green-bright) !important; box-shadow: 0 0 0 3px rgba(22,170,61,.13) !important; }
.gm-auth .glass-card .card-logo { border-radius: 12px !important; border-color: var(--gm-border) !important; box-shadow: none !important; }
.gm-auth .tw-text-white { color: var(--gm-ink) !important; }
.gm-auth .tw-border-white { border-color: var(--gm-green) !important; }
.gm-auth a { color: var(--gm-green) !important; }
.gm-auth .btn-primary, .gm-auth button[type=submit] { background: var(--gm-green) !important; color: #fff !important; border-color: var(--gm-green) !important; }

@media (max-width: 767px) {
  .gm-auth-brand { top: 20px; left: 18px; }
  .gm-app .content-header { padding: 20px 16px 6px; }
  .gm-app .content { padding: 14px 12px; }
  .gm-app .box-body, .gm-app .panel-body, .gm-app .card-body { padding: 14px; }
  .gm-app .gm-main > .no-print { padding-left: 8px; padding-right: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .gm-app *, .gm-auth * { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
@media print {
  .gm-app, .gm-app .gm-main, .gm-app .gm-scroll { background: #fff !important; }
  .gm-app .box, .gm-app .panel, .gm-app .card { box-shadow: none !important; }
}
/* GreenMall management has its own secondary navigation within the app shell. */
.gm-app .gm-module-nav { background: transparent !important; border: 0 !important; }
.gm-app .gm-module-nav .navbar { background: #fff !important; border: 1px solid var(--gm-border) !important; border-radius: 12px !important; box-shadow: var(--gm-shadow); margin: 16px 20px 0 !important; }
.gm-app .gm-module-nav .navbar-brand { color: var(--gm-green-dark) !important; font-weight: 800; letter-spacing: -.025em; }
.gm-app .gm-module-nav .navbar-brand i { color: var(--gm-green-bright); margin-right: 5px; }
.gm-app .gm-module-nav .navbar-nav > li > a { color: var(--gm-muted) !important; font-weight: 650; }
.gm-app .gm-module-nav .navbar-nav > li > a:hover { color: var(--gm-green) !important; background: var(--gm-soft) !important; }
.gm-app .gm-module-nav .navbar-nav > .active > a,
.gm-app .gm-module-nav .navbar-nav > .active > a:hover { background: var(--gm-soft) !important; color: var(--gm-green-dark) !important; box-shadow: inset 0 -3px 0 var(--gm-green-bright); }
.gm-app #gm-studio { background: var(--gm-canvas) !important; }
.gm-app #gm-studio-topbar, .gm-app #gm-studio-sidebar { background: #fff !important; border-color: var(--gm-border) !important; }
.gm-app #gm-studio-topbar h1 { color: var(--gm-ink) !important; letter-spacing: -.025em; }
.gm-app #gm-studio .gm-section-header:hover { background: var(--gm-soft) !important; }
.gm-app #gm-studio .gm-section-header h4 { color: var(--gm-ink) !important; }
.gm-app #gm-studio-status.saved .gm-status-dot { background: var(--gm-green-bright) !important; }
.gm-app #gm-preview-toolbar button.active { background: var(--gm-green) !important; border-color: var(--gm-green) !important; color: #fff !important; }
.gm-auth .app-name span { color: var(--gm-green-bright) !important; }
.gm-auth .card-btn-primary { background: var(--gm-green) !important; border-color: var(--gm-green) !important; color: #fff !important; border-radius: 10px !important; box-shadow: none !important; letter-spacing: 0 !important; }
.gm-auth .card-btn-primary:hover { background: var(--gm-green-dark) !important; transform: none !important; box-shadow: none !important; }
.gm-auth .card-link, .gm-auth .card-link strong { color: var(--gm-green) !important; }
.gm-auth .form-input { background: #fff !important; border: 1px solid #cdddcf !important; color: var(--gm-ink) !important; border-radius: 9px !important; }
.gm-auth .form-input::placeholder { color: #8b998e !important; }
.gm-auth .demo-card .box, .gm-auth .demo-card .box-body,
.gm-auth .demo-card .box-header { background: #fff !important; color: var(--gm-ink) !important; }
.gm-auth .demo-card h4, .gm-auth .demo-card small { color: var(--gm-ink) !important; }
@media (max-width: 767px) {
  .gm-app .gm-module-nav .navbar { margin: 12px !important; }
  .gm-app .gm-module-nav .navbar-nav { margin: 0; }
}
.gm-auth .app-name {
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: currentColor !important;
  color: var(--gm-ink) !important;
  text-transform: none !important;
  letter-spacing: -.055em !important;
}
.gm-auth .app-name span { -webkit-text-fill-color: var(--gm-green-bright) !important; }
.gm-auth .app-subtitle { background: var(--gm-soft) !important; border-color: #cbe5cf !important; color: var(--gm-green-dark) !important; letter-spacing: .045em !important; }
.gm-auth .card-divider { background: var(--gm-border) !important; }
.gm-auth .card-btn-outline { background: #fff !important; border: 1px solid var(--gm-border) !important; color: var(--gm-green) !important; border-radius: 10px !important; box-shadow: none !important; }
.gm-auth .card-btn-outline:hover { background: var(--gm-soft) !important; border-color: #b9d9bf !important; transform: none !important; }
.gm-auth .card-logo { border: 0 !important; border-radius: 0 !important; padding: 0 !important; width: 72px !important; height: 72px !important; }
.gm-app .gp-sidebar { position: relative; overflow: hidden; }
.gm-app .gp-sidebar-menu { overflow-y: auto; position: relative; z-index: 1; }
.gm-app .gp-menu-item { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.gm-app .gp-menu-item i, .gm-app .gp-menu-item svg { width: 18px; height: 18px; flex: none; }
.gm-app .gp-child-list { padding-left: 12px; }
.gm-app .gp-child-item { display: flex; align-items: center; gap: 10px; text-decoration: none; }
/* Floating tools stay readable and keep their established interactions. */
.gm-app .popover { background: #fff !important; border: 1px solid var(--gm-border) !important; border-radius: 12px !important; box-shadow: 0 16px 40px rgba(20,50,25,.14) !important; }
.gm-app .popover-title { background: #f8fbf7 !important; border-color: var(--gm-border) !important; color: var(--gm-ink) !important; }
.gm-app .popover-content { color: var(--gm-ink) !important; }
.gm-app .gp-calc-popover { width: 280px !important; max-width: 280px !important; }
.gm-app #calculator.gp-calculator { width: 240px; padding: 8px; background: #fff; }
.gm-app #calculator .gp-calc-form { margin-bottom: 8px; }
.gm-app #calculator .gp-calc-grid { display: flex; flex-direction: column; gap: 8px; }
.gm-app #calculator .gp-calc-row { display: flex; gap: 8px; }
.gm-app #calculator .gp-calc-screen { width: 100%; padding: 9px 12px; text-align: right; font-size: 20px; font-weight: 700; color: var(--gm-ink); background: #f7faf6; border: 1px solid var(--gm-border); border-radius: 9px; }
.gm-app #calculator .gp-calc-btn { flex: 1; min-width: 0; padding: 9px 0; color: var(--gm-ink); background: #fff; border: 1px solid var(--gm-border); border-radius: 8px; font-weight: 700; cursor: pointer; }
.gm-app #calculator .gp-calc-btn:hover { background: var(--gm-soft); border-color: #b9d9bf; }
.gm-app #calculator .gp-calc-op { background: var(--gm-soft); color: var(--gm-green-dark); }
.gm-app #calculator .gp-calc-danger { background: #fff0ef; color: #a82e28; }
.gm-app #calculator .gp-calc-warn { background: #fff8e5; color: #805b08; }
.gm-app #calculator .gp-calc-zero { flex: 2; }
.gm-app #calculator .gp-calc-equals { background: var(--gm-green); border-color: var(--gm-green); color: #fff; }
.gm-app #calculator .gp-calc-equals:hover { background: var(--gm-green-dark); color: #fff; }
.gm-app .daterangepicker { background: #fff !important; border: 1px solid var(--gm-border) !important; border-radius: 12px !important; box-shadow: 0 18px 45px rgba(20,50,25,.15) !important; color: var(--gm-ink) !important; }
.gm-app .daterangepicker .ranges li { color: var(--gm-ink) !important; border-radius: 8px !important; }
.gm-app .daterangepicker .ranges li:hover, .gm-app .daterangepicker .ranges li.active { background: var(--gm-soft) !important; color: var(--gm-green-dark) !important; }
.gm-app .daterangepicker .calendar-table { background: #fff !important; }
.gm-app .daterangepicker td.active, .gm-app .daterangepicker td.active:hover { background: var(--gm-green) !important; color: #fff !important; }
.gm-app .daterangepicker td.in-range { background: var(--gm-soft) !important; color: var(--gm-ink) !important; }
.gm-app .daterangepicker .drp-buttons { border-color: var(--gm-border) !important; }
.gm-app .modal, .gm-app .modal.in, .gm-app .modal.show { z-index: 5000 !important; }
.gm-app .modal-backdrop { z-index: 4990 !important; }
.gm-app .gp-online { width: 9px; height: 9px; flex: none; border-radius: 50%; }
.gm-app .gp-menu-header { text-transform: uppercase; font-weight: 750; }
.gm-app .gp-child-list { margin-left: 20px; border-left-style: solid; border-left-width: 1px; }
.gm-app .gp-child-item { font-size: 12px; }
.gm-app #gp-profile-menu { position: fixed; z-index: 99999; width: 220px; margin: 0; padding: 8px; list-style: none; background: #fff; border: 1px solid var(--gm-border); border-radius: 12px; box-shadow: 0 18px 40px rgba(20,50,25,.15); }
.gm-app .gm-profile-heading { padding: 10px 12px 9px; border-bottom: 1px solid var(--gm-border); margin-bottom: 5px; }
.gm-app .gm-profile-caption { margin: 0; color: var(--gm-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; font-weight: 750; }
.gm-app .gm-profile-name { margin: 4px 0 0; font-size: 13px; font-weight: 700; color: var(--gm-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gm-app .gm-profile-link { display: flex; align-items: center; gap: 8px; padding: 9px 12px; font-size: 13px; font-weight: 650; color: var(--gm-ink); border-radius: 8px; text-decoration: none; }
.gm-app .gm-profile-link:hover { background: var(--gm-soft); color: var(--gm-green); }
.gm-app .gm-profile-signout { color: #a82e28; }
.gm-app .gm-profile-signout:hover { background: #fff0ef; color: #a82e28; }
.gm-app .sp-card, .gm-app .sp-tabs .tab-content, .gm-app .sp-stat-box,
.gm-app .report-card { background: #fff !important; border: 1px solid var(--gm-border) !important; box-shadow: var(--gm-shadow) !important; border-radius: 12px !important; backdrop-filter: none !important; }
.gm-app .sp-card h4, .gm-app .sp-filter-bar label, .gm-app .report-section-title { color: var(--gm-green-dark) !important; border-color: #b9dec0 !important; }
.gm-app .sp-table { color: var(--gm-ink) !important; }
.gm-app .sp-table th { background: #f4f9f3 !important; color: #536459 !important; border-color: var(--gm-border) !important; }
.gm-app .sp-table td, .gm-app .sp-table td:first-child { color: var(--gm-ink) !important; border-color: var(--gm-border) !important; }
.gm-app .sp-table tr:hover td { background: var(--gm-soft) !important; }
.gm-app .sp-table tfoot td { background: #e9f6e9 !important; color: var(--gm-green-dark) !important; }
.gm-app .sp-table .zero { color: #a1ada3 !important; }
.gm-app .sp-badge { background: #e3f4e5 !important; color: var(--gm-green-dark) !important; }
.gm-app .sp-tabs .nav-tabs > li > a { background: #fff !important; color: var(--gm-muted) !important; }
.gm-app .sp-tabs .nav-tabs > li.active > a { background: var(--gm-soft) !important; color: var(--gm-green-dark) !important; border-color: var(--gm-border) !important; }
.gm-app .sp-filter-bar select { background: #fff !important; color: var(--gm-ink) !important; border-color: #cdddcf !important; }
.gm-app .sp-filter-bar .btn-apply { background: var(--gm-green) !important; color: #fff !important; }
.gm-app .sp-loading, .gm-app .sp-stat-box .lbl { color: var(--gm-muted) !important; }
.gm-app .sp-stat-box .val { color: var(--gm-green-dark) !important; }
.gm-app .report-card { border-top: 3px solid var(--gm-green-bright) !important; }
.gm-app .report-card .card-header h3 { color: var(--gm-ink) !important; }
.gm-app .report-card .card-body p { color: var(--gm-muted) !important; }
.gm-app .report-card .card-icon { color: var(--gm-green-bright) !important; }
.gm-app .gm-widget, .gm-app .gm-static-card { background: #fff !important; border: 1px solid var(--gm-border) !important; border-radius: var(--gm-radius) !important; box-shadow: var(--gm-shadow) !important; }
.gm-app .gm-module-nav nav { background: #fff !important; border: 1px solid var(--gm-border) !important; border-radius: 12px !important; box-shadow: var(--gm-shadow); margin: 16px 20px 0 !important; color: var(--gm-ink) !important; }
.gm-app .gm-module-nav .navbar-toggle { border-color: var(--gm-border) !important; }
.gm-app .gm-module-nav .navbar-toggle .icon-bar { background: var(--gm-green-dark) !important; }
.gm-app .superadmin-nav .nav.navbar-nav > li > a { color: var(--gm-muted) !important; font-weight: 650; }
.gm-app .superadmin-nav .nav.navbar-nav > li > a:hover,
.gm-app .superadmin-nav .nav.navbar-nav > li.active > a { color: var(--gm-green-dark) !important; background: var(--gm-soft) !important; }
.gm-auth .glass-card { box-sizing: border-box !important; width: min(540px, calc(100vw - 36px)) !important; max-width: 100% !important; }
@media (max-width: 600px) {
  .gm-auth .glass-card { padding: 38px 24px 32px !important; }
  .gm-auth .login-grid { width: 100%; }
  .gm-auth .card-actions { flex-wrap: wrap; justify-content: center; }
}
/* Tailwind/Daisy controls used alongside Bootstrap keep the same hierarchy. */
.gm-app .tw-dw-btn { border-radius: 9px !important; font-weight: 700 !important; box-shadow: none !important; }
.gm-app .tw-dw-btn-primary, .gm-app .tw-dw-btn-success,
.gm-app .tw-dw-btn:not(.tw-dw-btn-outline).tw-dw-btn-info { background: var(--gm-green) !important; border-color: var(--gm-green) !important; color: #fff !important; }
.gm-app .tw-dw-btn-primary:hover, .gm-app .tw-dw-btn-success:hover { background: var(--gm-green-dark) !important; border-color: var(--gm-green-dark) !important; }
.gm-app .tw-dw-btn-outline, .gm-app .tw-dw-btn-neutral { background: #fff !important; border: 1px solid var(--gm-border) !important; color: var(--gm-ink) !important; }
.gm-app .tw-dw-btn-outline:hover, .gm-app .tw-dw-btn-neutral:hover { background: var(--gm-soft) !important; color: var(--gm-green) !important; }
.gm-app .tw-dw-btn-error { background: #fff0ef !important; border-color: #f3c6c3 !important; color: #a82e28 !important; }
.gm-app .tw-dw-btn-warning { background: #fff8e5 !important; border-color: #f1dfa2 !important; color: #805b08 !important; }
.gm-app .tw-dw-btn-info.tw-dw-btn-outline { background: var(--gm-soft) !important; border-color: #cbe5cf !important; color: var(--gm-green-dark) !important; }
.gm-app .tw-dw-input, .gm-app .tw-dw-select { background: #fff !important; border-color: #cdddcf !important; color: var(--gm-ink) !important; border-radius: 9px !important; }
/* Registration has more fields than sign-in and keeps a wider form canvas. */
.gm-auth .register-wrap { position: relative !important; min-height: 100vh; padding: 88px 18px 32px !important; }
.gm-auth .register-card { box-sizing: border-box !important; width: min(980px, calc(100vw - 36px)) !important; max-width: 100% !important; background: #fff !important; border: 1px solid var(--gm-border) !important; border-radius: 20px !important; box-shadow: 0 18px 55px rgba(18,60,25,.08) !important; backdrop-filter: none !important; }
.gm-auth .glass-card.register-card { width: min(720px, calc(100vw - 36px)) !important; }
.gm-auth .register-card::before { display: none !important; }
.gm-auth .register-title { background: none !important; -webkit-background-clip: border-box !important; background-clip: border-box !important; -webkit-text-fill-color: currentColor !important; color: var(--gm-ink) !important; letter-spacing: -.04em !important; text-transform: none !important; }
.gm-auth .register-subtitle { background: var(--gm-soft) !important; border-color: #cbe5cf !important; color: var(--gm-green-dark) !important; }
.gm-auth .register-card label { color: #536459 !important; letter-spacing: .045em !important; }
.gm-auth .register-card .input-group-addon { background: #f4f8f3 !important; color: var(--gm-green) !important; border-color: #cdddcf !important; }
.gm-auth .register-card .select2-container--default .select2-selection--single { background: #fff !important; border-color: #cdddcf !important; border-radius: 9px !important; }
.gm-auth .register-card .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--gm-ink) !important; }
.gm-auth .register-card .btn-success { background: var(--gm-green) !important; border-color: var(--gm-green) !important; color: #fff !important; border-radius: 9px !important; box-shadow: none !important; letter-spacing: 0 !important; }
.gm-auth .reg-step-circle { background: #f5faf4 !important; border-color: var(--gm-border) !important; color: var(--gm-muted) !important; box-shadow: none !important; }
.gm-auth .reg-step.active .reg-step-circle { background: var(--gm-green) !important; border-color: var(--gm-green) !important; color: #fff !important; }
.gm-auth .reg-step.completed .reg-step-circle { background: var(--gm-soft) !important; border-color: var(--gm-green-bright) !important; color: var(--gm-green) !important; }
@media (max-width: 600px) { .gm-auth .register-card { padding: 32px 20px !important; max-height: none !important; } }
.gm-app .gm-footer { position: fixed; bottom: 0; right: 0; z-index: 50; padding: 5px 14px; background: rgba(245,248,243,.95); border-top-left-radius: 8px; }
.gm-app .gm-footer p, .gm-app footer.no-print small { margin: 0; color: #79897c !important; font-size: 10px; }
.gm-auth .register-title span { color: var(--gm-green-bright); -webkit-text-fill-color: var(--gm-green-bright); }
.gm-auth .register-card .card-logo { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
.gm-auth .reg-step-label { color: var(--gm-muted) !important; }
.gm-auth .reg-step.active .reg-step-label, .gm-auth .reg-step.completed .reg-step-label { color: var(--gm-green-dark) !important; }
.gm-auth .reg-step-line { background: var(--gm-border) !important; }
.gm-auth .reg-step-line.done { background: var(--gm-green-bright) !important; }
@media (max-width: 600px) {
  .gm-auth .register-wrap { overflow-x: hidden; }
  .gm-auth .register-card { min-width: 0 !important; }
  .gm-auth .register-card #step-panel-1 > [class*="col-"],
  .gm-auth .register-card #step-panel-2 > [class*="col-"] { width: 100%; float: none; padding-left: 0; padding-right: 0; }
}
.gm-auth, .gm-auth input, .gm-auth select, .gm-auth button { font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif !important; }
.gm-auth .gm-password-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; }
.gm-auth .gm-password-heading a { margin-left: auto; font-size: 11px !important; font-weight: 650 !important; letter-spacing: 0 !important; text-transform: none !important; white-space: nowrap; }
.gm-auth #show_hide_icon svg { stroke: var(--gm-muted) !important; }
/* The document canvas is established before body content can paint. */
html.gm-document { background: var(--gm-canvas) !important; }

/* Superadmin business onboarding. */
:is(.gm-app, .gm-auth) .gm-business-create { max-width: 1240px; margin: 0 auto; padding: 28px 32px 56px; }
:is(.gm-app, .gm-auth) .gm-setup-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
:is(.gm-app, .gm-auth) .gm-setup-back { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 650; color: var(--gm-muted); margin-bottom: 18px; }
:is(.gm-app, .gm-auth) .gm-setup-back:hover { color: var(--gm-green); }
:is(.gm-app, .gm-auth) .gm-setup-header h1 { margin: 0 0 9px; font-size: 30px; line-height: 1.2; font-weight: 750; letter-spacing: -.035em; }
:is(.gm-app, .gm-auth) .gm-setup-header p { margin: 0; max-width: 600px; font-size: 13px; line-height: 1.7; color: var(--gm-muted); }
:is(.gm-app, .gm-auth) .gm-setup-badge { display: inline-flex; align-items: center; gap: 7px; padding: 8px 12px; border-radius: 30px; background: #e8f4e8; border: 1px solid #cde4cf; font-size: 11px; font-weight: 700; color: var(--gm-green-dark); white-space: nowrap; }
:is(.gm-app, .gm-auth) .gm-setup-layout { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 28px; align-items: start; }
:is(.gm-app, .gm-auth) .gm-setup-card { background: #fff; border: 1px solid var(--gm-border); border-radius: 18px; box-shadow: 0 8px 32px rgba(25,60,30,.04); padding: 30px; scroll-margin-top: 18px; min-width: 0; }
:is(.gm-app, .gm-auth) .gm-setup-card form { margin: 0; }
:is(.gm-app, .gm-auth) .gm-setup-card .reg-step-bar { display: flex; align-items: center; gap: 18px; padding-bottom: 24px; margin-bottom: 28px; border-bottom: 1px solid var(--gm-border); }
:is(.gm-app, .gm-auth) .gm-setup-card .reg-step { display: flex; align-items: center; gap: 10px; }
:is(.gm-app, .gm-auth) .gm-setup-card .reg-step-circle { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: #f4f7f2; color: var(--gm-muted); border: 1px solid var(--gm-border); font-size: 12px; font-weight: 750; }
:is(.gm-app, .gm-auth) .gm-setup-card .reg-step-label { font-size: 12px; font-weight: 700; color: var(--gm-muted); }
:is(.gm-app, .gm-auth) .gm-setup-card .reg-step.active .reg-step-circle { background: var(--gm-green); color: #fff; border-color: var(--gm-green); }
:is(.gm-app, .gm-auth) .gm-setup-card .reg-step.active .reg-step-label, :is(.gm-app, .gm-auth) .gm-setup-card .reg-step.completed .reg-step-label { color: var(--gm-green-dark); }
:is(.gm-app, .gm-auth) .gm-setup-card .reg-step.completed .reg-step-circle { background: #e8f4e8; color: var(--gm-green); border-color: #c4dec7; }
:is(.gm-app, .gm-auth) .gm-setup-card .reg-step-line { flex: 1; height: 1px; background: var(--gm-border); max-width: 90px; }
:is(.gm-app, .gm-auth) .gm-setup-card .reg-step-line.done { background: var(--gm-green); }
:is(.gm-app, .gm-auth) .gm-setup-card form:not([data-registration-layout="single-page"]) #step-panel-2 { display: none; }
:is(.gm-app, .gm-auth) .gm-setup-card #step-panel-1, :is(.gm-app, .gm-auth) .gm-setup-card #step-panel-2 { margin: 0 -10px; }
:is(.gm-app, .gm-auth) .gm-setup-card [class*="col-md-"] { padding-left: 10px; padding-right: 10px; }
:is(.gm-app, .gm-auth) .gm-step-heading { padding: 0 10px; margin-bottom: 24px; }
:is(.gm-app, .gm-auth) .gm-step-heading h2 { font-size: 20px; font-weight: 750; letter-spacing: -.025em; margin: 0 0 8px; }
:is(.gm-app, .gm-auth) .gm-step-heading p, :is(.gm-app, .gm-auth) .gm-setup-section-heading p { font-size: 12px; line-height: 1.7; color: var(--gm-muted); margin: 0; }
:is(.gm-app, .gm-auth) .gm-setup-card .form-group { margin-bottom: 22px; }
:is(.gm-app, .gm-auth) .gm-setup-card label { font-size: 12px; font-weight: 650; color: #43554a; margin-bottom: 8px; }
:is(.gm-app, .gm-auth) .gm-setup-card .form-control { height: 44px; font-size: 12px; padding: 10px 12px; }
:is(.gm-app, .gm-auth) .gm-setup-card .input-group-addon { background: #f5f8f3 !important; color: #729179 !important; border: 1px solid #cdddcf !important; border-right: 0 !important; border-radius: 8px 0 0 8px !important; min-width: 40px; }
:is(.gm-app, .gm-auth) .gm-setup-card .input-group .form-control { border-radius: 0 8px 8px 0 !important; }
:is(.gm-app, .gm-auth) .gm-setup-card .input-group { width: 100%; }
:is(.gm-app, .gm-auth) .gm-setup-card label.error { color: #b23b35 !important; font-size: 11px; font-weight: 500; margin-top: 7px; margin-bottom: 0; }
:is(.gm-app, .gm-auth) .gm-field-hint { font-size: 11px; color: var(--gm-muted); margin: 7px 0 0; }
:is(.gm-app, .gm-auth) .gm-setup-card .btn { min-height: 44px; padding: 11px 20px; font-size: 12px; }
:is(.gm-app, .gm-auth) .gm-setup-card #btn-to-step2 { margin-top: 5px; }
:is(.gm-app, .gm-auth) .gm-setup-section-heading { clear: both; border-top: 1px solid var(--gm-border); padding: 22px 0 0; margin: 0 10px 22px; }
:is(.gm-app, .gm-auth) .gm-setup-section-heading h3 { font-size: 15px; font-weight: 750; margin: 0 0 6px; }
:is(.gm-app, .gm-auth) .gm-setup-section-heading h3 span { display: inline-block; margin-left: 6px; padding: 3px 7px; border-radius: 5px; background: #f2f5f0; color: var(--gm-muted); font-size: 10px; font-weight: 500; vertical-align: middle; }
:is(.gm-app, .gm-auth) .gm-setup-guide { padding: 26px 0; }
:is(.gm-app, .gm-auth) .gm-guide-mark { display: flex; align-items: center; justify-content: center; width: 68px; height: 68px; border-radius: 18px; background: #e9f3e4; border: 1px solid #d6e5cf; margin-bottom: 24px; }
:is(.gm-app, .gm-auth) .gm-setup-guide h2 { font-size: 22px; font-weight: 750; letter-spacing: -.04em; margin: 0 0 10px; }
:is(.gm-app, .gm-auth) .gm-setup-guide p { font-size: 12px; line-height: 1.8; color: var(--gm-muted); margin: 0; }
:is(.gm-app, .gm-auth) .gm-setup-guide ol { list-style: none; padding: 0; margin: 28px 0; }
:is(.gm-app, .gm-auth) .gm-setup-guide li { display: flex; align-items: start; gap: 12px; margin-bottom: 22px; }
:is(.gm-app, .gm-auth) .gm-setup-guide li > span { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 25px; height: 25px; border: 1px solid #cdddcf; border-radius: 50%; font-size: 10px; font-weight: 700; color: var(--gm-green); background: #fff; }
:is(.gm-app, .gm-auth) .gm-setup-guide strong { display: block; font-size: 12px; font-weight: 700; margin-bottom: 5px; }
:is(.gm-app, .gm-auth) .gm-guide-note { display: flex; gap: 12px; border-top: 1px solid #d6e3d5; padding-top: 22px; }
:is(.gm-app, .gm-auth) .gm-guide-note > i { color: var(--gm-green); margin-top: 3px; }
@media (max-width: 1199px) {
  :is(.gm-app, .gm-auth) .gm-setup-layout { grid-template-columns: minmax(0, 1fr) 220px; gap: 20px; }
  :is(.gm-app, .gm-auth) .gm-business-create { padding: 24px 22px 48px; }
  :is(.gm-app, .gm-auth) .gm-setup-card { padding: 24px; }
}
@media (max-width: 991px) {
  :is(.gm-app, .gm-auth) .gm-setup-layout { grid-template-columns: minmax(0, 1fr); }
  :is(.gm-app, .gm-auth) .gm-setup-guide { display: none; }
  :is(.gm-app, .gm-auth) .gm-setup-card [class*="col-md-"] { width: 100%; float: none; }
}
@media (max-width: 600px) {
  :is(.gm-app, .gm-auth) .gm-business-create { padding: 22px 14px 40px; }
  :is(.gm-app, .gm-auth) .gm-setup-header { display: block; margin-bottom: 20px; }
  :is(.gm-app, .gm-auth) .gm-setup-header h1 { font-size: 25px; }
  :is(.gm-app, .gm-auth) .gm-setup-badge { margin-top: 14px; }
  :is(.gm-app, .gm-auth) .gm-setup-card { padding: 22px 18px; }
  :is(.gm-app, .gm-auth) .gm-setup-card .reg-step-bar { gap: 10px; }
  :is(.gm-app, .gm-auth) .gm-setup-card .reg-step { gap: 7px; }
  :is(.gm-app, .gm-auth) .gm-setup-card .reg-step-label { font-size: 11px; }
}

/* Public registration is one continuous form on the document canvas. */
.gm-auth .gm-public-register { padding-top: 118px; padding-bottom: 48px; max-width: 1180px; }
.gm-auth .gm-public-register .gm-setup-header { align-items: flex-end; }
.gm-auth .gm-registration-eyebrow { display: block; font-size: 10px; font-weight: 750; letter-spacing: .12em; color: var(--gm-green); margin-bottom: 12px; }
.gm-auth .gm-registration-signin { max-width: 200px; font-size: 12px; line-height: 1.8; color: var(--gm-muted); text-align: right; }
.gm-auth .gm-registration-signin strong { color: var(--gm-green); white-space: nowrap; }
.gm-auth .gm-public-register #step-panel-2 { display: block; }
.gm-auth .gm-registration-business-heading { border-top: 1px solid var(--gm-border); padding-top: 26px; margin: 6px 10px 24px; padding-left: 0; padding-right: 0; }
.gm-auth .gm-public-register .form-control { background: #fff !important; color: var(--gm-ink) !important; border: 1px solid #cdddcf !important; border-radius: 8px !important; box-shadow: none !important; font-weight: 500; }
.gm-auth .gm-public-register .form-control::placeholder { color: #87988a; font-weight: 400; }
.gm-auth .gm-public-register .form-control:focus { border-color: var(--gm-green) !important; outline: 2px solid rgba(22,170,61,.13); outline-offset: 1px; }
.gm-auth .gm-public-register input:-webkit-autofill { -webkit-text-fill-color: var(--gm-ink) !important; box-shadow: 0 0 0 1000px #f4faf2 inset !important; -webkit-box-shadow: 0 0 0 1000px #f4faf2 inset !important; caret-color: var(--gm-ink); }
.gm-auth .gm-public-register .btn-success { background: var(--gm-green) !important; color: #fff !important; border: 1px solid var(--gm-green) !important; border-radius: 8px !important; font-weight: 700; }
.gm-auth .gm-public-register .btn-success:hover { background: var(--gm-green-dark) !important; }
.gm-auth .gm-public-register .btn-success { width: 100%; margin-top: 6px; }
.gm-auth .gm-registration-benefits { padding: 0; list-style: none; margin: 28px 0; }
.gm-auth .gm-registration-benefits li { display: flex; gap: 12px; margin-bottom: 24px; }
.gm-auth .gm-registration-benefits li > i { display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; flex-shrink: 0; background: #e9f3e4; color: var(--gm-green); border-radius: 50%; font-size: 10px; }
@media (max-width: 991px) {
  .gm-auth .gm-public-register { max-width: 800px; }
}
@media (max-width: 600px) {
  .gm-auth .gm-public-register { padding-top: 96px; }
  .gm-auth .gm-public-register .gm-registration-signin { display: block; text-align: left; max-width: none; margin-top: 14px; }
}
.gm-auth:has(.gm-public-register) .container-fluid,
.gm-auth:has(.gm-public-register) .eq-height-row,
.gm-auth:has(.gm-public-register) .right-col { background: transparent !important; background-image: none !important; height: auto !important; padding: 0 !important; margin: 0 !important; }
.gm-auth:has(.gm-public-register) .right-col > .row:first-child { display: none !important; }
.gm-auth .gm-public-register h1,
.gm-auth .gm-public-register h2,
.gm-auth .gm-public-register h3 { color: var(--gm-ink) !important; }
.gm-auth:has(.gm-public-register) { overflow-x: hidden; }

/* Sign-in shares the registration identity and keeps tenant context visible. */
.gm-auth:has(.gm-login-page) { overflow-x: hidden; }
.gm-auth:has(.gm-login-page) .container-fluid,
.gm-auth:has(.gm-login-page) .eq-height-row,
.gm-auth:has(.gm-login-page) .right-col { background: transparent !important; background-image: none !important; height: auto !important; margin: 0 !important; padding: 0 !important; }
.gm-auth:has(.gm-login-page) .right-col > .row:first-child { display: none !important; }
.gm-auth:has(.gm-login-page) .gm-auth-brand { position: absolute; }
.gm-auth .gm-login-page { box-sizing: border-box; width: 100%; max-width: 1100px; margin: 0 auto; padding: 120px 40px 60px; min-height: 100vh; display: flex; flex-direction: column; justify-content: center; }
.gm-auth .gm-login-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); align-items: center; gap: 88px; }
.gm-auth .gm-login-intro h1 { color: var(--gm-ink) !important; font-size: 48px; line-height: 1.13; font-weight: 750; letter-spacing: -.045em; margin: 18px 0; }
.gm-auth .gm-login-intro > p { max-width: 350px; font-size: 14px; color: var(--gm-muted); line-height: 1.9; margin: 0; }
.gm-auth .gm-login-store { background: #fff; border: 1px solid var(--gm-border); border-radius: 14px; overflow: hidden; margin: 34px 0 24px; max-width: 360px; box-shadow: 0 8px 24px rgba(25,60,30,.035); }
.gm-auth .gm-login-awning { display: flex; height: 18px; background: #f3f8ee; }
.gm-auth .gm-login-awning span { flex: 1; background: var(--gm-green-bright); border-radius: 0 0 14px 14px; }
.gm-auth .gm-login-awning span:nth-child(even) { background: var(--gm-lime); }
.gm-auth .gm-login-store-body { display: flex; align-items: center; gap: 18px; padding: 28px 24px; }
.gm-auth .gm-login-store-body img { flex-shrink: 0; }
.gm-auth .gm-login-store-body strong { font-size: 13px; font-weight: 750; }
.gm-auth .gm-login-store-body p { font-size: 11px; color: var(--gm-muted); margin: 6px 0 0; }
.gm-auth .gm-login-intro-footer { font-size: 11px; color: var(--gm-muted); display: flex; align-items: center; gap: 8px; }
.gm-auth .gm-login-intro-footer i { color: var(--gm-green); }
.gm-auth .gm-login-card { background: #fff; border: 1px solid var(--gm-border); border-radius: 18px; padding: 36px; box-shadow: 0 12px 40px rgba(25,60,30,.055); min-width: 0; }
.gm-auth .gm-login-business { display: flex; align-items: center; gap: 12px; margin-bottom: 30px; padding-bottom: 24px; border-bottom: 1px solid var(--gm-border); }
.gm-auth .gm-login-business > span { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 40px; height: 40px; background: #edf6e9; border: 1px solid #d7e7d1; border-radius: 10px; color: var(--gm-green); font-size: 17px; }
.gm-auth .gm-login-business small { display: block; font-size: 9px; font-weight: 650; letter-spacing: .08em; color: var(--gm-muted); margin-bottom: 5px; }
.gm-auth .gm-login-business strong { display: block; font-size: 13px; line-height: 1.5; font-weight: 750; overflow-wrap: anywhere; }
.gm-auth .gm-login-card h2 { margin: 0 0 9px; font-size: 22px; letter-spacing: -.03em; font-weight: 750; color: var(--gm-ink) !important; }
.gm-auth .gm-login-description { margin: 0 0 28px; color: var(--gm-muted); font-size: 12px; }
.gm-auth .gm-login-field { margin-bottom: 22px; }
.gm-auth .gm-login-field label { display: block; font-size: 12px; font-weight: 650; color: #43554a; margin-bottom: 9px; }
.gm-auth .gm-login-field .form-control { background: #fff !important; border: 1px solid #cdddcf !important; border-radius: 8px !important; color: var(--gm-ink) !important; font-size: 13px; font-weight: 500; height: 48px; padding: 12px 14px; box-shadow: none !important; }
.gm-auth .gm-login-field .form-control::placeholder { color: #87988a; font-weight: 400; }
.gm-auth .gm-login-field .form-control:focus { outline: 2px solid rgba(22,170,61,.13); outline-offset: 1px; border-color: var(--gm-green) !important; }
.gm-auth .gm-login-field input:is(:-webkit-autofill, :autofill) { -webkit-text-fill-color: var(--gm-ink) !important; box-shadow: 0 0 0 1000px #f4faf2 inset !important; -webkit-box-shadow: 0 0 0 1000px #f4faf2 inset !important; caret-color: var(--gm-ink); }
.gm-auth .gm-login-password-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; }
.gm-auth .gm-login-password-heading a { font-size: 11px; font-weight: 650; margin-bottom: 9px; }
.gm-auth .gm-login-password { position: relative; }
.gm-auth .gm-login-password .form-control { padding-right: 48px; }
.gm-auth .gm-login-password button { position: absolute; right: 5px; top: 5px; width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; border: 0; border-radius: 6px; background: transparent; color: var(--gm-muted); cursor: pointer; }
.gm-auth .gm-login-password button:hover { background: #edf6e9; color: var(--gm-green); }
.gm-auth .gm-login-password button:focus-visible { outline: 2px solid var(--gm-green); outline-offset: 1px; }
.gm-auth .gm-login-submit { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; height: 48px; border-radius: 8px; background: var(--gm-green) !important; font-size: 13px; font-weight: 750; border: 1px solid var(--gm-green); margin-top: 6px; }
.gm-auth .gm-login-submit:hover { background: var(--gm-green-dark) !important; }
.gm-auth .gm-login-submit i { font-size: 11px; }
.gm-auth .gm-login-register { font-size: 11px; line-height: 1.8; color: var(--gm-muted); text-align: center; margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--gm-border); }
.gm-auth .gm-login-register a { font-weight: 700; white-space: nowrap; }
.gm-auth .gm-login-error { color: #b23b35; font-size: 11px; line-height: 1.7; margin: 8px 0 0; }
.gm-auth .gm-login-field input[aria-invalid=true] { border-color: #c5635e !important; }
.gm-auth .gm-login-demo { margin-top: 36px; }
@media (max-width: 991px) {
  .gm-auth .gm-login-layout { gap: 40px; }
  .gm-auth .gm-login-intro h1 { font-size: 40px; }
  .gm-auth .gm-login-page { padding-left: 28px; padding-right: 28px; }
  .gm-auth .gm-login-card { padding: 28px; }
}
@media (max-width: 767px) {
  .gm-auth .gm-login-page { max-width: 500px; padding: 108px 18px 32px; justify-content: flex-start; }
  .gm-auth .gm-login-layout { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .gm-auth .gm-login-intro h1 { font-size: 30px; margin: 12px 0; }
  .gm-auth .gm-login-intro h1 br { display: none; }
  .gm-auth .gm-login-intro > p { font-size: 12px; max-width: none; }
  .gm-auth .gm-login-store, .gm-auth .gm-login-intro-footer { display: none; }
  .gm-auth .gm-login-card { padding: 26px 22px; }
  .gm-auth .gm-login-business { margin-bottom: 24px; padding-bottom: 20px; }
  .gm-auth .gm-login-card h2 { font-size: 21px; }
}

/* Primary actions use the identity palette, including legacy gradient controls. */
.gm-app :is(.tw-dw-btn, .btn, button, a[role="button"], input[type="submit"]).tw-bg-gradient-to-r:is([class*="tw-from-indigo-"], [class*="tw-from-blue-"]) {
  background: var(--gm-green) !important;
  border-color: var(--gm-green) !important;
  color: #fff !important;
  --tw-gradient-from: var(--gm-green);
  --tw-gradient-to: var(--gm-green);
}
.gm-app :is(.tw-dw-btn, .btn, button, a[role="button"], input[type="submit"]).tw-bg-gradient-to-r:is([class*="tw-from-indigo-"], [class*="tw-from-blue-"]):hover {
  background: var(--gm-green-dark) !important;
  color: #fff !important;
}
.gm-app .gm-main > .gm-header a[type="button"] {
  background: #fff !important;
  border: 1px solid var(--gm-border) !important;
  color: var(--gm-ink) !important;
  box-shadow: none !important;
}
.gm-app .gm-main > .gm-header a[type="button"]:hover {
  background: var(--gm-soft) !important;
  border-color: #bddbc2 !important;
  color: var(--gm-green) !important;
}
.gm-app .gm-main > .gm-header .gm-header-primary {
  background: var(--gm-green) !important;
  border: 1px solid var(--gm-green) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.gm-app .gm-main > .gm-header .gm-header-primary:hover {
  background: var(--gm-green-dark) !important;
  border-color: var(--gm-green-dark) !important;
  color: #fff !important;
}

/* Vertical settings tabs share the application action palette. */
.gm-app .pos-tab-menu .list-group > a {
  background: #fff !important;
  border-color: var(--gm-border) !important;
  color: var(--gm-green-dark) !important;
}
.gm-app .pos-tab-menu .list-group > a:hover {
  background: var(--gm-soft) !important;
  color: var(--gm-green-dark) !important;
}
.gm-app .pos-tab-menu .list-group > a.active {
  background: var(--gm-green) !important;
  border-color: var(--gm-green) !important;
  color: #fff !important;
}
.gm-app .pos-tab-menu .list-group > a.active:hover {
  background: var(--gm-green-dark) !important;
  border-color: var(--gm-green-dark) !important;
}
.gm-app .pos-tab-menu .list-group > a.active::after { border-left-color: var(--gm-green) !important; }
.gm-app .pos-tab-menu .list-group > a :is(.glyphicon, .fa) { background: transparent !important; color: inherit !important; }

/* Homepage: overview, financial summary, then operational detail. */
.gm-app .gm-dashboard { max-width: 1600px; margin: 0 auto; padding: 30px 28px 56px; }
.gm-app .gm-dashboard-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; margin-bottom: 32px; }
.gm-app .gm-dashboard-eyebrow { display: block; font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--gm-muted); margin-bottom: 10px; }
.gm-app .gm-dashboard-heading h1 { font-size: clamp(24px, 2.5vw, 34px); letter-spacing: -.04em; line-height: 1.25; font-weight: 750; margin: 0 0 8px; }
.gm-app .gm-dashboard-heading p { color: var(--gm-muted); font-size: 13px; margin: 0; }
.gm-app .gm-dashboard-shortcuts { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.gm-app .gm-dashboard-shortcuts a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 10px 14px; font-size: 12px; }
.gm-app .gm-dashboard-shortcuts i { font-size: 11px; }
.gm-app .gm-dashboard-summary { margin-bottom: 28px; }
.gm-app .gm-dashboard-summary-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; margin-bottom: 18px; }
.gm-app .gm-dashboard-summary-heading h2 { font-size: 17px; font-weight: 750; margin: 0 0 6px; }
.gm-app .gm-dashboard-summary-heading p { font-size: 11px; color: var(--gm-muted); margin: 0; }
.gm-app .gm-dashboard-filters { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.gm-app .gm-dashboard-location { width: 230px; min-width: 0; }
.gm-app .gm-dashboard-filters .select2-selection--single { min-height: 40px; }
.gm-app .gm-dashboard-filters .select2-selection__rendered { line-height: 38px; font-size: 12px; padding-left: 12px; }
.gm-app .gm-dashboard-filters .select2-selection__arrow { height: 38px; }
.gm-app .gm-dashboard-filters #dashboard_date_filter { display: inline-flex; align-items: center; gap: 10px; font-size: 12px; min-height: 40px; margin: 0; }
.gm-app .gm-dashboard-filters .fa-chevron-down { font-size: 9px; }
.gm-app .gm-dashboard-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.gm-app .gm-metric { min-width: 0; border: 1px solid var(--gm-border); border-radius: 14px; background: #fff; padding: 20px; box-shadow: 0 3px 12px rgba(25,60,30,.025); }
.gm-app .gm-metric-heading { display: flex; align-items: start; justify-content: space-between; gap: 10px; margin-bottom: 19px; }
.gm-app .gm-metric-heading p { font-size: 12px; font-weight: 550; color: #536459; line-height: 1.6; margin: 0; }
.gm-app .gm-metric-heading .fa-info-circle { font-size: 11px; color: var(--gm-green); }
.gm-app .gm-metric-icon { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 32px; height: 32px; background: var(--gm-soft); color: var(--gm-green); border-radius: 9px; font-size: 13px; }
.gm-app .gm-metric .gm-metric-value { margin: 0; font-size: clamp(20px, 1.8vw, 29px); line-height: 1.3; letter-spacing: -.035em; font-weight: 700; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.gm-app .gm-metric-feature { background: var(--gm-green); border-color: var(--gm-green); box-shadow: 0 6px 20px rgba(11,109,39,.12); }
.gm-app .gm-metric-feature .gm-metric-heading p { color: #e3f2e4; }
.gm-app .gm-metric-feature .gm-metric-value { color: #fff; }
.gm-app .gm-metric-feature .gm-metric-icon { color: #fff; background: rgba(255,255,255,.14); }
.gm-app .gm-metric-due .gm-metric-icon { background: #fbf4e5; color: #936c28; }
.gm-app .gm-metric-value .fa-sync { font-size: 18px; opacity: .65; }
.gm-app .gm-dashboard-secondary-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 16px; border: 1px solid var(--gm-border); border-radius: 14px; background: #fff; overflow: hidden; }
.gm-app .gm-dashboard-secondary-metrics:empty { display: none; }
.gm-app .gm-dashboard-secondary-metrics .gm-metric { border: 0; border-radius: 0; border-right: 1px solid var(--gm-border); box-shadow: none; padding: 18px 20px; }
.gm-app .gm-dashboard-secondary-metrics .gm-metric:last-child { border-right: 0; }
.gm-app .gm-dashboard-secondary-metrics .gm-metric-heading { margin-bottom: 9px; }
.gm-app .gm-dashboard-secondary-metrics .gm-metric-icon { width: 24px; height: 24px; font-size: 11px; background: transparent; color: #78947d; }
.gm-app .gm-dashboard-secondary-metrics .gm-metric-value { font-size: 20px; }
.gm-app .gm-dashboard-panels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.gm-app .gm-dashboard-panel { min-width: 0; background: #fff !important; border: 1px solid var(--gm-border); border-radius: 14px !important; box-shadow: 0 3px 12px rgba(25,60,30,.025) !important; transform: none !important; --tw-ring-shadow: 0 0 transparent; }
.gm-app .gm-dashboard-panel > .tw-p-4 { padding: 22px; }
.gm-app .gm-dashboard-panel h3 { font-size: 16px; font-weight: 750; line-height: 1.4; }
.gm-app .gm-dashboard-panel .tw-border-2.tw-rounded-full { width: 32px; height: 32px; flex-shrink: 0; border: 0; border-radius: 8px; background: var(--gm-soft); }
.gm-app .gm-dashboard-panel .tw-text-sky-500 { color: var(--gm-green); }
.gm-app .gm-dashboard-panel .tw-text-yellow-500 { color: #936c28; }
.gm-app .gm-dashboard-panel .tw-border-2.tw-rounded-full svg { width: 18px; height: 18px; }
.gm-app .gm-dashboard-panel .tw-flex.tw-items-center.tw-gap-2\.5 { flex-wrap: wrap; gap: 10px; }
.gm-app .gm-dashboard-panel .tw-flex-1 > [class*="tw-w-1/2"] { min-width: 0; }
.gm-app .gm-dashboard-panel .dataTables_wrapper { font-size: 11px; }
.gm-app .gm-dashboard-panel table { font-size: 12px; }
.gm-app .gm-dashboard-chart { padding: 22px 22px 12px; }
.gm-app .gm-chart-heading { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.gm-app .gm-chart-heading .gm-dashboard-eyebrow { font-size: 9px; margin-bottom: 7px; }
.gm-app .gm-chart-heading h2 { font-size: 17px; font-weight: 750; margin: 0; }
.gm-app .gm-chart-period { font-size: 10px; color: var(--gm-muted); border: 1px solid var(--gm-border); background: #f8fbf7; border-radius: 6px; padding: 5px 8px; }
.gm-app .gm-chart-canvas { min-width: 0; min-height: 330px; }
.gm-app .gm-chart-canvas > div { max-width: 100%; }
@media (max-width: 1279px) {
  .gm-app .gm-dashboard { padding: 26px 22px 44px; }
  .gm-app .gm-dashboard-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gm-app .gm-dashboard-panels { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-dashboard-panels > [class*="tw-col-span-"] { grid-column: auto; }
  .gm-app .gm-dashboard-secondary-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gm-app .gm-dashboard-secondary-metrics .gm-metric:nth-child(2) { border-right: 0; }
  .gm-app .gm-dashboard-secondary-metrics .gm-metric:nth-child(n+3) { border-top: 1px solid var(--gm-border); }
}
@media (max-width: 600px) {
  .gm-app .gm-dashboard { padding: 24px 16px 38px; }
  .gm-app .gm-dashboard-heading { margin-bottom: 28px; gap: 18px; }
  .gm-app .gm-dashboard-heading h1 { font-size: 25px; }
  .gm-app .gm-dashboard-summary-heading { align-items: stretch; gap: 16px; }
  .gm-app .gm-dashboard-filters { width: 100%; }
  .gm-app .gm-dashboard-location { flex: 1; width: auto; }
  .gm-app .gm-dashboard-filters #dashboard_date_filter { max-width: 100%; font-size: 11px; }
  .gm-app .gm-dashboard-metrics { gap: 10px; }
  .gm-app .gm-metric { padding: 15px; }
  .gm-app .gm-metric-heading { gap: 6px; margin-bottom: 14px; }
  .gm-app .gm-metric-heading p { font-size: 11px; }
  .gm-app .gm-metric-icon { width: 25px; height: 25px; font-size: 11px; }
  .gm-app .gm-metric .gm-metric-value { font-size: 22px; }
  .gm-app .gm-dashboard-secondary-metrics .gm-metric { padding: 15px; }
  .gm-app .gm-dashboard-secondary-metrics .gm-metric-value { font-size: 18px; }
  .gm-app .gm-dashboard-chart, .gm-app .gm-dashboard-panel > .tw-p-4 { padding: 18px 14px; }
  .gm-app .gm-chart-heading h2 { font-size: 15px; }
}
.gm-app .gm-metric-heading .fa-info-circle { color: var(--gm-green) !important; }
.gm-app .gm-dashboard-metrics:not(:has(.gm-metric)),
.gm-app .gm-dashboard-secondary-metrics:not(:has(.gm-metric)) { display: none; }

/* POS workspace and checkout controls. */
.gm-app .pos-modern { padding: 0 !important; }
.gm-app .gm-pos-workspace { padding: 24px 24px 150px !important; }
.gm-app .gm-pos-heading { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 24px; }
.gm-app .gm-pos-heading h1 { margin: 0 0 7px; font-size: 27px; font-weight: 750; letter-spacing: -.035em; }
.gm-app .gm-pos-heading p { color: var(--gm-muted); font-size: 12px; margin: 0; }
.gm-app .gm-pos-heading .gm-dashboard-eyebrow { margin-bottom: 8px; }
.gm-app .gm-pos-home { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 650; }
.gm-app .gm-pos-layout { display: grid !important; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 22px; margin: 0; }
.gm-app .gm-pos-layout::before, .gm-app .gm-pos-layout::after { display: none; }
.gm-app .gm-pos-layout > div { width: 100% !important; min-width: 0; padding: 0 !important; }
.gm-app .gm-pos-layout:not(:has(.gm-pos-catalog)) { grid-template-columns: minmax(0, 1fr); }
.gm-app .gm-pos-cart { padding: 0 !important; overflow: visible; margin-bottom: 0 !important; box-shadow: 0 3px 16px rgba(25,60,30,.035) !important; }
.gm-app .gm-pos-card-heading { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; padding: 22px; border-bottom: 1px solid var(--gm-border); }
.gm-app .gm-pos-card-heading h2, .gm-app .gm-pos-catalog-heading h2 { font-size: 17px; font-weight: 750; margin: 0 0 6px; }
.gm-app .gm-pos-card-heading p, .gm-app .gm-pos-catalog-heading p { font-size: 11px; color: var(--gm-muted); margin: 0; }
.gm-app .gm-pos-session-label { display: inline-flex; align-items: center; gap: 7px; font-size: 10px; padding: 6px 9px; border: 1px solid #d7e7d1; border-radius: 6px; color: var(--gm-green); background: var(--gm-soft); }
.gm-app .gm-pos-cart > .box-body { padding: 20px !important; border-radius: 0 0 14px 14px; }
.gm-app .pos-modern .input-group { border-radius: 8px; overflow: visible; }
.gm-app .pos-modern .input-group-addon { border: 0; border-radius: 8px 0 0 8px; }
.gm-app .pos-modern .input-group .input-group-btn .btn { border: 0 !important; border-radius: 0 8px 8px 0 !important; }
.gm-app .pos-modern .input-group .text-primary { color: var(--gm-green) !important; }
.gm-app .pos-modern .input-group .form-control { font-size: 12px; }
.gm-app .pos-modern .input-group .select2-selection--single { border: 0 !important; border-radius: 0 !important; }
.gm-app .pos-modern .pos-table-shell { border-radius: 10px !important; padding: 0 12px 12px; box-shadow: none !important; margin-top: 4px; }
.gm-app .pos-modern #pos_table { margin-bottom: 0; }
.gm-app .pos-modern #pos_table th { font-size: 10px !important; font-weight: 700; padding: 12px 8px; }
.gm-app .pos-modern #pos_table td { font-size: 12px; }
.gm-app .gm-pos-line-product { display: flex; align-items: flex-start; gap: 10px; }
.gm-app .gm-pos-line-name { min-width: 0; overflow-wrap: anywhere; }
.gm-app .gm-pos-line-thumbnail { flex: 0 0 46px; }
.gm-app .gm-product-media-trigger { padding: 0; border: 0; background: transparent; cursor: pointer; border-radius: 6px; }
.gm-app .gm-product-media-trigger:hover { outline: 1px solid var(--gm-green); }
.gm-app #gm-images-modal { z-index: 5000; }
.gm-app .gm-pos-line-thumbnail .image-container { width: 46px; height: 46px; border: 1px solid var(--gm-border); border-radius: 8px; background-color: #f7faf6; display: flex; align-items: center; justify-content: center; color: #7b8c7e; }
.gm-app .pos-modern #pos_table input { height: 34px; font-size: 12px; }
.gm-app .gm-pos-empty { min-height: 190px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 24px; gap: 8px; }
.gm-app .gm-pos-empty > span { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; color: #7b9b7f; background: var(--gm-soft); border-radius: 12px; margin-bottom: 4px; font-size: 19px; }
.gm-app .gm-pos-empty strong { font-size: 13px; font-weight: 700; }
.gm-app .gm-pos-empty p { font-size: 11px; line-height: 1.7; color: var(--gm-muted); margin: 0; }
.gm-app .pos-table-shell:has(#pos_table tbody tr) .gm-pos-empty { display: none; }
.gm-app .pos-modern .pos_form_totals table { border: 0 !important; box-shadow: none !important; margin-top: 16px; margin-bottom: 0; }
.gm-app .pos-modern .pos_form_totals table td { padding: 12px 8px; font-size: 12px; }
.gm-app .pos-modern .pos_form_totals :is(b, span, i) { font-size: 12px !important; }
.gm-app .pos-modern .pos_form_totals .fa-edit { color: var(--gm-green); }
.gm-app .gm-pos-catalog { background: #fff; border: 1px solid var(--gm-border); border-radius: 14px; overflow: visible; }
.gm-app .gm-pos-catalog-heading { padding: 22px 18px 18px; }
.gm-app .gm-pos-catalog > .row { margin-left: 10px; margin-right: 10px; }
.gm-app .gm-pos-catalog-filter { background: var(--gm-soft) !important; border: 1px solid #cde2cf; color: var(--gm-green-dark) !important; border-radius: 8px !important; height: 38px; font-size: 12px !important; gap: 7px; }
.gm-app .gm-pos-catalog-filter:hover { background: #e0f0e1 !important; }
.gm-app .pos-modern .tw-dw-drawer-side h3 { background: none !important; color: var(--gm-green-dark) !important; -webkit-text-fill-color: var(--gm-green-dark); }
.gm-app .pos-modern #product_list_body { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 12px 0; }
.gm-app .pos-modern #product_list_body .product_list { width: 100%; padding: 0; min-width: 0; }
.gm-app .pos-modern .product_box { padding: 8px !important; margin: 0 !important; min-height: 115px; border-radius: 10px !important; box-shadow: none !important; transition: border-color .15s, background .15s; cursor: pointer; }
.gm-app .pos-modern .product_box .image-container { height: 55px !important; border-radius: 6px; }
.gm-app .pos-modern .product_box .text_div { padding: 6px 0 0; }
.gm-app .pos-modern .product_box small { font-size: 10px; line-height: 1.5; }
.gm-app .pos-modern .product_box .text_div > small:first-child { font-weight: 650; }
.gm-app .pos-header { padding: 10px 20px; }
.gm-app .pos-header .gm-pos-date { background: var(--gm-soft) !important; border: 1px solid #d7e7d1; }
.gm-app .pos-header .gm-pos-date .text-white { color: var(--gm-green-dark) !important; font-size: 11px; }
.gm-app .pos-header :is(button, a.pull-right) { border: 1px solid var(--gm-border) !important; box-shadow: none !important; border-radius: 8px; }
.gm-app .pos-header :is(button, a.pull-right) i { color: var(--gm-green-dark) !important; }
.gm-app .pos-header :is(button, a.pull-right):hover { background: var(--gm-soft) !important; }
.gm-app .pos-modern .gm-pos-payment-bar { background: #fff !important; border-top: 1px solid var(--gm-border); box-shadow: 0 -3px 16px rgba(25,60,30,.05) !important; padding: 12px 20px !important; left: 0; border-radius: 0 !important; cursor: default; }
.gm-app .gm-pos-payment-inner { gap: 12px; overflow: visible; }
.gm-app .gm-pos-checkout-controls { gap: 8px; flex-wrap: wrap; overflow: visible; }
.gm-app .gm-pos-payment-bar .pos-total { flex-shrink: 0; }
.gm-app .gm-pos-payment-bar button { min-height: 40px; font-size: 11px !important; font-weight: 650 !important; border-radius: 8px !important; padding: 8px 10px; border: 1px solid var(--gm-border); background: #fff; color: var(--gm-green-dark) !important; }
.gm-app .gm-pos-payment-bar button i { color: inherit !important; }
.gm-app .gm-pos-payment-bar button:hover { background: var(--gm-soft); }
.gm-app .gm-pos-payment-bar [id="pos-finalize"] { background: var(--gm-green) !important; color: #fff !important; border-color: var(--gm-green) !important; }
.gm-app .gm-pos-payment-bar [id="pos-finalize"]:hover { background: var(--gm-green-dark) !important; }
.gm-app .gm-pos-payment-bar :is([id="pos-cancel"], [id="pos-delete"]) { background: #fff0ef !important; color: #a82e28 !important; border-color: #f1d2cf; }
.gm-app .gm-pos-payment-bar [id="recent-transactions"] { background: #fff !important; color: var(--gm-green-dark) !important; border-color: var(--gm-border); white-space: nowrap; }
.gm-app .gm-pos-payment-bar .pos-total { margin-left: 10px; border-left: 1px solid var(--gm-border); padding-left: 18px; gap: 12px; }
.gm-app .gm-pos-payment-bar .pos-total > div { font-size: 11px !important; font-weight: 550; }
.gm-app .gm-pos-payment-bar .pos-total .number { font-size: 25px !important; letter-spacing: -.035em; color: var(--gm-green-dark); }
@media (max-width: 1199px) {
  .gm-app .pos-modern #product_list_body { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gm-app .gm-pos-payment-inner { flex-wrap: wrap; justify-content: flex-start; }
  .gm-app .gm-pos-workspace { padding-bottom: 200px !important; }
  .gm-app .gm-pos-payment-bar .pos-total { margin-left: 0; border-left: 0; padding-left: 0; }
  .gm-app .gm-pos-cart .box-body > .row > .col-md-4,
  .gm-app .gm-pos-cart .box-body > .row > .col-md-8 { width: 100%; }
  .gm-app .gm-pos-date { white-space: nowrap; }
}
@media (max-width: 991px) {
  .gm-app .gm-pos-layout { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-pos-workspace { padding: 20px 16px 180px !important; }
}
@media (max-width: 767px) {
  .gm-app .gm-pos-workspace { padding: 20px 12px 210px !important; }
  .gm-app .gm-pos-cart > .box-body, .gm-app .gm-pos-card-heading { padding: 16px !important; }
  .gm-app .gm-pos-heading h1 { font-size: 24px; }
  .gm-app .gm-pos-card-heading p { max-width: 210px; }
  .gm-app .gm-pos-checkout-controls { justify-content: flex-start; width: 100%; }
  .gm-app .gm-pos-checkout-controls .pos-express-finalize { display: none !important; }
  .gm-app .gm-pos-mobile-payments { flex-wrap: wrap; justify-content: center; gap: 6px !important; }
  .gm-app .gm-pos-payment-inner { padding-left: 0; padding-right: 0; }
  .gm-app .gm-pos-mobile-payments button { flex: 1 1 auto; width: auto; }
  .gm-app .gm-pos-payment-bar { padding: 10px 12px !important; }
  .gm-app .gm-pos-payment-bar button { min-height: 36px; font-size: 10px !important; }
  .gm-app .gm-pos-payment-bar .tw-pos-total { width: 100%; justify-content: space-between; }
  .gm-app .gm-pos-payment-bar .tw-pos-total .number { font-size: 22px; }
  .gm-app .pos-header { padding: 10px 12px; }
}

/* Product editing: grouped fields and consistent operational controls. */
.gm-app .gm-product-editor { padding: 28px 28px 48px; max-width: 1480px; margin: 0 auto; }
.gm-app .gm-product-editor-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.gm-app .gm-product-editor-heading h1 { font-size: 28px; font-weight: 750; letter-spacing: -.035em; margin: 8px 0; overflow-wrap: anywhere; }
.gm-app .gm-product-editor-heading p { color: var(--gm-muted); font-size: 12px; margin: 0; }
.gm-app .gm-product-back { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 650; white-space: nowrap; }
.gm-app .gm-product-sections-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.gm-app .gm-product-sections-nav a { background: #fff; border: 1px solid var(--gm-border); padding: 8px 12px; border-radius: 7px; color: var(--gm-muted); font-size: 11px; font-weight: 600; }
.gm-app .gm-product-sections-nav a:hover, .gm-app .gm-product-sections-nav a:focus { background: var(--gm-soft); color: var(--gm-green); border-color: #c6ddc8; }
.gm-app .gm-product-section { scroll-margin-top: 82px; margin-bottom: 20px; }
.gm-app .gm-product-section > div { padding: 24px !important; }
.gm-app .gm-product-section .tw-overflow-x-auto { overflow: visible; }
.gm-app .gm-product-section .tw-inline-block { display: block; padding: 0; min-width: 0; }
.gm-app .gm-product-section-heading { padding-bottom: 20px; margin-bottom: 22px; border-bottom: 1px solid var(--gm-border); }
.gm-app .gm-product-section-heading h2 { font-size: 17px; font-weight: 750; margin: 0 0 6px; }
.gm-app .gm-product-section-heading p { font-size: 11px; color: var(--gm-muted); margin: 0; }
.gm-app .gm-product-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 24px; margin: 0; }
.gm-app .gm-product-fields::before, .gm-app .gm-product-fields::after, .gm-app .gm-product-fields > .clearfix { display: none; }
.gm-app .gm-product-fields > [class*="col-"] { width: auto; min-width: 0; padding: 0; float: none; }
.gm-app .gm-product-fields > .col-sm-8 { grid-column: span 2; }
.gm-app .gm-product-fields > :is(.col-sm-12, .col-md-12) { grid-column: 1 / -1; }
.gm-app .gm-product-editor .form-group { margin-bottom: 0; }
.gm-app .gm-product-editor label { font-size: 12px; font-weight: 650; margin-bottom: 8px; }
.gm-app .gm-product-editor .form-control { height: 42px; font-size: 12px; border-radius: 8px; }
.gm-app .gm-product-editor textarea.form-control { height: auto; min-height: 140px; }
.gm-app .gm-product-editor .help-block { color: var(--gm-muted); font-size: 10px; line-height: 1.7; margin: 8px 0 0; }
.gm-app .gm-product-editor .help-block i { font-style: normal; }
.gm-app .gm-product-editor .form-group > br { display: none; }
.gm-app .gm-product-editor .select2-container { max-width: 100%; width: 100% !important; }
.gm-app .gm-product-editor .multi-input .select2-container { width: 40% !important; }
.gm-app .gm-product-editor .select2-selection--single { height: 42px; border-radius: 8px; }
.gm-app .gm-product-editor .select2-selection--single .select2-selection__rendered { line-height: 40px; padding-left: 12px; font-size: 12px; }
.gm-app .gm-product-editor .select2-selection--single .select2-selection__arrow { height: 40px; right: 7px; }
.gm-app .gm-product-editor .select2-selection--multiple { border-radius: 8px; min-height: 42px; padding: 4px 7px; }
.gm-app .gm-product-editor .select2-selection--multiple .select2-selection__choice { background: var(--gm-soft) !important; border: 1px solid #cde2cf !important; color: var(--gm-green-dark) !important; border-radius: 5px; font-size: 10px; padding: 4px 7px; margin-top: 3px; margin-bottom: 3px; }
.gm-app .gm-product-editor .select2-selection__choice__remove { color: var(--gm-green) !important; }
.gm-app .gm-product-locations .select2-selection--multiple { max-height: 150px; overflow-y: auto; }
.gm-app .gm-product-editor .input-group { display: flex; width: 100%; }
.gm-app .gm-product-editor .input-group > .select2-container { flex: 1; min-width: 0; width: 0 !important; }
.gm-app .gm-product-editor .input-group-btn { width: 42px; flex-shrink: 0; }
.gm-app .gm-product-editor .input-group-btn button { height: 42px; width: 42px; margin: 0; border-radius: 0 8px 8px 0 !important; border-color: var(--gm-border); }
.gm-app .gm-product-editor .input-group-btn .text-primary { color: var(--gm-green) !important; }
.gm-app .gm-product-editor .input-group .select2-selection--single { border-radius: 8px 0 0 8px; }
.gm-app .gm-product-editor .icheckbox_square-blue { background: #fff !important; border: 1px solid #bfd2c2; border-radius: 4px; width: 18px; height: 18px; margin-right: 7px; }
.gm-app .gm-product-editor .icheckbox_square-blue.checked { background: var(--gm-green) !important; border-color: var(--gm-green); }
.gm-app .gm-product-editor .icheckbox_square-blue.checked::after { content: "\2713"; display: block; position: absolute; inset: 0; color: #fff; font-size: 13px; line-height: 16px; text-align: center; pointer-events: none; }
.gm-app .gm-product-editor .icheckbox_square-blue.focus { outline: 2px solid #a4d3ac; outline-offset: 2px; }
.gm-app .gm-product-editor input[type=file] { max-width: 100%; font-size: 11px; padding: 10px; border: 1px dashed #c9dbcb; border-radius: 8px; background: #f9fbf7; width: 100%; }
.gm-app .gm-product-editor input[type=file]::file-selector-button { background: #fff; border: 1px solid var(--gm-border); color: var(--gm-green-dark); padding: 7px 10px; border-radius: 5px; margin-right: 8px; font-weight: 600; }
.gm-app .gm-product-current-image { display: flex; align-items: center; gap: 12px; margin: 4px 0 12px; padding: 10px; background: #f8fbf7; border: 1px solid var(--gm-border); border-radius: 8px; }
.gm-app .gm-product-current-image img { width: 60px; height: 60px; object-fit: contain; background: #fff; border-radius: 5px; }
.gm-app .gm-product-current-image span { color: var(--gm-muted); font-size: 11px; }
.gm-app .gm-product-fields.gm-product-media-layout { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: start; }
.gm-app .gm-product-media-layout > .gm-product-description { grid-column: auto; }
.gm-app .gm-product-uploads { display: grid; gap: 16px; min-width: 0; }
.gm-app .gm-product-upload-card { padding: 16px; border: 1px solid var(--gm-border); border-radius: 10px; background: #f9fbf7; min-width: 0; }
.gm-app .gm-product-upload-card input[type=file] { background: #fff; }
.gm-app .gm-product-upload-card .file-input .input-group { flex-wrap: wrap; gap: 8px; }
.gm-app .gm-product-upload-card .file-caption { flex: 1 0 100%; width: 100%; min-width: 0; border-radius: 8px !important; background: #fff; }
.gm-app .gm-product-upload-card .file-caption-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gm-app .gm-product-upload-card .file-caption-name:empty::before { content: "No image selected"; color: var(--gm-muted); font-size: 11px; }
.gm-app .gm-product-upload-card .file-input-new .fileinput-remove-button { display: none !important; }
.gm-app .gm-product-upload-card .file-input .input-group-btn { display: flex; flex-wrap: wrap; gap: 8px; width: auto; white-space: normal; }
.gm-app .gm-product-upload-card .file-input .input-group-btn :is(button, .btn-file) { display: inline-flex; align-items: center; gap: 6px; width: auto; height: 38px; margin: 0; padding: 8px 12px; border-radius: 7px !important; font-size: 11px; }
.gm-app .gm-product-upload-card .file-input .input-group-btn .hidden-xs { display: inline !important; }
.gm-app .gm-product-upload-card .btn-file input[type=file] { padding: 0; border: 0; border-radius: 0; }
.gm-app .gm-product-upload-card .file-preview { margin-bottom: 12px; border: 1px solid var(--gm-border); border-radius: 8px; background: #fff; }
.gm-app .gm-product-upload-card .file-preview-frame { max-width: 100%; margin: 0; padding: 8px; box-shadow: none; border: 0; }
.gm-app .gm-product-upload-card .file-preview-image { max-height: 160px !important; object-fit: contain; }
.gm-app .gm-product-upload-card .img-thumbnail { position: relative; margin: 0 6px 10px 0; }
.gm-app .gm-product-upload-card .img-thumbnail img { max-width: 70px; max-height: 70px; object-fit: contain; }
.gm-app .gm-product-upload-card .gm-product-current-image { padding: 0; margin-top: 0; border: 0; background: transparent; }
@media (max-width: 1100px) {
  .gm-app .gm-product-fields.gm-product-media-layout { grid-template-columns: minmax(0, 1fr); }
}
.gm-app .gm-product-editor .tox-tinymce { border: 1px solid var(--gm-border); border-radius: 8px; }
/* Platform overview. */
.gm-app .gm-superadmin-dashboard { padding: 16px 28px 36px; }
.gm-app .gm-superadmin-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 8px 0 30px; }
.gm-app .gm-superadmin-heading h1 { font-size: 30px; font-weight: 750; letter-spacing: -1px; margin: 10px 0 9px; }
.gm-app .gm-superadmin-heading p { font-size: 12px; color: var(--gm-muted); margin: 0; }
.gm-app .gm-superadmin-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.gm-app .gm-superadmin-action { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 15px; border: 1px solid var(--gm-border); border-radius: 8px; background: #fff; color: var(--gm-ink); font-size: 12px; font-weight: 650; white-space: nowrap; }
.gm-app .gm-superadmin-action:hover { background: var(--gm-soft); }
.gm-app .gm-superadmin-action-primary { background: var(--gm-green); border-color: var(--gm-green); color: #fff; }
.gm-app .gm-superadmin-action-primary:hover { background: var(--gm-green-dark); color: #fff; }
.gm-app .gm-superadmin-snapshot-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.gm-app .gm-superadmin-dashboard h2 { font-size: 17px; font-weight: 700; margin: 0 0 7px; }
.gm-app .gm-superadmin-snapshot-heading p, .gm-app .gm-superadmin-chart header p { font-size: 11px; color: var(--gm-muted); margin: 0; }
.gm-app .gm-superadmin-periods { display: flex; flex-wrap: wrap; gap: 4px; padding: 4px; background: #fff; border: 1px solid var(--gm-border); border-radius: 9px; }
.gm-app .gm-superadmin-periods::before, .gm-app .gm-superadmin-periods::after { display: none; }
.gm-app .gm-superadmin-periods > .btn { margin: 0 !important; padding: 8px 12px; border: 0 !important; border-radius: 6px !important; font-size: 11px; font-weight: 650; background: transparent !important; color: var(--gm-muted) !important; box-shadow: none; }
.gm-app .gm-superadmin-periods > .btn.active { background: var(--gm-green) !important; color: #fff !important; }
.gm-app .gm-superadmin-periods > .btn:focus-within { outline: 2px solid var(--gm-green); outline-offset: 2px; }
.gm-app .gm-superadmin-stats-status { color: #914c20; font-size: 12px; }
.gm-app .gm-superadmin-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-bottom: 24px; }
.gm-app .gm-superadmin-metric { padding: 22px; border: 1px solid var(--gm-border); background: #fff; border-radius: 13px; min-width: 0; }
.gm-app .gm-superadmin-metric-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.gm-app .gm-superadmin-metric h3 { font-size: 12px; font-weight: 600; color: #43554a; margin: 0; }
.gm-app .gm-superadmin-metric-icon { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; flex-shrink: 0; color: var(--gm-green); background: var(--gm-soft); border-radius: 8px; }
.gm-app .gm-superadmin-metric-icon-warning { color: #926027; background: #fcf3e4; }
.gm-app .gm-superadmin-metric-value { font-size: 30px; font-weight: 750; letter-spacing: -1px; line-height: 1.3; overflow-wrap: anywhere; }
.gm-app .gm-superadmin-metric p { font-size: 10px; color: var(--gm-muted); margin: 8px 0 20px; line-height: 1.6; }
.gm-app .gm-superadmin-metric a { display: inline-flex; align-items: center; gap: 9px; font-size: 11px; font-weight: 650; }
.gm-app .gm-superadmin-metric-primary { background: var(--gm-green-dark); border-color: var(--gm-green-dark); color: #fff; }
.gm-app .gm-superadmin-metric-primary h3, .gm-app .gm-superadmin-metric-primary a { color: #fff; }
.gm-app .gm-superadmin-metric-primary p { color: #d7e7d9; }
.gm-app .gm-superadmin-metric-primary .gm-superadmin-metric-icon { background: #ffffff24; color: #fff; }
.gm-app .gm-superadmin-chart { padding: 24px; border: 1px solid var(--gm-border); background: #fff; border-radius: 13px; min-width: 0; }
.gm-app .gm-superadmin-chart header { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 20px; }
.gm-app .gm-superadmin-chart h2 { margin-top: 8px; }
.gm-app .gm-superadmin-chart-period { color: var(--gm-muted); font-size: 10px; padding: 6px 9px; border: 1px solid var(--gm-border); border-radius: 6px; white-space: nowrap; }
@media (max-width: 1100px) {
  .gm-app .gm-superadmin-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
  .gm-app .gm-superadmin-snapshot-heading { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 700px) {
  .gm-app .gm-superadmin-dashboard { padding: 16px 16px 28px; }
  .gm-app .gm-superadmin-heading h1 { font-size: 25px; }
  .gm-app .gm-superadmin-metrics { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .gm-app .gm-superadmin-metric { padding: 18px; }
  .gm-app .gm-superadmin-chart { padding: 18px 14px; }
  .gm-app .gm-superadmin-chart header { align-items: flex-start; }
  .gm-app .gm-superadmin-periods > .btn { padding: 8px 9px; font-size: 10px; }
}
/* Registered businesses directory. */
.gm-app .gm-businesses-page { padding: 16px 28px 36px; min-width: 0; }
.gm-app .gm-business-filter-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.gm-app .gm-business-filter-fields > .col-md-3 { width: auto; padding: 0; float: none; min-width: 0; }
.gm-app .gm-business-filter-reset { display: flex; align-items: end; justify-content: flex-end; }
.gm-app #gm-business-reset-filters { padding: 10px 13px; border: 1px solid var(--gm-border); border-radius: 7px; background: #fff; color: var(--gm-green-dark); font-size: 11px; font-weight: 650; }
.gm-app #gm-business-reset-filters:hover { background: var(--gm-soft); }
.gm-app .gm-business-table-card { padding: 22px; border: 1px solid var(--gm-border); border-radius: 13px; background: #fff; min-width: 0; }
.gm-app .gm-business-table-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 22px; }
.gm-app .gm-business-table-heading h2 { font-size: 17px; font-weight: 700; margin: 0 0 8px; }
.gm-app #gm-business-count { display: inline-block; font-size: 10px; font-weight: 550; color: var(--gm-muted); background: #f5f9f2; border: 1px solid var(--gm-border); border-radius: 6px; padding: 5px 8px; margin-left: 10px; vertical-align: middle; }
.gm-app .gm-business-table-heading p { color: var(--gm-muted); font-size: 11px; margin: 0; }
.gm-app .gm-business-filter-count:not(:empty) { background: var(--gm-soft); color: var(--gm-green-dark); font-size: 11px; padding: 7px 10px; border-radius: 7px; }
.gm-app .gm-business-filter-count:not(:empty)::after { content: ' filters applied'; }
.gm-app .gm-businesses-page .dataTables_scrollHead table { margin-bottom: 0; }
.gm-app .gm-businesses-page #superadmin_business_table { border: 0; }
.gm-app .gm-businesses-page #superadmin_business_table td { padding: 14px 12px; font-size: 11px; vertical-align: middle; border: 0; border-bottom: 1px solid #e8eee7; line-height: 1.6; }
.gm-app .gm-businesses-page #superadmin_business_table th, .gm-app .gm-businesses-page .dataTables_scrollHead th { padding: 13px 12px; font-size: 10px; line-height: 1.5; border: 0; border-bottom: 1px solid var(--gm-border); background: #f2f7ef; color: #43554a; }
.gm-app .gm-business-name { min-width: 200px; max-width: 230px; font-weight: 700; overflow-wrap: anywhere; }
.gm-app .gm-business-owner { min-width: 140px; max-width: 170px; overflow-wrap: anywhere; }
.gm-app .gm-business-subscription { min-width: 200px; max-width: 230px; }
.gm-app .gm-business-registered { min-width: 145px; }
.gm-app .gm-business-status { min-width: 90px; }
.gm-app .gm-business-email { min-width: 180px; max-width: 220px; overflow-wrap: anywhere; }
.gm-app .gm-business-phone { min-width: 120px; }
.gm-app .gm-business-address { min-width: 200px; max-width: 240px; }
.gm-app .gm-business-actions-column { min-width: 230px; max-width: 260px; }
.gm-app .gm-business-row-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.gm-app .gm-business-row-actions .tw-dw-btn { min-height: 29px; margin: 0 !important; padding: 5px 9px; font-size: 10px; line-height: 1.5; border-radius: 6px; border: 1px solid #cfe0d1; background: #f3f8f0; color: var(--gm-green-dark); white-space: nowrap; }
.gm-app .gm-business-row-actions .tw-dw-btn:hover { background: #e2f0df; }
.gm-app .gm-business-row-actions .tw-dw-btn-error { border-color: #edd4d1; background: #fff7f5; color: #a03b32; }
.gm-app .gm-business-row-actions .tw-dw-btn-error:hover { background: #ffeae6; }
.gm-app .gm-business-status .label { display: inline-block; font-size: 10px; font-weight: 600; border-radius: 6px; padding: 5px 8px; }
.gm-app .gm-business-status .bg-green { background: #e8f4e5 !important; color: var(--gm-green-dark) !important; }
.gm-app .gm-business-status .bg-gray { background: #f0f2ef !important; color: #637269 !important; }
.gm-app .gm-business-no-subscription, .gm-app .gm-business-empty { color: var(--gm-muted); font-size: 11px; font-weight: 400; }
@media (max-width: 1100px) {
  .gm-app .gm-business-filter-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .gm-app .gm-businesses-page { padding: 16px 14px 30px; }
  .gm-app .gm-business-filter-fields { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-business-table-card { padding: 18px 14px; }
  .gm-app .gm-business-table-heading { align-items: flex-start; flex-direction: column; }
  .gm-app #gm-business-count { margin: 7px 0 0; display: table; }
  .gm-app .gm-businesses-page .gm-product-table-search { min-width: 0; width: 100%; flex-basis: 100%; }
  .gm-app .gm-businesses-page .gm-product-table-search input { max-width: none; }
  .gm-app .gm-businesses-page .gm-product-table-tools { width: 100%; }
}
/* Business account details. Merchant logos retain their original appearance. */
.gm-app .gm-business-detail { padding: 16px 28px 36px; min-width: 0; }
.gm-app .gm-business-detail .gm-superadmin-heading h1 { overflow-wrap: anywhere; }
.gm-app .gm-business-detail-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.gm-app .gm-business-detail-nav a { display: inline-flex; align-items: center; gap: 7px; padding: 9px 12px; background: #fff; color: var(--gm-muted); border: 1px solid var(--gm-border); border-radius: 7px; font-size: 11px; font-weight: 600; }
.gm-app .gm-business-detail-nav a:hover { background: var(--gm-soft); color: var(--gm-green-dark); }
.gm-app .gm-business-detail-nav span { color: var(--gm-green); }
.gm-app .gm-business-detail-card { padding: 24px; margin-bottom: 20px; border: 1px solid var(--gm-border); background: #fff; border-radius: 13px; min-width: 0; scroll-margin-top: 82px; }
.gm-app .gm-business-detail-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid var(--gm-border); }
.gm-app .gm-business-detail-card h2 { font-size: 17px; font-weight: 700; margin: 0 0 7px; }
.gm-app .gm-business-detail-card-heading p { font-size: 11px; color: var(--gm-muted); margin: 0; line-height: 1.6; }
.gm-app .gm-business-account-status { display: inline-block; padding: 6px 10px; background: #e8f4e5; color: var(--gm-green-dark); border-radius: 7px; font-size: 11px; font-weight: 650; }
.gm-app .gm-business-account-status.is-inactive { background: #f0f2ef; color: var(--gm-muted); }
.gm-app .gm-business-overview-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) 160px; gap: 22px; align-items: start; }
.gm-app .gm-business-detail-info { min-width: 0; }
.gm-app .gm-business-detail-info h3 { font-size: 12px; font-weight: 700; color: var(--gm-green-dark); margin: 0 0 18px; }
.gm-app .gm-business-detail-info dl { margin: 0; }
.gm-app .gm-business-detail-info dl > div + div { margin-top: 16px; }
.gm-app .gm-business-detail-info dt { font-size: 10px; color: var(--gm-muted); font-weight: 500; margin-bottom: 5px; }
.gm-app .gm-business-detail-info dd { font-size: 12px; font-weight: 600; overflow-wrap: anywhere; }
.gm-app .gm-business-detail-logo { padding: 14px; background: #f8fbf6; border: 1px solid var(--gm-border); border-radius: 10px; margin: 0; }
.gm-app .gm-business-detail-logo img { width: 100%; height: 130px; object-fit: contain; }
.gm-app .gm-business-detail-logo > span { display: flex; align-items: center; justify-content: center; height: 100px; font-size: 28px; color: #85a18a; }
.gm-app .gm-business-detail-logo figcaption { font-size: 10px; color: var(--gm-muted); text-align: center; }
.gm-app .gm-business-detail-count { display: inline-block; margin-left: 8px; padding: 4px 7px; border: 1px solid var(--gm-border); border-radius: 5px; background: #f7faf4; color: var(--gm-muted); font-size: 10px; font-weight: 550; vertical-align: middle; }
.gm-app .gm-business-detail-card .table { background: #fff; border: 0; margin: 0; font-size: 11px; }
.gm-app .gm-business-detail-card .table th, .gm-app .gm-business-detail-card .dataTables_scrollHead th { padding: 13px 12px; border: 0; border-bottom: 1px solid var(--gm-border); background: #f2f7ef; color: #43554a; font-size: 10px; font-weight: 650; line-height: 1.5; }
.gm-app .gm-business-detail-card .table td { padding: 14px 12px; border: 0; border-bottom: 1px solid #e8eee7; vertical-align: middle; line-height: 1.6; }
.gm-app .gm-business-detail-card .table td:first-child { font-weight: 600; }
.gm-app .gm-business-detail-card .table-responsive { border: 0; margin-bottom: 0; }
.gm-app .gm-business-detail-table { min-width: 780px; }
.gm-app #gm-business-subscriptions .gm-business-detail-table { min-width: 1100px; }
.gm-app .gm-business-detail-empty { text-align: center; color: var(--gm-muted); padding: 28px !important; font-weight: 400 !important; }
.gm-app #users_table td, .gm-app #users_table_wrapper .dataTables_scrollHead th { min-width: 130px; }
.gm-app #users_table td:last-child, .gm-app #users_table_wrapper .dataTables_scrollHead th:last-child { min-width: 180px; }
.gm-app .gm-business-detail #users_table .update_user_password { padding: 7px 10px; border: 1px solid #cfe0d1; border-radius: 6px; font-size: 10px; background: #f3f8f0; color: var(--gm-green-dark); }
.gm-app .gm-business-detail #users_table .update_user_password:hover { background: #e2f0df; }
.gm-app .gm-business-detail .dataTables_scrollHead table { margin-bottom: 0; }
.gm-app .gm-business-store-card > .tw-p-4 { padding: 0; }
.gm-app .gm-business-store-card > .tw-p-4 > .tw-flex { font-size: 17px; margin-bottom: 20px; }
.gm-app .gm-business-store-card .tw-flow-root { border: 0; margin-top: 0; }
.gm-app .gm-business-store-card .tw-overflow-x-auto { margin: 0; }
.gm-app .gm-business-store-card .tw-inline-block { display: block; padding: 0; }
.gm-app .gm-business-store-card table { min-width: 1000px; }
.gm-app .gm-business-store-card .form-group { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.gm-app .gm-business-store-card .form-group label { flex-basis: 100%; font-size: 12px; margin: 0; }
.gm-app .gm-business-store-card .form-control { height: 40px; border-radius: 7px; font-size: 12px; }
.gm-app .gm-business-store-card .help-block { margin-top: 12px; font-size: 11px; line-height: 1.7; color: var(--gm-muted); }
.gm-app .gm-business-detail #update_password_modal .modal-content { border-radius: 13px; overflow: hidden; }
.gm-app .gm-business-detail #update_password_modal .modal-title { font-size: 17px; font-weight: 700; }
.gm-app .gm-business-detail #update_password_modal .modal-header, .gm-app .gm-business-detail #update_password_modal .modal-body, .gm-app .gm-business-detail #update_password_modal .modal-footer { padding: 20px; }
.gm-app .gm-business-detail #update_password_modal label { font-size: 12px; }
.gm-app .gm-business-detail #update_password_modal .form-control { height: 42px; border-radius: 7px; }
@media (max-width: 1200px) {
  .gm-app .gm-business-overview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gm-app .gm-business-detail-logo { max-width: 190px; }
}
@media (max-width: 600px) {
  .gm-app .gm-business-detail { padding: 16px 14px 30px; }
  .gm-app .gm-business-detail-card { padding: 18px 14px; }
  .gm-app .gm-business-detail .gm-superadmin-actions { width: 100%; }
  .gm-app .gm-business-overview-grid { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-business-detail-info dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .gm-app .gm-business-detail-info dl > div + div { margin-top: 0; }
  .gm-app .gm-business-detail .gm-product-table-search { min-width: 0; width: 100%; flex-basis: 100%; }
  .gm-app .gm-business-detail .gm-product-table-search input { max-width: none; }
  .gm-app .gm-business-detail .gm-product-table-tools { width: 100%; }
}
/* Platform subscription records. */
.gm-app .gm-subscriptions-page { padding: 16px 28px 36px; min-width: 0; }
.gm-app .gm-subscription-filter-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 18px; align-items: end; }
.gm-app .gm-subscription-filter-fields > .col-md-3 { width: auto; padding: 0; float: none; min-width: 0; }
.gm-app .gm-subscription-filters #created_at { height: 40px; border-radius: 7px; font-size: 12px; background: #fff; cursor: pointer; }
.gm-app #gm-subscription-reset-filters { padding: 11px 13px; border: 1px solid var(--gm-border); border-radius: 7px; background: #fff; color: var(--gm-green-dark); font-size: 11px; font-weight: 650; }
.gm-app #gm-subscription-reset-filters:hover { background: var(--gm-soft); }
.gm-app .gm-subscription-table-card { padding: 22px; border: 1px solid var(--gm-border); border-radius: 13px; background: #fff; min-width: 0; }
.gm-app .gm-subscription-table-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 22px; }
.gm-app .gm-subscription-table-heading h2 { font-size: 17px; font-weight: 700; margin: 0 0 8px; }
.gm-app #gm-subscription-count { display: inline-block; font-size: 10px; font-weight: 550; color: var(--gm-muted); background: #f5f9f2; border: 1px solid var(--gm-border); border-radius: 6px; padding: 5px 8px; margin-left: 10px; vertical-align: middle; }
.gm-app .gm-subscription-table-heading p { color: var(--gm-muted); font-size: 11px; margin: 0; }
.gm-app #gm-subscription-filter-count:not(:empty) { background: var(--gm-soft); color: var(--gm-green-dark); font-size: 11px; padding: 7px 10px; border-radius: 7px; }
.gm-app .gm-subscriptions-page .dataTables_scrollHead table { margin-bottom: 0; }
.gm-app .gm-subscriptions-page #superadmin_subscription_table { border: 0; }
.gm-app .gm-subscriptions-page #superadmin_subscription_table td { padding: 14px 12px; font-size: 11px; vertical-align: middle; border: 0; border-bottom: 1px solid #e8eee7; line-height: 1.6; }
.gm-app .gm-subscriptions-page #superadmin_subscription_table th, .gm-app .gm-subscriptions-page .dataTables_scrollHead th { padding: 13px 12px; font-size: 10px; line-height: 1.5; border: 0; border-bottom: 1px solid var(--gm-border); background: #f2f7ef; color: #43554a; }
.gm-app .gm-subscription-business { min-width: 190px; max-width: 230px; font-weight: 700; overflow-wrap: anywhere; }
.gm-app .gm-subscription-package { min-width: 155px; max-width: 190px; }
.gm-app .gm-subscription-status { min-width: 95px; }
.gm-app .gm-subscription-price { min-width: 135px; white-space: nowrap; font-weight: 650; }
.gm-app .gm-subscription-date { min-width: 105px; white-space: nowrap; }
.gm-app .gm-subscription-created { min-width: 160px; white-space: nowrap; }
.gm-app .gm-subscription-reference { min-width: 165px; max-width: 230px; overflow-wrap: anywhere; }
.gm-app .gm-subscription-payment { min-width: 105px; }
.gm-app .gm-subscription-actions { min-width: 140px; }
.gm-app .gm-subscription-row-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.gm-app .gm-subscription-row-actions .tw-dw-btn { min-height: 29px; margin: 0 !important; padding: 5px 9px; font-size: 10px; line-height: 1.5; border-radius: 6px; border: 1px solid #cfe0d1; background: #f3f8f0; color: var(--gm-green-dark); white-space: nowrap; }
.gm-app .gm-subscription-row-actions .tw-dw-btn:hover { background: #e2f0df; }
.gm-app .gm-subscription-row-actions .gm-delete-subscription { background: #fff3f4; border-color: #f3c8cf; color: #a61b2b; }
.gm-app .gm-subscription-row-actions .gm-delete-subscription:hover { background: #ffe6ea; }
.gm-app .gm-subscription-row-actions .gm-delete-subscription:disabled { opacity: .6; cursor: wait; }
.gm-app .gm-subscription-status .label { display: inline-block; font-size: 10px; font-weight: 600; border-radius: 6px; padding: 5px 8px; }
.gm-app .gm-subscription-status .bg-light-green { background: #e8f4e5 !important; color: var(--gm-green-dark) !important; }
.gm-app .gm-subscription-status .bg-aqua { background: #fcf3e4 !important; color: #926027 !important; }
.gm-app .gm-subscription-status .bg-red { background: #fff0ed !important; color: #a03b32 !important; }
.gm-app .gm-subscription-empty { color: var(--gm-muted); font-weight: 400; }
.gm-app .gm-subscription-dialog .modal-content { border: 1px solid var(--gm-border); border-radius: 13px; overflow: hidden; }
.gm-app .gm-subscription-dialog .modal-header, .gm-app .gm-subscription-dialog .modal-body, .gm-app .gm-subscription-dialog .modal-footer { padding: 22px; }
.gm-app .gm-subscription-dialog .modal-title { font-size: 18px; font-weight: 700; }
.gm-app .gm-subscription-dialog label { font-size: 12px; font-weight: 650; margin-bottom: 8px; }
.gm-app .gm-subscription-dialog .form-control { height: 42px; border-radius: 7px; font-size: 12px; }
.gm-app .gm-subscription-dialog .modal-footer button { font-size: 12px; padding: 10px 16px; border-radius: 7px; }
.gm-app .gm-subscription-dialog .modal-footer [data-dismiss] { background: #fff !important; color: var(--gm-green-dark) !important; border: 1px solid var(--gm-border); }
@media (max-width: 1100px) {
  .gm-app .gm-subscription-filter-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .gm-app .gm-subscriptions-page { padding: 16px 14px 30px; }
  .gm-app .gm-subscription-filter-fields { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-subscription-table-card { padding: 18px 14px; }
  .gm-app .gm-subscription-table-heading { align-items: flex-start; flex-direction: column; }
  .gm-app #gm-subscription-count { margin: 7px 0 0; display: table; }
  .gm-app .gm-subscriptions-page .gm-product-table-search { min-width: 0; width: 100%; flex-basis: 100%; }
  .gm-app .gm-subscriptions-page .gm-product-table-search input { max-width: none; }
  .gm-app .gm-subscriptions-page .gm-product-table-tools { width: 100%; }
}
/* Package catalog and creation. */
.gm-app .gm-packages-page, .gm-app .gm-package-editor { padding: 16px 28px 36px; min-width: 0; }
.gm-app .gm-packages-list-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.gm-app .gm-packages-list-heading h2 { font-size: 17px; font-weight: 700; margin: 0; }
.gm-app .gm-packages-list-heading > span { color: var(--gm-muted); font-size: 11px; }
.gm-app .gm-package-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.gm-app .gm-package-card { display: flex; flex-direction: column; min-width: 0; background: #fff; border: 1px solid var(--gm-border); border-radius: 13px; overflow: hidden; }
.gm-app .gm-package-card > header { padding: 22px; border-bottom: 1px solid var(--gm-border); }
.gm-app .gm-package-badges { display: flex; gap: 7px; flex-wrap: wrap; margin-bottom: 16px; }
.gm-app .gm-package-badges > span { padding: 5px 8px; border-radius: 6px; font-size: 10px; font-weight: 650; }
.gm-app .gm-package-status { color: var(--gm-green-dark); background: #e8f4e5; }
.gm-app .gm-package-status.is-inactive { background: #f0f2ef; color: var(--gm-muted); }
.gm-app .gm-package-popular { background: #f0f6cc; color: #4c6121; }
.gm-app .gm-package-card h2 { font-size: 20px; font-weight: 750; margin: 0 0 9px; overflow-wrap: anywhere; }
.gm-app .gm-package-card header > p { font-size: 11px; line-height: 1.7; color: var(--gm-muted); margin: 0 0 20px; overflow-wrap: anywhere; }
.gm-app .gm-package-price { display: flex; flex-direction: column; gap: 5px; }
.gm-app .gm-package-price strong { font-size: 27px; font-weight: 750; letter-spacing: -1px; line-height: 1.3; overflow-wrap: anywhere; color: var(--gm-green-dark); }
.gm-app .gm-package-price > span { color: var(--gm-muted); font-size: 11px; }
.gm-app .gm-package-card-body { padding: 22px; flex: 1; }
.gm-app .gm-package-limits { margin: 0; }
.gm-app .gm-package-limits > div { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; border-bottom: 1px solid #edf2eb; }
.gm-app .gm-package-limits > div:first-child { padding-top: 0; }
.gm-app .gm-package-limits dt { font-size: 11px; color: var(--gm-muted); font-weight: 500; }
.gm-app .gm-package-limits dd { font-size: 11px; font-weight: 650; text-align: right; }
.gm-app .gm-package-trial { display: flex; align-items: center; gap: 7px; margin-top: 16px; color: var(--gm-green); font-size: 11px; }
.gm-app .gm-package-modules { margin-top: 20px; }
.gm-app .gm-package-modules h3 { font-size: 11px; font-weight: 700; margin: 0 0 10px; }
.gm-app .gm-package-modules ul { padding: 0; margin: 0; list-style: none; }
.gm-app .gm-package-modules li { display: flex; align-items: baseline; gap: 8px; font-size: 11px; line-height: 1.8; color: #43554a; }
.gm-app .gm-package-modules li i { color: var(--gm-green); font-size: 9px; }
.gm-app .gm-package-flags { display: flex; flex-wrap: wrap; gap: 7px; }
.gm-app .gm-package-flags:not(:empty) { margin-top: 20px; }
.gm-app .gm-package-flags span { padding: 5px 7px; background: #f5f8f3; border-radius: 5px; font-size: 10px; color: var(--gm-muted); }
.gm-app .gm-package-flags i { margin-right: 4px; }
.gm-app .gm-package-card footer { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 16px 22px; border-top: 1px solid var(--gm-border); }
.gm-app .gm-package-card footer a { display: inline-flex; align-items: center; justify-content: center; gap: 7px; font-size: 11px; font-weight: 650; border-radius: 7px; padding: 9px 12px; }
.gm-app .gm-package-edit { flex: 1; border: 1px solid #cfe0d1; color: var(--gm-green-dark); background: #f3f8f0; }
.gm-app .gm-package-edit:hover { background: #e2f0df; }
.gm-app .gm-package-delete { color: #a03b32; border: 1px solid #edd4d1; }
.gm-app .gm-package-delete:hover { background: #fff0ed; color: #a03b32; }
.gm-app .gm-packages-empty { grid-column: 1 / -1; padding: 50px 24px; text-align: center; border: 1px dashed var(--gm-border); border-radius: 13px; background: #fff; }
.gm-app .gm-packages-empty > i { font-size: 28px; color: #85a18a; margin-bottom: 18px; }
.gm-app .gm-packages-empty h2 { font-size: 19px; font-weight: 700; }
.gm-app .gm-packages-empty p { font-size: 12px; color: var(--gm-muted); }
.gm-app .gm-packages-pagination { margin-top: 22px; }
.gm-app .gm-package-form-card { padding: 24px; margin-bottom: 20px; border: 1px solid var(--gm-border); border-radius: 13px; background: #fff; scroll-margin-top: 82px; }
.gm-app .gm-package-form-card > header { padding-bottom: 20px; margin-bottom: 22px; border-bottom: 1px solid var(--gm-border); }
.gm-app .gm-package-form-card h2 { font-size: 17px; font-weight: 700; margin: 0 0 7px; }
.gm-app .gm-package-form-card header p { color: var(--gm-muted); font-size: 11px; line-height: 1.7; margin: 0; }
.gm-app .gm-package-form-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 24px; align-items: start; }
.gm-app .gm-package-field, .gm-app .gm-package-option { min-width: 0; }
.gm-app .gm-package-editor .form-group { margin-bottom: 0; }
.gm-app .gm-package-editor label { font-size: 12px; font-weight: 650; margin-bottom: 8px; }
.gm-app .gm-package-editor .form-control { height: 44px; border-radius: 8px; font-size: 12px; }
.gm-app .gm-package-editor textarea.form-control { height: auto; min-height: 104px; resize: vertical; }
.gm-app .gm-package-editor .help-block { color: var(--gm-muted); font-size: 10px; margin: 8px 0 0; line-height: 1.7; }
.gm-app .gm-package-editor .select2-container { width: 100% !important; max-width: 100%; }
.gm-app .gm-package-editor .select2-selection--single { height: 44px; border-radius: 8px; }
.gm-app .gm-package-editor .select2-selection--single .select2-selection__rendered { line-height: 42px; font-size: 12px; padding-left: 12px; }
.gm-app .gm-package-editor .select2-selection--single .select2-selection__arrow { height: 42px; right: 7px; }
.gm-app .gm-package-editor .select2-selection--multiple { min-height: 44px; border-radius: 8px; padding: 4px; }
.gm-app .gm-package-editor .select2-selection__choice { background: var(--gm-soft) !important; color: var(--gm-green-dark) !important; border: 1px solid #cde2cf !important; border-radius: 5px; font-size: 11px; }
.gm-app .gm-package-editor .input-group { display: flex; flex-wrap: wrap; width: 100%; }
.gm-app .gm-package-editor .input-group-addon { display: flex; align-items: center; justify-content: center; width: auto; border-color: var(--gm-border); border-radius: 8px 0 0 8px; background: #f5f8f3; color: var(--gm-muted); font-size: 11px; }
.gm-app .gm-package-editor .input-group .form-control { flex: 1; width: 0; min-width: 0; border-radius: 0 8px 8px 0; }
.gm-app .gm-package-editor .input-group label.error { flex-basis: 100%; }
.gm-app .gm-package-editor .checkbox { margin: 0; padding: 14px; border: 1px solid var(--gm-border); border-radius: 8px; background: #f8fbf6; }
.gm-app .gm-package-editor .checkbox label { display: flex; align-items: center; gap: 9px; padding: 0; margin: 0; font-size: 12px; line-height: 1.6; }
.gm-app .gm-package-editor .icheckbox_square-blue { background: #fff !important; border: 1px solid #bfd2c2; border-radius: 4px; width: 18px; height: 18px; flex: 0 0 18px; }
.gm-app .gm-package-editor .icheckbox_square-blue.checked { background: var(--gm-green) !important; border-color: var(--gm-green); }
.gm-app .gm-package-editor .icheckbox_square-blue.checked::after { content: '\2713'; position: absolute; inset: 0; color: #fff; font-size: 13px; line-height: 16px; text-align: center; pointer-events: none; }
.gm-app .gm-package-editor .icheckbox_square-blue.focus { outline: 2px solid #a4d3ac; outline-offset: 2px; }
.gm-app .gm-package-custom-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 24px; grid-column: 1 / -1; }
.gm-app .gm-package-form-footer { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 24px; background: #fff; border: 1px solid var(--gm-border); border-radius: 13px; }
.gm-app .gm-package-form-footer > div:first-child { display: flex; flex-direction: column; gap: 7px; }
.gm-app .gm-package-form-footer strong { font-size: 13px; }
.gm-app .gm-package-form-footer span { font-size: 11px; color: var(--gm-muted); }
.gm-app .gm-package-form-actions { display: flex; gap: 9px; flex-wrap: wrap; }
@media (max-width: 1200px) {
  .gm-app .gm-package-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .gm-app .gm-packages-page, .gm-app .gm-package-editor { padding: 16px 14px 30px; }
  .gm-app .gm-package-grid, .gm-app .gm-package-form-fields, .gm-app .gm-package-custom-links { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-package-form-card { padding: 18px; }
  .gm-app .gm-package-form-footer { align-items: flex-start; flex-direction: column; padding: 18px; }
  .gm-app .gm-package-form-actions { width: 100%; }
  .gm-app .gm-package-form-actions > * { flex: 1; }
}
/* Coupon directory and forms. */
.gm-app #gm-coupon-count { display: inline-block; font-size: 10px; font-weight: 550; color: var(--gm-muted); background: #f5f9f2; border: 1px solid var(--gm-border); border-radius: 6px; padding: 5px 8px; margin-left: 10px; vertical-align: middle; }
.gm-app .gm-coupons-page #superadmin_Coupons_table { border: 0; }
.gm-app .gm-coupons-page #superadmin_Coupons_table td { padding: 14px 12px; font-size: 11px; vertical-align: middle; border: 0; border-bottom: 1px solid #e8eee7; line-height: 1.6; }
.gm-app .gm-coupons-page #superadmin_Coupons_table th, .gm-app .gm-coupons-page .dataTables_scrollHead th { padding: 13px 12px; font-size: 10px; line-height: 1.5; border: 0; border-bottom: 1px solid var(--gm-border); background: #f2f7ef; color: #43554a; }
.gm-app .gm-coupon-code { min-width: 155px; max-width: 200px; font-family: monospace; font-weight: 700; overflow-wrap: anywhere; }
.gm-app .gm-coupon-status { min-width: 95px; }
.gm-app .gm-coupon-type, .gm-app .gm-coupon-discount, .gm-app .gm-coupon-expiry { min-width: 125px; }
.gm-app .gm-coupon-discount { font-weight: 650; white-space: nowrap; }
.gm-app .gm-coupon-eligibility { min-width: 205px; max-width: 250px; overflow-wrap: anywhere; }
.gm-app .gm-coupon-created { min-width: 160px; }
.gm-app .gm-coupon-actions { min-width: 200px; }
.gm-app .gm-coupon-badge { display: inline-block; padding: 5px 8px; background: #e8f4e5; color: var(--gm-green-dark); border-radius: 6px; font-size: 10px; font-weight: 600; }
.gm-app .gm-coupon-badge.is-inactive { background: #f0f2ef; color: var(--gm-muted); }
.gm-app .gm-coupon-muted { color: var(--gm-muted); }
.gm-app .gm-coupon-row-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.gm-app .gm-coupon-row-actions .tw-dw-btn { min-height: 29px; margin: 0 !important; padding: 5px 9px; font-size: 10px; line-height: 1.5; border-radius: 6px; border: 1px solid #cfe0d1; background: #f3f8f0; color: var(--gm-green-dark); white-space: nowrap; }
.gm-app .gm-coupon-row-actions .tw-dw-btn:hover { background: #e2f0df; }
.gm-app .gm-coupon-row-actions .delete_coupon_confirmation { border-color: #edd4d1; background: #fff7f5; color: #a03b32; }
.gm-app .gm-coupon-row-actions .delete_coupon_confirmation:hover { background: #ffeae6; }
.gm-app .gm-coupon-code-field { grid-column: 1 / -1; }
.gm-app .gm-coupon-editor .gm-package-field small { display: block; margin-top: 8px; color: var(--gm-muted); font-size: 10px; line-height: 1.7; }
.gm-app .gm-coupon-editor .checkbox { margin-top: 26px; }
@media (max-width: 700px) {
  .gm-app .gm-coupon-editor .checkbox { margin-top: 0; }
  .gm-app #gm-coupon-count { margin: 7px 0 0; display: table; }
}
/* SweetAlert confirmations share the application dialog styles. */
.gm-app .swal-overlay { background: rgba(17, 34, 23, .42); }
.gm-app .swal-modal { width: 440px; max-width: calc(100% - 32px); border: 1px solid var(--gm-border); border-radius: 16px; background: #fff; box-shadow: 0 20px 70px rgba(14, 35, 20, .2); overflow: hidden; font-family: inherit; }
.gm-app .swal-title { font-size: 21px; line-height: 1.4; font-weight: 750; letter-spacing: -.025em; color: var(--gm-ink); padding: 0 24px; overflow-wrap: anywhere; }
.gm-app .swal-title:first-child { margin-top: 26px; }
.gm-app .swal-title:not(:last-child) { margin-bottom: 12px; }
.gm-app .swal-text { display: block; max-width: 100%; padding: 0 26px; color: var(--gm-muted); font-size: 13px; line-height: 1.7; text-align: center; }
.gm-app .swal-text:first-child { margin-top: 26px; }
.gm-app .swal-text:last-child { margin-bottom: 26px; }
.gm-app .swal-footer { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; margin-top: 24px; padding: 18px 24px; background: #f8fbf6; border-top: 1px solid var(--gm-border); border-radius: 0; }
.gm-app .swal-button-container { margin: 0; }
.gm-app .swal-button { min-height: 40px; padding: 10px 17px; border: 1px solid var(--gm-green); border-radius: 8px; font-size: 12px; font-weight: 650; background: var(--gm-green); color: #fff; box-shadow: none; }
.gm-app .swal-button:not([disabled]):hover, .gm-app .swal-button:active { background: var(--gm-green-dark); border-color: var(--gm-green-dark); }
.gm-app .swal-button:focus { box-shadow: 0 0 0 3px #d4e8d4; }
.gm-app .swal-button--cancel { background: #fff; border-color: var(--gm-border); color: var(--gm-ink); }
.gm-app .swal-button--cancel:not([disabled]):hover, .gm-app .swal-button--cancel:active { background: var(--gm-soft); border-color: #bfd5c2; }
.gm-app .swal-button--danger { background: #b64238; border-color: #b64238; }
.gm-app .swal-button--danger:not([disabled]):hover, .gm-app .swal-button--danger:active { background: #96362f; border-color: #96362f; }
.gm-app .swal-button--danger:focus { box-shadow: 0 0 0 3px #f4d9d5; }
.gm-app .swal-icon--warning { width: 56px; height: 56px; margin: 26px auto 20px; border: 2px solid #dfb777; background: #fff8eb; }
.gm-app .swal-icon--warning:first-child { margin-top: 26px; }
.gm-app .swal-icon--warning__body { height: 26px; width: 3px; top: 9px; margin-left: -2px; background: #a97931; }
.gm-app .swal-icon--warning__dot { width: 5px; height: 5px; bottom: 9px; margin-left: -3px; background: #a97931; }
/* Product details, including the asynchronously loaded stock report. */
.gm-app .gm-product-detail-dialog { width: calc(100% - 48px); max-width: 1180px; margin: 24px auto; }
.gm-app .gm-product-detail-dialog .modal-content { display: flex; flex-direction: column; max-height: calc(100dvh - 48px); border: 1px solid var(--gm-border); border-radius: 16px; overflow: hidden; }
.gm-app .gm-product-detail-dialog .modal-header { padding: 24px 28px; border-bottom: 1px solid var(--gm-border); background: #fff; }
.gm-app .gm-product-detail-eyebrow { display: block; margin-bottom: 7px; color: var(--gm-muted); font-size: 10px; font-weight: 650; letter-spacing: 1px; text-transform: uppercase; }
.gm-app .gm-product-detail-dialog .modal-title { font-size: 23px; font-weight: 750; line-height: 1.3; padding-right: 30px; overflow-wrap: anywhere; }
.gm-app .gm-product-detail-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.gm-app .gm-product-detail-badges span { padding: 5px 9px; border-radius: 6px; background: var(--gm-soft); color: var(--gm-green-dark); font-size: 11px; }
.gm-app .gm-product-detail-dialog .close { font-size: 27px; color: var(--gm-muted); opacity: 1; }
.gm-app .gm-product-detail-dialog .modal-body { flex: 1; min-height: 0; padding: 24px 28px; overflow-y: auto; background: var(--gm-canvas); }
.gm-app .gm-product-detail-dialog :is(.modal-header, .modal-footer) { flex-shrink: 0; }
.gm-app .gm-product-detail-overview { display: grid; grid-template-columns: minmax(0, 1fr) 230px; gap: 20px; align-items: start; }
.gm-app .gm-product-detail-information { min-width: 0; }
.gm-app .gm-product-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.gm-app .gm-product-detail-card { padding: 18px; border: 1px solid var(--gm-border); border-radius: 10px; background: #fff; min-width: 0; }
.gm-app .gm-product-detail-dialog h5 { font-size: 13px; font-weight: 700; margin: 0 0 16px; color: var(--gm-ink); }
.gm-app .gm-product-detail-card dl { margin: 0; }
.gm-app .gm-product-detail-card dl > div + div { margin-top: 13px; }
.gm-app .gm-product-detail-card dt { color: var(--gm-muted); font-size: 10px; font-weight: 500; margin-bottom: 3px; }
.gm-app .gm-product-detail-card dd { font-size: 12px; font-weight: 600; overflow-wrap: anywhere; }
.gm-app .gm-product-detail-locations { margin-top: 14px; }
.gm-app .gm-product-location-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.gm-app .gm-product-location-tags span { padding: 6px 9px; border: 1px solid #d5e5d7; background: #f6faf4; color: var(--gm-green-dark); border-radius: 6px; font-size: 10px; overflow-wrap: anywhere; }
.gm-app .gm-product-detail-image { margin: 0; padding: 16px; background: #fff; border: 1px solid var(--gm-border); border-radius: 10px; }
.gm-app .gm-product-detail-image img { width: 100%; height: 200px; object-fit: contain; }
.gm-app .gm-product-detail-extra, .gm-app .gm-product-detail-description { margin-top: 18px; }
.gm-app .gm-product-detail-extra dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.gm-app .gm-product-detail-extra dl > div + div { margin-top: 0; }
.gm-app .gm-product-detail-description { font-size: 12px; overflow-wrap: anywhere; }
.gm-app .gm-product-detail-description img { max-width: 100%; height: auto; }
.gm-app .gm-product-detail-download { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; font-size: 12px; }
.gm-app .gm-product-detail-pricing, .gm-app .gm-product-detail-stock:not(:empty) { padding: 20px; margin-top: 20px; background: #fff; border: 1px solid var(--gm-border); border-radius: 10px; }
.gm-app .gm-product-detail-dialog .row { margin: 0; }
.gm-app .gm-product-detail-dialog .row > [class*="col-"] { padding: 0; min-width: 0; }
.gm-app .gm-product-detail-pricing > br { display: none; }
.gm-app .gm-product-detail-dialog .table { margin: 0; background: #fff !important; font-size: 12px; }
.gm-app .gm-product-detail-dialog .table th { background: #eef6ec !important; color: var(--gm-green-dark) !important; font-size: 10px; font-weight: 650; padding: 12px; border-bottom: 1px solid var(--gm-border); }
.gm-app .gm-product-detail-dialog .table td { padding: 14px 12px; border-color: var(--gm-border); vertical-align: middle; }
.gm-app .gm-product-detail-dialog .table .bg-green { background: #eef6ec !important; }
.gm-app .gm-product-detail-dialog .table .img-thumbnail { border-radius: 7px; border-color: var(--gm-border); }
.gm-app .gm-product-detail-dialog .modal-footer { padding: 16px 28px; background: #fff; border-top: 1px solid var(--gm-border); }
.gm-app .gm-product-detail-dialog .modal-footer button { min-height: 38px; padding: 9px 16px; border-radius: 7px; font-size: 12px; }
.gm-app .gm-product-detail-dialog .modal-footer [data-dismiss] { background: #fff !important; color: var(--gm-green-dark) !important; border: 1px solid var(--gm-border); }
@media (max-width: 1000px) {
  .gm-app .gm-product-detail-overview { grid-template-columns: minmax(0, 1fr) 170px; }
  .gm-app .gm-product-detail-grid { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-product-detail-card dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .gm-app .gm-product-detail-card dl > div + div { margin-top: 0; }
  .gm-app .gm-product-detail-image img { height: 140px; }
}
@media (max-width: 600px) {
  .gm-app .gm-product-detail-dialog { width: calc(100% - 20px); margin: 10px auto; }
  .gm-app .gm-product-detail-dialog :is(.modal-header, .modal-body, .modal-footer) { padding: 18px; }
  .gm-app .gm-product-detail-dialog .modal-title { font-size: 20px; }
  .gm-app .gm-product-detail-dialog .modal-content { max-height: calc(100dvh - 20px); }
  .gm-app .gm-product-detail-overview { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-product-detail-image { grid-row: 1; }
  .gm-app .gm-product-detail-image img { height: 140px; }
  .gm-app .gm-product-detail-pricing, .gm-app .gm-product-detail-stock:not(:empty) { padding: 16px; }
  .gm-app .gm-product-detail-dialog .table-responsive { border: 0; }
}
@media print {
  .gm-app .gm-product-detail-dialog .modal-content { display: block; max-height: none; overflow: visible; }
  .gm-app .gm-product-detail-dialog .modal-body { max-height: none; overflow: visible; }
}
.gm-app .gm-product-editor .add-product-price-table { font-size: 12px; }
.gm-app .gm-product-editor .add-product-price-table th { font-size: 11px; padding: 12px; white-space: nowrap; background: var(--gm-soft) !important; color: var(--gm-green-dark) !important; }
.gm-app .gm-product-editor .add-product-price-table td { padding: 14px; vertical-align: top; }
.gm-app .gm-product-save-bar { margin: 24px 0 0; }
.gm-app .gm-product-save-bar > div { padding: 0; }
.gm-app .gm-product-save-layout { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 24px; background: #fff; border: 1px solid var(--gm-border); border-radius: 14px; }
.gm-app .gm-product-save-note { display: flex; flex-direction: column; gap: 6px; }
.gm-app .gm-product-save-note strong { font-size: 13px; }
.gm-app .gm-product-save-note span { font-size: 11px; color: var(--gm-muted); }
.gm-app .gm-product-save-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.gm-app .gm-product-save-actions button { font-size: 11px; min-height: 40px; padding: 10px 14px; border-radius: 8px; }
.gm-app .gm-product-secondary { background: #fff !important; border: 1px solid var(--gm-border) !important; color: var(--gm-green-dark) !important; }
.gm-app .gm-product-secondary:hover { background: var(--gm-soft) !important; }
@media (max-width: 1100px) {
  .gm-app .gm-product-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .gm-app .gm-product-editor { padding: 22px 14px 36px; }
  .gm-app .gm-product-editor-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  .gm-app .gm-product-editor-heading h1 { font-size: 24px; }
  .gm-app .gm-product-section > div { padding: 18px !important; }
  .gm-app .gm-product-fields { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .gm-app .gm-product-fields > [class*="col-"] { grid-column: 1; }
  .gm-app .gm-product-save-layout { padding: 18px; }
  .gm-app .gm-product-save-actions, .gm-app .gm-product-save-actions button { width: 100%; }
  .gm-app .gm-product-editor .add-product-price-table { min-width: 680px; }
  .gm-app .gm-product-editor[data-product-type="single"] .add-product-price-table { min-width: 0; width: 100%; border: 0; }
  .gm-app .gm-product-editor[data-product-type="single"] .add-product-price-table :is(tbody, tr, td) { display: block; width: 100%; }
  .gm-app .gm-product-editor[data-product-type="single"] .add-product-price-table tr:first-child { display: none; }
  .gm-app .gm-product-editor[data-product-type="single"] .add-product-price-table td { border: 0; border-bottom: 1px solid var(--gm-border); padding: 18px 0; }
  .gm-app .gm-product-editor[data-product-type="single"] .add-product-price-table td::before { content: attr(data-label); display: block; font-size: 13px; font-weight: 700; color: var(--gm-green-dark); margin-bottom: 12px; }
  .gm-app .gm-product-editor[data-product-type="single"] .add-product-price-table td > .col-sm-6 { padding: 0; margin-bottom: 10px; }
  .gm-app .gm-product-editor[data-product-type="single"] .add-product-price-table td > br { display: none; }
}

/* Product catalog and stock report workspace. */
.gm-app .gm-products-page { padding: 28px 28px 44px; }
.gm-app .gm-products-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 24px; }
.gm-app .gm-products-heading h1 { font-size: 30px; font-weight: 750; letter-spacing: -.035em; margin: 7px 0 8px; }
.gm-app .gm-products-heading p { margin: 0; font-size: 12px; color: var(--gm-muted); }
.gm-app .gm-products-heading-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.gm-app .gm-products-heading-actions a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 15px; border-radius: 8px; font-size: 12px; font-weight: 650; }
.gm-app .gm-products-add { color: #fff !important; background: var(--gm-green); border: 1px solid var(--gm-green); }
.gm-app .gm-products-add:hover { background: var(--gm-green-dark); }
.gm-app .gm-products-download { background: #fff; color: var(--gm-green-dark); border: 1px solid var(--gm-border); }
.gm-app .gm-products-download:hover { background: var(--gm-soft); }
.gm-app .gm-products-filters .gm-filter-card { background: #fff !important; margin-bottom: 22px; box-shadow: none !important; }
.gm-app .gm-products-filters .box-header { padding: 13px 20px; }
.gm-app .gm-products-filters .box-title { display: block; padding: 0; font-size: 13px; margin: 0; }
.gm-app .gm-products-filters .box-title a { display: block; }
.gm-app .gm-products-filters .box-title a::after { content: "⌄"; float: right; color: var(--gm-muted); font-size: 16px; }
.gm-app .gm-products-filters .box-title a[aria-expanded=true]::after { content: "⌃"; }
.gm-app .gm-products-filters #collapseFilter { padding: 0; }
.gm-app .gm-products-filters .box-body { padding: 20px; }
.gm-app .gm-products-filter-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px 20px; }
.gm-app .gm-products-filter-fields > [class*="col-"] { width: auto; padding: 0; min-width: 0; float: none; }
.gm-app .gm-products-filter-fields > [class*="col-"] > br, .gm-app .gm-products-filter-fields .form-group > br { display: none; }
.gm-app .gm-products-filters .form-group { margin-bottom: 0; }
.gm-app .gm-products-filters label { font-size: 11px; font-weight: 650; margin-bottom: 7px; }
.gm-app .gm-products-filters .select2-container { max-width: 100%; width: 100% !important; }
.gm-app .gm-products-filters .select2-selection--single { height: 40px; border-radius: 7px; }
.gm-app .gm-products-filters .select2-selection__rendered { line-height: 38px; font-size: 12px; padding-left: 11px; }
.gm-app .gm-products-filters .select2-selection__arrow { height: 38px; }
.gm-app .gm-products-filter-footer { display: flex; justify-content: flex-end; border-top: 1px solid var(--gm-border); padding-top: 14px; margin-top: 18px; }
.gm-app #gm-products-reset-filters { background: #fff; border: 1px solid var(--gm-border); color: var(--gm-green-dark); border-radius: 7px; font-size: 11px; padding: 7px 10px; }
.gm-app .gm-products-filters .icheckbox_square-blue { background: #fff !important; border: 1px solid #bfd2c2; border-radius: 4px; width: 18px; height: 18px; margin-right: 6px; }
.gm-app .gm-products-filters .icheckbox_square-blue.checked { background: var(--gm-green) !important; border-color: var(--gm-green); }
.gm-app .gm-products-filters .icheckbox_square-blue.checked::after { content: "\2713"; position: absolute; inset: 0; color: #fff; font-size: 13px; line-height: 16px; text-align: center; pointer-events: none; }
.gm-app .gm-products-table-card { border: 1px solid var(--gm-border); box-shadow: 0 3px 14px rgba(25,60,30,.03); border-radius: 14px; overflow: visible; }
.gm-app .gm-products-table-card > .nav-tabs { padding: 0 20px; }
.gm-app .gm-products-table-card > .nav-tabs > li { margin: 0 18px 0 0; border: 0; }
.gm-app .gm-products-table-card > .nav-tabs > li > a { font-size: 12px; padding: 17px 0; border: 0 !important; border-radius: 0; font-weight: 650; }
.gm-app .gm-products-table-card > .nav-tabs > li.active { border-bottom: 2px solid var(--gm-green); }
.gm-app .gm-products-table-card > .nav-tabs > li.active > a { color: var(--gm-green-dark); background: transparent; }
.gm-app .gm-products-table-card > .tab-content { padding: 22px 20px 18px; }
.gm-app .gm-products-list-heading { margin-bottom: 20px; }
.gm-app .gm-products-list-heading h2 { font-size: 17px; font-weight: 750; margin: 0 0 6px; }
.gm-app .gm-products-list-heading p { margin: 0; font-size: 11px; color: var(--gm-muted); }
.gm-app .gm-products-media-hint { margin-left: 14px; }
.gm-app .gm-product-table-toolbar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.gm-app .gm-product-table-search { flex: 1; min-width: 200px; }
.gm-app .gm-product-table-search .dataTables_filter { float: none; text-align: left; }
.gm-app .gm-product-table-search .dataTables_filter label { width: 100%; margin-bottom: 0; }
.gm-app .gm-product-table-search .dataTables_filter input { width: 100%; max-width: 320px; height: 38px; margin-left: 0; padding: 9px 12px; font-size: 12px; }
.gm-app .gm-product-table-length .dataTables_length label { font-size: 11px; margin-bottom: 0; white-space: nowrap; }
.gm-app .gm-product-table-length select { height: 36px; border-radius: 7px; border-color: var(--gm-border); }
.gm-app .gm-product-table-tools .dt-buttons { display: flex; flex-wrap: wrap; gap: 6px; float: none; margin: 0; }
.gm-app .gm-product-table-tools .dt-button { padding: 8px 9px; font-size: 10px; margin: 0; min-height: 34px; }
.gm-app .gm-products-page .dataTables_scrollHead table { margin-bottom: 0; }
.gm-app .gm-products-page #product_table td { padding: 12px 10px; vertical-align: top; font-size: 12px; border-color: #e8eee7; }
.gm-app .gm-products-page #product_table th, .gm-app .gm-products-page #product_table_wrapper .dataTables_scrollHead th { font-size: 10px; padding: 13px 10px; }
.gm-app .gm-products-select-column { min-width: 32px; max-width: 32px; text-align: center; }
.gm-app .gm-products-image-column { min-width: 64px; max-width: 64px; }
.gm-app .gm-products-action-column { min-width: 96px; }
.gm-app .gm-products-name-column { min-width: 200px; max-width: 240px; overflow-wrap: anywhere; }
.gm-app .gm-products-location-column { min-width: 190px; max-width: 230px; }
.gm-app .gm-products-page .product-thumbnail-small { width: 44px; height: 44px; object-fit: contain; background: #fff; border: 1px solid var(--gm-border); border-radius: 7px; }
.gm-app .gm-products-page .gm-products-name-column { font-weight: 650; color: var(--gm-ink); }
.gm-app .gm-products-page .gm-products-action-column .dropdown-toggle { font-size: 10px; border-radius: 6px; padding: 6px 8px; }
.gm-app .gm-products-locations summary { cursor: pointer; list-style: none; font-size: 11px; line-height: 1.5; color: var(--gm-muted); }
.gm-app .gm-products-locations summary::-webkit-details-marker { display: none; }
.gm-app .gm-products-locations summary > span { display: block; width: fit-content; margin-top: 5px; color: var(--gm-green); background: var(--gm-soft); border-radius: 4px; padding: 2px 6px; font-size: 10px; font-weight: 650; }
.gm-app .gm-products-locations[open] summary > span { background: #d9eddb; }
.gm-app .gm-products-locations ul { margin: 10px 0 0; padding-left: 15px; font-size: 10px; color: var(--gm-muted); line-height: 1.7; }
.gm-app .gm-products-single-location, .gm-app .gm-products-no-location { font-size: 11px; color: var(--gm-muted); }
.gm-app .gm-product-table-footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; flex-wrap: wrap; padding-top: 18px; font-size: 11px; }
.gm-app .gm-product-table-footer .dataTables_info, .gm-app .gm-product-table-footer .dataTables_paginate { float: none; padding-top: 0; }
.gm-app .gm-products-bulk-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
@media (max-width: 1200px) {
  .gm-app .gm-products-filter-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gm-app .gm-product-table-tools { width: 100%; }
}
@media (max-width: 600px) {
  .gm-app .gm-products-page { padding: 22px 14px 36px; }
  .gm-app .gm-products-heading { flex-direction: column; align-items: flex-start; gap: 18px; }
  .gm-app .gm-products-heading h1 { font-size: 26px; }
  .gm-app .gm-products-heading-actions { width: 100%; }
  .gm-app .gm-products-heading-actions a { flex: 1; font-size: 11px; padding: 10px; }
  .gm-app .gm-products-table-card > .tab-content { padding: 18px 14px; }
  .gm-app .gm-products-table-card > .nav-tabs { padding: 0 14px; }
  .gm-app .gm-products-filter-fields { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-products-filters .box-body { padding: 16px; }
  .gm-app .gm-product-table-search { width: 100%; min-width: 0; flex: auto; }
  .gm-app .gm-product-table-search .dataTables_filter input { max-width: none; }
  .gm-app .gm-products-media-hint { display: block; margin: 5px 0 0; }
  .gm-app .gm-product-table-tools .dt-button { font-size: 9px; padding: 7px; }
  .gm-app .gm-products-table-card > .nav-tabs > li > a { font-size: 11px; }
}

/* Platform settings: one form, eight clearly labeled sections. */
.gm-app .gm-settings-page { padding: 26px 24px 38px; }
.gm-app .gm-settings-search { max-width: 520px; margin-bottom: 24px; }
.gm-app .gm-settings-search > label { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 650; }
.gm-app .gm-settings-search .row { margin: 0; }
.gm-app .gm-settings-search .row > div { float: none; width: 100%; margin: 0; padding: 0; }
.gm-app .gm-settings-search .input-group { flex-wrap: nowrap; }
.gm-app .gm-settings-search .input-group > .select2-container { flex: 1; width: 0 !important; min-width: 0; }
.gm-app .gm-settings-search .select2-selection { border-radius: 0 8px 8px 0; }
.gm-app .gm-settings-layout.pos-tab-container { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 24px; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.gm-app .gm-settings-sidebar { align-self: start; position: sticky; top: 20px; min-width: 0; padding: 18px 12px; border: 1px solid var(--gm-border); border-radius: 13px; background: #fff; }
.gm-app .gm-settings-sidebar-title { padding: 2px 12px 14px; color: var(--gm-muted); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.gm-app .gm-settings-page .pos-tab-menu .list-group { margin: 0; }
.gm-app .gm-settings-page .pos-tab-menu .list-group > .list-group-item { display: flex; align-items: center; gap: 12px; margin: 3px 0; padding: 12px; border: 0; border-radius: 8px; background: transparent; color: #536358; font-size: 12px; font-weight: 600; line-height: 1.5; text-align: left; }
.gm-app .gm-settings-page .pos-tab-menu .list-group > .list-group-item > i { width: 16px; flex: none; color: #77917e; text-align: center; }
.gm-app .gm-settings-page .pos-tab-menu .list-group > .list-group-item:hover { color: var(--gm-green-dark); background: #f3f8f2; }
.gm-app .gm-settings-page .pos-tab-menu .list-group > .list-group-item.active { background: var(--gm-soft) !important; color: var(--gm-green-dark) !important; box-shadow: inset 3px 0 var(--gm-green); }
.gm-app .gm-settings-page .pos-tab-menu .list-group > .list-group-item.active > i { color: var(--gm-green); }
.gm-app .gm-settings-page .pos-tab-menu .list-group > .list-group-item::after { display: none; }
.gm-app .gm-settings-gateway { margin: 20px 8px 0; padding: 18px 4px 0; border-top: 1px solid var(--gm-border); }
.gm-app .gm-settings-gateway > i { margin-right: 7px; color: var(--gm-green); }
.gm-app .gm-settings-gateway strong { font-size: 12px; }
.gm-app .gm-settings-gateway p { margin: 8px 0 12px; color: var(--gm-muted); font-size: 11px; line-height: 1.7; }
.gm-app .gm-settings-gateway a { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 650; line-height: 1.6; }
.gm-app .gm-settings-main, .gm-app .gm-settings-main .pos-tab { min-width: 0; }
.gm-app .gm-settings-page .pos-tab-content { padding: 26px; margin: 0 0 20px; border: 1px solid var(--gm-border); border-radius: 13px; background: #fff; }
.gm-app .gm-settings-panel-heading { margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--gm-border); }
.gm-app .gm-settings-panel-heading h2 { margin: 7px 0 8px; font-size: 20px; font-weight: 750; }
.gm-app .gm-settings-panel-heading p { margin: 0; color: var(--gm-muted); font-size: 12px; line-height: 1.7; }
.gm-app .gm-settings-page .pos-tab-content > .row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 24px; margin: 0 0 24px; }
.gm-app .gm-settings-page .pos-tab-content > .row:last-child { margin-bottom: 0; }
.gm-app .gm-settings-page .pos-tab-content > .row::before, .gm-app .gm-settings-page .pos-tab-content > .row::after, .gm-app .gm-settings-page .pos-tab-content > .row > .clearfix { display: none; }
.gm-app .gm-settings-page .pos-tab-content > .row > [class*="col-"] { float: none; width: auto; min-width: 0; padding: 0; }
.gm-app .gm-settings-page .pos-tab-content > .row > .col-xs-12, .gm-app .gm-settings-page .pos-tab-content > .row > h4 { grid-column: 1 / -1; }
.gm-app .gm-settings-page .form-group { margin-bottom: 0; }
.gm-app .gm-settings-page .form-group > label { margin-bottom: 8px; font-size: 12px; font-weight: 650; line-height: 1.6; }
.gm-app .gm-settings-page .form-group > label:has(input[type="checkbox"]) { display: flex; align-items: flex-start; gap: 9px; margin: 0; padding: 14px; border: 1px solid var(--gm-border); border-radius: 9px; background: #f7faf5; }
.gm-app .gm-settings-page .form-group .icheckbox_square-blue { margin-top: 1px; }
.gm-app .gm-business-settings-page .checkbox { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 13px 14px; }
.gm-app .gm-business-settings-page .checkbox > br { display: none; }
.gm-app .gm-business-settings-page .checkbox > label { flex: 1; min-width: 0; margin: 0; }
.gm-app .gm-business-settings-page .checkbox > .hover-q { flex: none; margin: 0; font-size: 13px; }
.gm-app .gm-business-settings-page .checkbox .icheckbox_square-blue { flex: 0 0 18px; margin: 0; }
.gm-app .gm-custom-label-group { margin-bottom: 24px; padding: 22px; border: 1px solid var(--gm-border); border-radius: 11px; background: #fafcf8; }
.gm-app .gm-custom-label-group:last-child { margin-bottom: 0; }
.gm-app .gm-custom-label-group > header { display: flex; align-items: flex-start; gap: 13px; padding-bottom: 18px; margin-bottom: 22px; border-bottom: 1px solid var(--gm-border); }
.gm-app .gm-custom-label-icon { display: flex; align-items: center; justify-content: center; flex: 0 0 36px; height: 36px; border-radius: 8px; background: #e7f2e8; color: var(--gm-green); font-size: 13px; }
.gm-app .gm-custom-label-group h3 { margin: 0 0 6px; font-size: 15px; font-weight: 700; line-height: 1.5; }
.gm-app .gm-custom-label-group header p { margin: 0; color: var(--gm-muted); font-size: 11px; line-height: 1.7; }
.gm-app .gm-custom-label-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 20px; }
.gm-app .gm-custom-label-fields > [class*="col-"] { float: none; width: auto; min-width: 0; padding: 0; }
.gm-app .gm-custom-label-fields .input-group { display: flex; flex-direction: column; gap: 9px; }
.gm-app .gm-custom-label-fields .input-group > .form-control { flex: none; width: 100%; border-radius: 8px; }
.gm-app .gm-custom-label-fields .input-group-addon { display: flex; flex-wrap: wrap; gap: 10px 16px; width: 100%; padding: 10px 12px; border: 1px solid var(--gm-border); border-radius: 8px; background: #f0f6ec; text-align: left; white-space: normal; }
.gm-app .gm-custom-label-fields .input-group-addon > label { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 0; color: #43554a; font-size: 11px; font-weight: 500; line-height: 1.6; }
.gm-app .gm-custom-label-fields input[type="checkbox"] { position: static; flex: 0 0 16px; width: 16px; height: 16px; margin: 0; accent-color: var(--gm-green); }
.gm-app .gm-custom-label-fields .custom_labels_products { width: 100%; min-width: 0; height: 36px; padding: 6px 9px; border: 1px solid #cdddcf; border-radius: 6px; background: #fff; color: var(--gm-ink); font-size: 11px; }
.gm-app .gm-custom-label-fields .custom_label_product_dropdown { margin-top: 10px; }
.gm-app .gm-custom-label-fields textarea { display: block; width: 100%; max-width: 100%; min-height: 86px; padding: 10px 12px; border: 1px solid #cdddcf; border-radius: 8px; background: #fff; color: var(--gm-ink); font-size: 12px; line-height: 1.7; resize: vertical; }
.gm-app .gm-custom-label-fields :is(select, textarea):focus-visible { outline: 2px solid var(--gm-green); outline-offset: 2px; }
@media (max-width: 767px) {
  .gm-app .gm-custom-label-group { padding: 18px 14px; }
  .gm-app .gm-custom-label-fields { grid-template-columns: minmax(0, 1fr); }
}
.gm-app .gm-settings-page .input-group { display: flex; flex-wrap: nowrap; align-items: stretch; }
.gm-app .gm-settings-page .input-group > .select2-container { flex: 1; width: 0 !important; min-width: 0; }
.gm-app .gm-settings-page .input-group .select2-selection { border-radius: 0 8px 8px 0; }
.gm-app .gm-settings-page .input-group-addon { display: flex; align-items: center; justify-content: center; width: auto; min-width: 38px; padding: 0 10px; border: 1px solid var(--gm-border) !important; border-right: 0 !important; border-radius: 8px 0 0 8px !important; background: #f5f8f3 !important; color: var(--gm-muted) !important; font-size: 12px; }
.gm-app .gm-settings-page .input-group .form-control { flex: 1; width: 0; min-width: 0; border-radius: 0 8px 8px 0; }
.gm-app .gm-settings-page .input-group .form-control:only-child { border-radius: 8px; }
.gm-app .gm-settings-page .help-block { margin: 9px 0 0; color: var(--gm-muted); font-size: 11px; line-height: 1.7; }
.gm-app .gm-settings-page .pos-tab-content > .row > h4 { margin: 14px 0 0; padding-top: 22px; border-top: 1px solid var(--gm-border); font-size: 15px; font-weight: 700; }
.gm-app .gm-settings-page .pos-tab-content > .row > h4:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.gm-app .gm-settings-page .pos-tab-content h4 small { color: var(--gm-muted); font-size: 11px; }
.gm-app .gm-settings-page #gm-settings-payment_gateways .col-xs-4:not(:has(.form-group)), .gm-app .gm-settings-page #gm-settings-payment_gateways .col-xs-3:not(:has(.form-group)) { grid-column: 1 / -1; padding: 16px; border: 1px solid var(--gm-border); border-radius: 9px; background: #f7faf5; color: var(--gm-muted); font-size: 11px; line-height: 1.9; }
.gm-app .gm-settings-page #gm-settings-payment_gateways .form-group > b { display: block; margin-top: 10px; font-size: 11px; line-height: 1.7; font-weight: 500; }
.gm-app .gm-settings-page #gm-settings-cron p { margin-bottom: 18px; font-size: 13px; line-height: 1.9; }
.gm-app .gm-settings-page #gm-settings-cron code { display: block; margin-top: 16px; padding: 16px; border: 1px solid var(--gm-border); border-radius: 9px; background: #f3f7f0; color: var(--gm-green-dark); font-size: 12px; overflow-wrap: anywhere; }
.gm-app .gm-settings-page #additional_js, .gm-app .gm-settings-page #additional_css { min-height: 220px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; line-height: 1.6; tab-size: 2; }
.gm-app .gm-settings-page .tox-tinymce { max-width: 100%; border-color: var(--gm-border); border-radius: 9px; }
.gm-app .gm-settings-page .gm-settings-search-match { border-radius: 4px; background: #d9eddd; box-shadow: 0 0 0 4px #d9eddd; }
@media (max-width: 1100px) {
  .gm-app .gm-settings-layout.pos-tab-container { grid-template-columns: 220px minmax(0, 1fr); gap: 18px; }
  .gm-app .gm-settings-page .pos-tab-content { padding: 22px; }
}
@media (max-width: 850px) {
  .gm-app .gm-settings-layout.pos-tab-container { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-settings-sidebar { position: static; }
  .gm-app .gm-settings-page .pos-tab-menu .list-group { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
  .gm-app .gm-settings-gateway { margin-top: 14px; }
}
@media (max-width: 600px) {
  .gm-app .gm-settings-page { padding: 20px 14px 30px; }
  .gm-app .gm-settings-page .pos-tab-content { padding: 18px; }
  .gm-app .gm-settings-page .pos-tab-content > .row { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .gm-app .gm-settings-page .pos-tab-menu .list-group > .list-group-item { padding: 9px; font-size: 11px; gap: 8px; }
  .gm-app .gm-settings-page .gm-package-form-footer { flex-direction: column; align-items: stretch; }
}

/* Team directory and user account pages. */
.gm-app .gm-users-count { display: inline-block; margin-left: 8px; padding: 4px 8px; border: 1px solid var(--gm-border); border-radius: 5px; background: #f4f8f1; color: var(--gm-muted); font-size: 10px; font-weight: 500; vertical-align: middle; }
.gm-app .gm-categories-page .gm-category-add { margin-bottom: 18px; }
.gm-app .gm-users-page #users_table { border: 0; }
.gm-app .gm-users-page #users_table td { padding: 15px 12px; border: 0; border-bottom: 1px solid #e8eee7; vertical-align: middle; font-size: 12px; line-height: 1.6; }
.gm-app .gm-users-page #users_table th, .gm-app .gm-users-page .dataTables_scrollHead th { padding: 13px 12px; border: 0; border-bottom: 1px solid var(--gm-border); background: #f2f7ef; font-size: 10px; }
.gm-app .gm-user-identity { display: flex; align-items: center; gap: 12px; min-width: 190px; font-weight: 650; }
.gm-app .gm-user-avatar { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; flex: none; border-radius: 10px; background: var(--gm-soft); color: var(--gm-green-dark); font-size: 12px; font-weight: 700; }
.gm-app .gm-user-username { min-width: 150px; color: var(--gm-muted); }
.gm-app .gm-user-username .label { display: table; margin-top: 5px; padding: 4px 7px; border-radius: 5px; background: #edf0eb !important; color: #637269 !important; font-size: 10px; font-weight: 500; }
.gm-app .gm-user-role-badge { display: inline-block; padding: 4px 9px; border: 1px solid #d9e7da; border-radius: 6px; background: #f1f7ee; color: var(--gm-green-dark); font-size: 11px; font-weight: 600; }
.gm-app .gm-user-contact { min-width: 140px; }
.gm-app .gm-user-row-actions { display: flex; gap: 6px; flex-wrap: nowrap; align-items: center; }
.gm-app .gm-user-row-actions a, .gm-app .gm-user-row-actions button { white-space: nowrap; border-radius: 7px; font-size: 10px; }
.gm-app .gm-user-editor { padding: 26px 24px 38px; }
.gm-app .gm-user-editor form > .row { margin: 0; }
.gm-app .gm-user-editor form > .row > .col-md-12 { padding: 0; }
.gm-app .gm-user-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 24px; }
.gm-app .gm-user-fields > [class*="col-"] { float: none; width: auto; min-width: 0; padding: 0; }
.gm-app .gm-user-fields > .clearfix { display: none; }
.gm-app .gm-user-fields .form-group { margin: 0; }
.gm-app .gm-user-fields label { margin-bottom: 8px; font-size: 12px; line-height: 1.6; font-weight: 650; }
.gm-app .gm-user-fields .help-block { margin: 8px 0 0; font-size: 11px; color: var(--gm-muted); line-height: 1.7; }
.gm-app .gm-user-fields .checkbox > br { display: none; }
.gm-app .gm-user-fields .checkbox { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 11px 14px; }
.gm-app .gm-user-fields .checkbox > label { flex: 1; min-width: 0; }
.gm-app .gm-user-fields .checkbox > .hover-q { flex: none; margin: 0; color: var(--gm-green) !important; font-size: 13px; }
.gm-app .gm-user-control-label { display: block; margin-bottom: 8px; font-size: 12px; line-height: 1.6; font-weight: 650; }
.gm-app .gm-user-identity-card .gm-user-fields { grid-template-columns: repeat(12, minmax(0, 1fr)); }
.gm-app .gm-user-identity-card .gm-user-fields > [class*="col-"] { grid-column: span 6; }
.gm-app .gm-user-identity-card .gm-user-fields > :first-child { grid-column: span 2; }
.gm-app .gm-user-identity-card .gm-user-fields > :nth-child(2), .gm-app .gm-user-identity-card .gm-user-fields > :nth-child(3) { grid-column: span 5; }
.gm-app .gm-user-fields .checkbox .input-icheck + ins { cursor: pointer; }
.gm-app .gm-user-fields > .user_auth_fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; grid-column: 1 / -1; }
.gm-app .gm-user-fields > .user_auth_fields > [class*="col-"] { float: none; width: auto; min-width: 0; padding: 0; }
.gm-app .gm-user-fields > .col-md-3:has(> h4), .gm-app .gm-user-fields > .col-md-9, .gm-app .gm-user-fields > .col-md-12 { grid-column: 1 / -1; }
.gm-app .gm-user-fields h4 { margin: 0; font-size: 14px; font-weight: 700; }
.gm-app .gm-user-fields > .col-md-9 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.gm-app .gm-user-fields > .col-md-9 > .col-md-12 { float: none; width: auto; padding: 0; }
.gm-app .gm-user-fields > .col-md-9 > .col-md-12:first-child { grid-column: 1 / -1; }
.gm-app .gm-user-fields .input-group:has(> .input-group-addon:last-child) { flex-wrap: nowrap; }
.gm-app .gm-user-fields .input-group:has(> .input-group-addon:last-child) .form-control { border-radius: 8px 0 0 8px; }
.gm-app .gm-user-fields .input-group-addon:last-child { border-radius: 0 8px 8px 0; border-left: 0; }
.gm-app .gm-user-personal-card .gm-user-fields > .col-md-12 { margin-top: 8px; padding-top: 20px; border-top: 1px solid var(--gm-border); }
.gm-app .gm-user-personal-card hr { display: none; }
.gm-app .gm-user-detail { padding: 26px 24px 38px; }
.gm-app .gm-user-switcher { width: 320px; max-width: 100%; margin-bottom: 24px; }
.gm-app .gm-user-switcher label { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 650; }
.gm-app .gm-user-switcher .select2-container { width: 100% !important; }
.gm-app .gm-user-detail-layout { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 24px; align-items: start; }
.gm-app .gm-user-profile-card { padding: 26px 22px; border: 1px solid var(--gm-border); border-radius: 13px; background: #fff; text-align: center; }
.gm-app .gm-user-profile-image, .gm-app .gm-user-profile-initials { width: 76px; height: 76px; margin: 0 auto 18px; border: 1px solid var(--gm-border); border-radius: 22px; object-fit: cover; }
.gm-app .gm-user-profile-initials { display: flex; align-items: center; justify-content: center; background: var(--gm-soft); color: var(--gm-green); font-size: 25px; font-weight: 700; }
.gm-app .gm-user-profile-card h2 { margin: 0 0 12px; font-size: 21px; font-weight: 750; overflow-wrap: anywhere; }
.gm-app .gm-user-profile-card dl { margin: 24px 0; text-align: left; }
.gm-app .gm-user-profile-card dl > div { padding: 12px 0; border-top: 1px solid #edf1e9; }
.gm-app .gm-user-profile-card dt { margin-bottom: 5px; font-size: 10px; font-weight: 600; color: var(--gm-muted); }
.gm-app .gm-user-profile-card dd { margin: 0; font-size: 12px; overflow-wrap: anywhere; }
.gm-app .gm-user-profile-card > a { width: 100%; justify-content: center; }
.gm-app .gm-user-status { display: inline-block; padding: 3px 8px; border-radius: 5px; background: #e3f3df; color: var(--gm-green-dark); font-size: 10px; font-weight: 650; }
.gm-app .gm-user-status.is-inactive { color: #637269; background: #edf0eb; }
.gm-app .gm-user-detail-main.nav-tabs-custom { min-width: 0; margin: 0; border: 1px solid var(--gm-border); border-radius: 13px; background: #fff; box-shadow: none; }
.gm-app .gm-user-detail-main > .nav-tabs { display: flex; flex-wrap: wrap; gap: 4px; padding: 12px 18px 0; border-bottom: 1px solid var(--gm-border); }
.gm-app .gm-user-detail-main > .nav-tabs > li { margin: 0; border: 0; }
.gm-app .gm-user-detail-main > .nav-tabs > li > a { margin: 0; padding: 13px 12px; border: 0; border-bottom: 2px solid transparent; border-radius: 7px 7px 0 0; color: var(--gm-muted); font-size: 12px; font-weight: 650; }
.gm-app .gm-user-detail-main > .nav-tabs > li.active > a { color: var(--gm-green-dark); background: var(--gm-soft); border-bottom-color: var(--gm-green); }
.gm-app .gm-user-detail-main > .tab-content { padding: 24px; border-radius: 0 0 13px 13px; }
.gm-app .gm-user-sales-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; padding: 18px; margin-bottom: 24px; border: 1px solid var(--gm-border); border-radius: 9px; background: #f7faf5; }
.gm-app .gm-user-sales-summary span { display: block; margin-bottom: 7px; color: var(--gm-muted); font-size: 11px; }
.gm-app .gm-user-sales-summary strong { font-size: 13px; font-weight: 650; overflow-wrap: anywhere; }
.gm-app .gm-user-detail #user_info_tab > .row { margin: 0; }
.gm-app .gm-user-detail #user_info_tab > .row > .col-md-12 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 24px; padding: 0; float: none; }
.gm-app .gm-user-detail #user_info_tab > .row > .col-md-12 > [class*="col-"] { width: auto; min-width: 0; padding: 0; float: none; }
.gm-app .gm-user-detail #user_info_tab > .row > .col-md-12 > .col-md-12, .gm-app .gm-user-detail #user_info_tab > .row > .col-md-12 > hr { grid-column: 1 / -1; }
.gm-app .gm-user-detail #user_info_tab .clearfix { display: none; }
.gm-app .gm-user-detail #user_info_tab h4 { margin: 4px 0 0; font-size: 16px; font-weight: 700; }
.gm-app .gm-user-detail #user_info_tab p { padding: 9px 0; margin: 0; font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; }
.gm-app .gm-user-detail #user_info_tab p > strong, .gm-app .gm-user-detail #user_info_tab .col-md-6 > strong { display: block; margin-bottom: 4px; color: var(--gm-muted); font-size: 11px; font-weight: 600; }
.gm-app .gm-user-detail #user_info_tab hr { width: 100%; margin: 0; border-color: var(--gm-border); }
.gm-app .gm-user-detail #activities_tab, .gm-app .gm-user-detail .document_note_body { overflow-x: auto; }
.gm-app .gm-user-profile { padding: 26px 24px 38px; }
.gm-app .gm-user-profile .box { padding: 22px; border: 1px solid var(--gm-border); border-radius: 13px; box-shadow: none; background: #fff; }
.gm-app .gm-user-profile .box-header { padding: 0; }
.gm-app .gm-user-profile .box-header > .box-header { padding-bottom: 20px; margin-bottom: 22px; border-bottom: 1px solid var(--gm-border); }
.gm-app .gm-user-profile .box-title { font-size: 17px; font-weight: 700; }
.gm-app .gm-user-profile .box-body { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; padding: 0; }
.gm-app .gm-user-profile .box-body::before, .gm-app .gm-user-profile .box-body::after { display: none; }
.gm-app .gm-user-profile .box-body > .form-group { width: auto; float: none; margin: 0; padding: 0; }
.gm-app .gm-user-profile .form-group > label { font-size: 12px; line-height: 1.6; margin-bottom: 8px; }
.gm-app .gm-user-profile #edit_password_form .box-body { grid-template-columns: minmax(0, 1fr); max-width: 640px; }
.gm-app .gm-user-profile #edit_password_form .form-group > label, .gm-app .gm-user-profile #edit_password_form .form-group > div { width: 100%; float: none; padding: 0; text-align: left; }
.gm-app .gm-user-profile #edit_password_form button { justify-self: start; }
.gm-app .gm-user-profile #profile_photo { width: 100%; padding: 12px; border: 1px dashed #bfd4c2; border-radius: 9px; background: #f7faf5; font-size: 12px; }
.gm-app .gm-user-profile #profile_photo::file-selector-button { margin-right: 10px; padding: 7px 10px; border: 1px solid var(--gm-border); border-radius: 6px; background: #fff; color: var(--gm-green); font-size: 11px; }
.gm-app .gm-user-profile img { max-width: 100%; border-radius: 9px; }
@media (max-width: 1100px) {
  .gm-app .gm-user-detail-layout { grid-template-columns: 250px minmax(0, 1fr); gap: 18px; }
}
@media (max-width: 800px) {
  .gm-app .gm-user-detail-layout { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-user-profile-card { text-align: left; }
  .gm-app .gm-user-profile-image, .gm-app .gm-user-profile-initials { margin-left: 0; }
  .gm-app .gm-user-profile-card dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
  .gm-app .gm-user-fields > .user_auth_fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .gm-app .gm-user-editor, .gm-app .gm-user-detail, .gm-app .gm-user-profile { padding: 20px 14px 30px; }
  .gm-app .gm-user-fields, .gm-app .gm-user-fields > .user_auth_fields, .gm-app .gm-user-fields > .col-md-9, .gm-app .gm-user-sales-summary, .gm-app .gm-user-profile .box-body, .gm-app .gm-user-detail #user_info_tab > .row > .col-md-12 { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-user-detail-main > .tab-content { padding: 18px; }
  .gm-app .gm-user-detail-main > .nav-tabs { padding: 8px 10px 0; }
  .gm-app .gm-user-detail-main > .nav-tabs > li > a { padding: 10px 8px; font-size: 11px; }
  .gm-app .gm-user-editor .gm-package-form-footer { flex-direction: column; align-items: stretch; }
  .gm-app .gm-user-editor .gm-package-form-actions > * { flex: 1; justify-content: center; }
  .gm-app .gm-user-identity-card .gm-user-fields { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-user-identity-card .gm-user-fields > [class*="col-"] { grid-column: 1 / -1; }
}

/* Role management and permission editor. */
.gm-app .gm-roles-page #roles_table { border: 0; }
.gm-app .gm-roles-page #roles_table td { padding: 16px 12px; border: 0; border-bottom: 1px solid #e8eee7; font-size: 12px; vertical-align: middle; }
.gm-app .gm-roles-page #roles_table th, .gm-app .gm-roles-page .dataTables_scrollHead th { padding: 13px 12px; border: 0; border-bottom: 1px solid var(--gm-border); background: #f2f7ef; font-size: 10px; }
.gm-app .gm-role-directory-identity { display: flex; align-items: center; gap: 12px; min-width: 190px; }
.gm-app .gm-role-directory-identity strong { font-size: 12px; font-weight: 650; }
.gm-app .gm-role-directory-icon { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; flex: none; border-radius: 10px; background: var(--gm-soft); color: var(--gm-green); font-size: 14px; }
.gm-app .gm-role-directory-actions { width: 220px; }
.gm-app .gm-role-no-actions { color: var(--gm-muted); }
.gm-app .gm-role-editor { padding: 26px 24px 38px; }
.gm-app .gm-role-name-card > .row { margin: 0; }
.gm-app .gm-role-name-card > .row > div { width: 100%; max-width: 520px; padding: 0; float: none; }
.gm-app .gm-role-name-card .form-group { margin-bottom: 0; }
.gm-app .gm-role-name-card label { margin-bottom: 8px; font-size: 12px; font-weight: 650; }
.gm-app .gm-role-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 24px; align-items: start; }
.gm-app .gm-role-sidebar { position: sticky; top: 20px; padding: 20px 12px; border: 1px solid var(--gm-border); border-radius: 13px; background: #fff; }
.gm-app .gm-role-sidebar h2 { margin: 0 10px 8px; font-size: 14px; font-weight: 700; }
.gm-app .gm-role-sidebar p { margin: 0 10px 15px; color: var(--gm-muted); font-size: 11px; line-height: 1.6; }
.gm-app .gm-role-sidebar nav { max-height: 65vh; overflow-y: auto; scrollbar-width: thin; }
.gm-app .gm-role-sidebar a { display: block; padding: 9px 10px; border-radius: 7px; color: #536358; font-size: 11px; line-height: 1.6; font-weight: 550; }
.gm-app .gm-role-sidebar a:hover, .gm-app .gm-role-sidebar a.is-active { color: var(--gm-green-dark); background: var(--gm-soft); }
.gm-app .gm-role-main { min-width: 0; }
.gm-app .gm-role-toolbar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 18px; margin-bottom: 14px; }
.gm-app .gm-role-toolbar h2 { margin: 0 0 6px; font-size: 20px; font-weight: 750; }
.gm-app #gm-role-selected-count { color: var(--gm-green); font-size: 11px; font-weight: 600; }
.gm-app .gm-role-search { position: relative; width: 320px; max-width: 100%; }
.gm-app .gm-role-search label { display: block; margin-bottom: 7px; font-size: 11px; font-weight: 650; }
.gm-app .gm-role-search input { padding-right: 40px; }
.gm-app #gm-role-clear-search { position: absolute; bottom: 8px; right: 8px; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: var(--gm-muted); font-size: 11px; }
.gm-app #gm-role-clear-search:hover { background: var(--gm-soft); color: var(--gm-green); }
.gm-app .gm-role-search-note { margin: 0 0 20px; color: var(--gm-muted); font-size: 11px; line-height: 1.7; }
.gm-app .gm-role-permissions > hr { display: none; }
.gm-app .gm-role-permissions > .row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; margin: 0 0 18px; padding: 22px; border: 1px solid var(--gm-border); border-radius: 13px; background: #fff; scroll-margin-top: 90px; }
.gm-app .gm-role-permissions > .row::before, .gm-app .gm-role-permissions > .row::after { display: none; }
.gm-app .gm-role-permissions > .row > [class*="col-"] { width: auto; min-width: 0; float: none; padding: 0; }
.gm-app .gm-role-permissions > .row h4 { margin: 5px 0 0; font-size: 16px; font-weight: 700; line-height: 1.5; }
.gm-app .gm-role-permissions > .row > .col-md-9 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; grid-column: 1 / -1; padding-top: 16px; border-top: 1px solid var(--gm-border); }
.gm-app .gm-role-permissions > .row > .col-md-9 > [class*="col-"] { width: auto; min-width: 0; padding: 0; float: none; }
.gm-app .gm-role-permissions > .row > .col-md-9 > hr, .gm-app .gm-role-permissions > .row > .col-md-9 > p, .gm-app .gm-role-permissions > .row > .col-md-9 > .col-md-12:has(> hr) { grid-column: 1 / -1; }
.gm-app .gm-role-permissions .clearfix { display: none; }
.gm-app .gm-role-editor .gm-role-permissions .checkbox { display: flex; align-items: center; gap: 9px; min-height: 44px; height: 100%; margin: 0; padding: 10px 12px; border: 1px solid #e3ebe0; border-radius: 8px; background: #fafcf8; }
.gm-app .gm-role-editor .gm-role-permissions .checkbox label { flex: 1; min-width: 0; align-items: flex-start; font-size: 11px; font-weight: 500; line-height: 1.7; }
.gm-app .gm-role-permissions .checkbox .hover-q { flex: none; font-size: 12px; }
.gm-app .gm-role-editor .gm-role-permissions .checkbox:has(input:checked) { border-color: #c8dfca; background: #f0f7ed; }
.gm-app .gm-role-editor .gm-role-permissions > .row > .col-md-2 .checkbox { background: var(--gm-soft); padding: 7px 10px; min-height: 34px; }
.gm-app .gm-role-editor .gm-role-permissions > .row > .col-md-2 label { font-size: 10px; font-weight: 650; }
.gm-app .gm-role-editor .iradio_square-blue { width: 18px; height: 18px; flex: 0 0 18px; margin-top: 1px; border: 1px solid #bfd2c2; border-radius: 50%; background: #fff !important; }
.gm-app .gm-role-editor .iradio_square-blue.checked { border-color: var(--gm-green); }
.gm-app .gm-role-editor .iradio_square-blue.checked::after { content: ''; position: absolute; inset: 4px; border-radius: 50%; background: var(--gm-green); pointer-events: none; }
.gm-app .gm-role-editor .iradio_square-blue.focus { outline: 2px solid #a4d3ac; outline-offset: 2px; }
.gm-app .gm-role-editor .icheckbox_square-blue { margin-top: 1px; }
.gm-app .gm-role-permissions hr { border-color: var(--gm-border); }
.gm-app .gm-role-no-results { padding: 36px 22px; margin-bottom: 20px; border: 1px dashed var(--gm-border); border-radius: 13px; background: #fff; text-align: center; }
.gm-app .gm-role-no-results > i { color: #85a18a; font-size: 23px; }
.gm-app .gm-role-no-results h3 { margin: 14px 0 8px; font-size: 18px; font-weight: 700; }
.gm-app .gm-role-no-results p { color: var(--gm-muted); font-size: 12px; }
@media (max-width: 1000px) {
  .gm-app .gm-role-layout { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-role-sidebar { position: static; }
  .gm-app .gm-role-sidebar nav { display: flex; flex-wrap: wrap; gap: 4px; max-height: 170px; }
  .gm-app .gm-role-sidebar a { padding: 7px 10px; background: #f6f9f3; }
}
@media (max-width: 600px) {
  .gm-app .gm-role-editor { padding: 20px 14px 30px; }
  .gm-app .gm-role-toolbar { align-items: stretch; }
  .gm-app .gm-role-search { width: 100%; }
  .gm-app .gm-role-permissions > .row { padding: 18px; gap: 14px; }
  .gm-app .gm-role-permissions > .row > .col-md-9 { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-role-permissions > .row h4 { font-size: 14px; }
  .gm-app .gm-role-main .gm-package-form-footer { flex-direction: column; align-items: stretch; }
  .gm-app .gm-role-main .gm-package-form-actions > * { flex: 1; justify-content: center; }
}

/* Sales commission agents and their add/edit dialogs. */
.gm-app .gm-agents-page #sales_commission_agent_table { border: 0; }
.gm-app .gm-agents-page #sales_commission_agent_table td { padding: 15px 12px; border: 0; border-bottom: 1px solid #e8eee7; vertical-align: middle; font-size: 12px; line-height: 1.6; }
.gm-app .gm-agents-page #sales_commission_agent_table th, .gm-app .gm-agents-page .dataTables_scrollHead th { padding: 13px 12px; border: 0; border-bottom: 1px solid var(--gm-border); background: #f2f7ef; font-size: 10px; }
.gm-app .gm-agent-contact { min-width: 140px; }
.gm-app .gm-agent-address { min-width: 190px; max-width: 260px; overflow-wrap: anywhere; color: var(--gm-muted); }
.gm-app .gm-agent-rate { min-width: 120px; }
.gm-app .gm-agent-commission { display: inline-block; padding: 4px 10px; border: 1px solid #d3e6d6; border-radius: 6px; background: var(--gm-soft); color: var(--gm-green-dark); font-size: 12px; font-weight: 650; font-variant-numeric: tabular-nums; white-space: nowrap; }
.gm-app .gm-agent-dialog { width: 720px; max-width: calc(100vw - 28px); }
.gm-app .gm-agent-dialog .modal-header { padding: 24px; border-color: var(--gm-border); }
.gm-app .gm-agent-dialog .modal-title { font-size: 20px; font-weight: 750; padding-right: 22px; }
.gm-app .gm-agent-dialog .modal-body { padding: 24px; }
.gm-app .gm-agent-modal-intro { margin: 0 0 24px; color: var(--gm-muted); font-size: 12px; line-height: 1.7; }
.gm-app .gm-agent-dialog .modal-body > .row { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 22px 20px; margin: 0; }
.gm-app .gm-agent-dialog .modal-body > .row::before, .gm-app .gm-agent-dialog .modal-body > .row::after, .gm-app .gm-agent-dialog .clearfix { display: none; }
.gm-app .gm-agent-dialog .modal-body > .row > [class*="col-"] { width: auto; min-width: 0; padding: 0; float: none; grid-column: span 6; }
.gm-app .gm-agent-dialog .modal-body > .row > .col-md-2 { grid-column: span 2; }
.gm-app .gm-agent-dialog .modal-body > .row > .col-md-5 { grid-column: span 5; }
.gm-app .gm-agent-dialog .modal-body > .row > .col-md-12 { grid-column: 1 / -1; }
.gm-app .gm-agent-dialog .form-group { margin: 0; }
.gm-app .gm-agent-dialog label { margin-bottom: 8px; font-size: 12px; font-weight: 650; line-height: 1.6; }
.gm-app .gm-agent-dialog .form-control { height: 44px; border-radius: 8px; font-size: 12px; }
.gm-app .gm-agent-dialog textarea.form-control { height: auto; min-height: 90px; resize: vertical; }
.gm-app .gm-agent-dialog .modal-footer { display: flex; flex-direction: row-reverse; gap: 9px; padding: 18px 24px; border-color: var(--gm-border); background: #f8faf5; border-radius: 0 0 14px 14px; }
.gm-app .gm-agent-dialog .modal-footer > button + button { margin-left: 0; }
@media (max-width: 600px) {
  .gm-app .gm-agent-dialog .modal-header, .gm-app .gm-agent-dialog .modal-body { padding: 20px 18px; }
  .gm-app .gm-agent-dialog .modal-title { font-size: 18px; }
  .gm-app .gm-agent-dialog .modal-body > .row { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .gm-app .gm-agent-dialog .modal-body > .row > [class*="col-"] { grid-column: 1 / -1; }
  .gm-app .gm-agent-dialog .modal-footer { padding: 16px 18px; }
}

/* Contact management: directories, forms, import, and detail views. */
.gm-app .gm-contact-navigation { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 24px; padding: 7px; border: 1px solid var(--gm-border); border-radius: 11px; background: #fff; }
.gm-app .gm-contact-navigation a { display: inline-flex; align-items: center; gap: 9px; padding: 10px 14px; border-radius: 7px; color: var(--gm-muted); font-size: 12px; font-weight: 650; }
.gm-app .gm-contact-navigation a:hover, .gm-app .gm-contact-navigation a.is-active { background: var(--gm-soft); color: var(--gm-green-dark); }
.gm-app .gm-contact-filters .box-body { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.gm-app .gm-contact-filters .box-body::before, .gm-app .gm-contact-filters .box-body::after { display: none; }
.gm-app .gm-contact-filters .box-body > .col-md-3 { float: none; width: auto; min-width: 0; padding: 0; }
.gm-app .gm-contact-filters .form-group { margin: 0; }
.gm-app .gm-contact-filters label { font-size: 12px; line-height: 1.7; margin-bottom: 8px; }
.gm-app .gm-contact-filters label:has(input[type="checkbox"]) { display: flex; align-items: center; gap: 9px; margin: 0; }
.gm-app .gm-contact-filters label strong { font-weight: 600; }
.gm-app .gm-contact-filters .icheckbox_square-blue { width: 18px; height: 18px; flex: none; border: 1px solid #bfd2c2; border-radius: 4px; background: #fff !important; }
.gm-app .gm-contact-filters .icheckbox_square-blue.checked { border-color: var(--gm-green); background: var(--gm-green) !important; }
.gm-app .gm-contact-filters .icheckbox_square-blue.checked::after { content: '\2713'; position: absolute; inset: 0; color: #fff; font-size: 13px; line-height: 16px; text-align: center; pointer-events: none; }
.gm-app .gm-contacts-page #contact_table, .gm-app .gm-contact-groups-page #customer_groups_table { border: 0; }
.gm-app .gm-contacts-page #contact_table td, .gm-app .gm-contact-groups-page #customer_groups_table td { padding: 14px 12px; border: 0; border-bottom: 1px solid #e8eee7; vertical-align: middle; font-size: 12px; line-height: 1.6; }
.gm-app .gm-contacts-page #contact_table th, .gm-app .gm-contacts-page .dataTables_scrollHead th, .gm-app .gm-contact-groups-page #customer_groups_table th, .gm-app .gm-contact-groups-page .dataTables_scrollHead th { padding: 13px 12px; border: 0; border-bottom: 1px solid var(--gm-border); background: #f2f7ef; font-size: 10px; }
.gm-app .gm-contact-actions { min-width: 90px; }
.gm-app .gm-contact-actions .dropdown-toggle { padding: 7px 9px; border: 1px solid #cfdfd0 !important; border-radius: 7px; background: var(--gm-soft) !important; color: var(--gm-green-dark) !important; font-size: 11px; }
.gm-app .gm-contact-id { min-width: 100px; font-size: 11px !important; color: var(--gm-muted); }
.gm-app .gm-contact-money { min-width: 120px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.gm-app .gm-contact-address { min-width: 190px; max-width: 250px; overflow-wrap: anywhere; }
.gm-app .gm-contact-name .label { display: table; margin-top: 4px; float: none !important; border-radius: 5px; font-size: 9px; }
.gm-app .gm-contacts-page .footer-total td { background: #f3f7ef; color: var(--gm-ink); font-size: 12px !important; font-weight: 650; }
.gm-app .gm-contact-group-name { min-width: 190px; }
.gm-app .gm-contact-group-rate, .gm-app .gm-contact-group-actions { min-width: 160px; }
.gm-app .gm-contact-dialog { width: 980px; max-width: calc(100vw - 28px); margin: 24px auto; }
.gm-app .gm-contact-dialog .modal-content > form { display: flex; flex-direction: column; max-height: calc(100dvh - 48px); }
.gm-app .gm-contact-dialog .modal-header, .gm-app .gm-contact-group-dialog .modal-header { padding: 22px 24px; flex: none; border-color: var(--gm-border); }
.gm-app .gm-contact-dialog .modal-title, .gm-app .gm-contact-group-dialog .modal-title { padding-right: 22px; font-size: 20px; font-weight: 750; }
.gm-app .gm-contact-dialog .modal-body { min-height: 0; overflow-y: auto; padding: 24px; }
.gm-app .gm-contact-form-heading { margin-bottom: 22px; padding-bottom: 18px; border-bottom: 1px solid var(--gm-border); }
.gm-app .gm-contact-form-heading h2 { margin: 0 0 7px; font-size: 16px; font-weight: 700; }
.gm-app .gm-contact-form-heading p, .gm-app .gm-contact-modal-intro { margin: 0; color: var(--gm-muted); font-size: 12px; line-height: 1.7; }
.gm-app .gm-contact-dialog .modal-body > .row, .gm-app .gm-contact-dialog #more_div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 24px; margin: 0; }
.gm-app .gm-contact-dialog .modal-body > .row + .row { margin-top: 24px; }
.gm-app .gm-contact-dialog .row::before, .gm-app .gm-contact-dialog .row::after, .gm-app .gm-contact-dialog .clearfix { display: none; }
.gm-app .gm-contact-dialog .modal-body > .row > [class*="col-"], .gm-app .gm-contact-dialog #more_div > [class*="col-"] { float: none; width: auto; min-width: 0; padding: 0; margin-left: 0; }
.gm-app .gm-contact-dialog .modal-body > .row > .col-md-12, .gm-app .gm-contact-dialog #more_div, .gm-app .gm-contact-dialog .gm-contact-form-divider, .gm-app .gm-contact-dialog #more_div > .col-md-12, .gm-app .gm-contact-dialog #more_div > .shipping_addr_div { grid-column: 1 / -1; }
.gm-app .gm-contact-dialog #more_div > hr, .gm-app .gm-contact-dialog #more_div > div:has(> hr:only-child) { display: none; }
.gm-app .gm-contact-form-divider { padding-top: 20px; border-top: 1px solid var(--gm-border); }
.gm-app .gm-contact-form-divider h3 { margin: 0; font-size: 15px; font-weight: 700; }
.gm-app .gm-contact-dialog .form-group { margin: 0; }
.gm-app .gm-contact-dialog label, .gm-app .gm-contact-group-dialog label { margin-bottom: 8px; font-size: 12px; line-height: 1.6; font-weight: 650; }
.gm-app .gm-contact-dialog .form-control, .gm-app .gm-contact-group-dialog .form-control { height: 44px; border-radius: 8px; font-size: 12px; }
.gm-app .gm-contact-dialog textarea.form-control { height: auto; min-height: 90px; }
.gm-app .gm-contact-dialog .input-group { display: flex; flex-wrap: wrap; width: 100%; }
.gm-app .gm-contact-dialog .input-group-addon { display: flex; align-items: center; justify-content: center; flex: none; width: 38px; padding: 10px; border-color: var(--gm-border); border-radius: 8px 0 0 8px; background: #f5f8f3; color: #708675; }
.gm-app .gm-contact-dialog .input-group .form-control { flex: 1; min-width: 0; width: 0; border-radius: 0 8px 8px 0; }
.gm-app .gm-contact-dialog .input-group .select2-container { flex: 1; min-width: 0; width: 0 !important; }
.gm-app .gm-contact-dialog .select2-container { max-width: 100%; }
.gm-app .gm-contact-dialog .select2-selection { min-height: 44px; border-radius: 0 8px 8px 0; }
.gm-app .gm-contact-dialog .select2-selection--single .select2-selection__rendered { font-size: 12px; line-height: 42px; }
.gm-app .gm-contact-dialog .select2-selection--multiple .select2-selection__rendered { font-size: 12px; line-height: 1.6; }
.gm-app .gm-contact-dialog .select2-selection__arrow { height: 42px; }
.gm-app .gm-contact-dialog .input-group label.error { flex-basis: 100%; margin-top: 6px; }
.gm-app .gm-contact-dialog .help-block { margin: 8px 0 0; color: var(--gm-muted); font-size: 11px; line-height: 1.7; }
.gm-app .gm-contact-dialog .radio-inline { display: inline-flex; align-items: center; gap: 8px; margin: 0 12px 0 0; padding: 0; font-size: 12px; }
.gm-app .gm-contact-dialog .radio-inline input[type="radio"] { position: static; margin: 0; accent-color: var(--gm-green); }
.gm-app .gm-contact-dialog .multi-input { display: flex; flex-wrap: wrap; gap: 0 8px; }
.gm-app .gm-contact-dialog .multi-input > label { flex-basis: calc(100% - 25px); }
.gm-app .gm-contact-dialog .multi-input > br { display: none; }
.gm-app .gm-contact-dialog .multi-input .form-control { flex: 1; width: 0 !important; min-width: 0; }
.gm-app .gm-contact-more-button { display: inline-flex; align-items: center; gap: 10px; padding: 10px 14px; border: 1px solid #cbdccd; border-radius: 8px; background: var(--gm-soft); color: var(--gm-green-dark); font-size: 12px; font-weight: 650; }
.gm-app .gm-contact-dialog .modal-footer, .gm-app .gm-contact-group-dialog .modal-footer { display: flex; flex-direction: row-reverse; gap: 9px; padding: 18px 24px; flex: none; border-color: var(--gm-border); background: #f8faf5; border-radius: 0 0 14px 14px; }
.gm-app .gm-contact-dialog .modal-footer > button + button, .gm-app .gm-contact-group-dialog .modal-footer > button + button { margin-left: 0; }
.gm-app .gm-contact-group-dialog { width: 560px; max-width: calc(100vw - 28px); }
.gm-app .gm-contact-group-dialog .modal-body { padding: 24px; }
.gm-app .gm-contact-group-dialog .form-group { margin-bottom: 22px; }
.gm-app .gm-contact-modal-intro { margin-bottom: 22px; }
.gm-app .gm-contact-import { padding: 26px 24px 38px; }
.gm-app .gm-contact-import-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-bottom: 24px; }
.gm-app .gm-contact-import-steps > div { position: relative; padding: 18px 18px 18px 56px; border: 1px solid var(--gm-border); border-radius: 11px; background: #fff; }
.gm-app .gm-contact-import-steps span { position: absolute; left: 18px; top: 19px; display: flex; align-items: center; justify-content: center; width: 25px; height: 25px; border-radius: 50%; background: var(--gm-soft); color: var(--gm-green); font-size: 11px; font-weight: 700; }
.gm-app .gm-contact-import-steps strong { font-size: 12px; font-weight: 650; }
.gm-app .gm-contact-import-steps p { margin: 7px 0 0; color: var(--gm-muted); font-size: 11px; line-height: 1.6; }
.gm-app .gm-contact-import-upload { display: flex; align-items: flex-end; gap: 20px; }
.gm-app .gm-contact-import-upload .form-group { flex: 1; min-width: 0; margin: 0; }
.gm-app .gm-contact-import-upload label { display: block; margin-bottom: 8px; font-size: 12px; }
.gm-app .gm-contact-import-upload input[type="file"] { width: 100%; padding: 12px; border: 1px dashed #bfd4c2; border-radius: 9px; background: #f7faf5; font-size: 12px; }
.gm-app .gm-contact-import-upload input[type="file"]::file-selector-button { margin-right: 10px; padding: 7px 10px; border: 1px solid var(--gm-border); border-radius: 6px; background: #fff; color: var(--gm-green); font-size: 11px; }
.gm-app .gm-contact-import-instructions table { min-width: 640px; }
.gm-app .gm-contact-import-instructions td { padding: 13px 12px; font-size: 12px; line-height: 1.7; }
.gm-app .gm-contact-import-instructions th { padding: 13px 12px; background: #f2f7ef; font-size: 10px; }
.gm-app .gm-contact-import .alert-danger { border: 1px solid #f1d3d8; border-radius: 9px; background: #fceef0; color: #b42332; font-size: 12px; }
.gm-app .gm-contact-detail, .gm-app .gm-contact-map { padding: 26px 24px 38px; }
.gm-app .gm-contact-switcher { width: 360px; max-width: 100%; margin-bottom: 24px; }
.gm-app .gm-contact-switcher label { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 650; }
.gm-app .gm-contact-switcher .select2-container { width: 100% !important; }
.gm-app .gm-contact-detail .box { border: 1px solid var(--gm-border); border-radius: 13px; box-shadow: none; background: #fff; }
.gm-app .gm-contact-detail .box-body { padding: 24px; }
.gm-app .gm-contact-profile-info > .col-md-12 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; float: none; width: 100%; }
.gm-app .gm-contact-profile-info > .col-md-12 > [class*="col-"] { width: auto; min-width: 0; float: none; padding: 0; margin-top: 0; }
.gm-app .gm-contact-profile-info > .col-md-12 > .col-sm-12 { grid-column: 1 / -1; }
.gm-app .gm-contact-profile-info .clearfix { display: none; }
.gm-app .gm-contact-profile-info h3 { margin: 0 0 14px; font-size: 20px; font-weight: 750; }
.gm-app .gm-contact-profile-info h3 small { display: block; margin-top: 8px; color: var(--gm-green); font-size: 11px; font-weight: 650; }
.gm-app .gm-contact-profile-info h3 + br { display: none; }
.gm-app .gm-contact-profile-info strong { font-size: 11px; font-weight: 650; }
.gm-app .gm-contact-profile-info p { margin: 5px 0 16px; font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; }
.gm-app .gm-contact-detail .nav-tabs-custom { margin: 0 0 24px; border: 1px solid var(--gm-border); border-radius: 13px; box-shadow: none; background: #fff; }
.gm-app .gm-contact-detail .nav-tabs { display: flex; flex-wrap: wrap; padding: 10px 14px 0; border-bottom: 1px solid var(--gm-border); }
.gm-app .gm-contact-detail .nav-tabs > li { float: none; width: auto; border: 0; }
.gm-app .gm-contact-detail .nav-tabs > li > a { margin: 0; padding: 13px 12px; border: 0; border-bottom: 2px solid transparent; border-radius: 7px 7px 0 0; color: var(--gm-muted); font-size: 11px; font-weight: 650; }
.gm-app .gm-contact-detail .nav-tabs > li.active > a { border-bottom-color: var(--gm-green); background: var(--gm-soft); color: var(--gm-green-dark); }
.gm-app .gm-contact-detail .tab-content { padding: 24px; }
.gm-app .gm-contact-detail .tab-pane { overflow-x: auto; }
.gm-app .gm-contact-detail .tab-pane table th { background: #f2f7ef; color: #43554a; font-size: 10px; }
.gm-app .gm-contact-detail .tab-pane table td { font-size: 12px; }
@media (max-width: 1000px) {
  .gm-app .gm-contact-filters .box-body { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gm-app .gm-contact-import-steps { gap: 12px; }
}

/* Online catalog: branch filters, publishing, and stock allocation. */
.gm-app .gm-mall-catalog { padding: 26px 24px 38px; }
.gm-app .gm-catalog-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-bottom: 26px; }
.gm-app .gm-catalog-summary .gm-metric-heading { margin-bottom: 12px; }
.gm-app .gm-catalog-filters { padding: 0 0 22px; margin-bottom: 0; }
.gm-app .gm-catalog-filter-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; }
.gm-app .gm-catalog-filter-form .form-group { margin: 0; min-width: 220px; }
.gm-app .gm-catalog-filter-form .form-group:nth-child(2) { flex: 1; max-width: 450px; }
.gm-app .gm-catalog-filter-form label { display: block; margin-bottom: 8px; font-size: 11px; font-weight: 600; }
.gm-app .gm-catalog-filter-form .form-control { width: 100%; height: 40px; font-size: 12px; }
.gm-app .gm-catalog-directory .table-responsive { border: 1px solid var(--gm-border); border-radius: 9px; }
.gm-app .gm-catalog-table { min-width: 1540px; margin: 0; border: 0; }
.gm-app .gm-catalog-table th, .gm-app .gm-catalog-table td { padding: 14px 12px; vertical-align: middle; }
.gm-app .gm-catalog-table td { border-right: 1px solid #edf2e9; font-size: 12px; line-height: 1.7; }
.gm-app .gm-catalog-table th:first-child, .gm-app .gm-catalog-product-cell { position: sticky; left: 0; z-index: 1; min-width: 270px; width: 270px; max-width: 300px; box-shadow: 1px 0 0 var(--gm-border); }
.gm-app .gm-catalog-table th:first-child { z-index: 2; }
.gm-app .gm-catalog-product-identity { display: flex; align-items: center; gap: 12px; }
.gm-app .gm-catalog-thumbnail { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 42px; width: 42px; height: 42px; padding: 4px; border: 1px solid #dce7dd; border-radius: 8px; background: #f4f8ef; color: #6f8f77; font-size: 15px; }
.gm-app button.gm-catalog-thumbnail:hover { border-color: var(--gm-green); background: var(--gm-soft); }
.gm-app .gm-catalog-thumbnail img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 4px; }
.gm-app .gm-catalog-thumbnail:focus-visible { outline: 2px solid var(--gm-green); outline-offset: 3px; }
.gm-app .gm-catalog-product-name { font-size: 12px; font-weight: 650; line-height: 1.6; overflow-wrap: anywhere; }
.gm-app .gm-catalog-media-link { display: inline-flex; align-items: center; gap: 6px; margin: 8px 0 0 54px; font-size: 10px; }
.gm-app .gm-catalog-sku { min-width: 85px; color: var(--gm-muted) !important; font-size: 11px !important; }
.gm-app .gm-catalog-location { min-width: 165px; max-width: 200px; font-size: 11px !important; }
.gm-app .gm-catalog-stock, .gm-app .gm-catalog-available { min-width: 110px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.gm-app .gm-catalog-available > span { display: inline-block; padding: 4px 9px; border-radius: 6px; background: var(--gm-soft); color: var(--gm-green-dark); font-weight: 650; }
.gm-app .gm-catalog-publish { text-align: center; }
.gm-app .gm-mall-catalog .icheckbox_square-blue { flex: 0 0 18px; width: 18px; height: 18px; border: 1px solid #bfd2c2; border-radius: 4px; background: #fff !important; }
.gm-app .gm-mall-catalog .icheckbox_square-blue.checked { border-color: var(--gm-green); background: var(--gm-green) !important; }
.gm-app .gm-mall-catalog .icheckbox_square-blue.checked::after { content: '\2713'; position: absolute; inset: 0; color: #fff; font-size: 13px; line-height: 16px; text-align: center; pointer-events: none; }
.gm-app .gm-mall-catalog .icheckbox_square-blue.focus { outline: 2px solid #a4d3ac; outline-offset: 2px; }
.gm-app .gm-catalog-table .input_number { min-width: 120px; height: 38px; font-size: 12px; font-variant-numeric: tabular-nums; }
.gm-app .gm-catalog-save-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px; padding: 22px 0; border-bottom: 1px solid var(--gm-border); }
.gm-app .gm-catalog-save-footer strong { font-size: 12px; font-weight: 650; }
.gm-app .gm-catalog-save-footer p { margin: 7px 0 0; color: var(--gm-muted); font-size: 11px; }
.gm-app .gm-catalog-pagination { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; padding-top: 22px; }
.gm-app .gm-catalog-pagination p { margin: 0; color: var(--gm-muted); font-size: 12px; }
.gm-app .gm-catalog-pagination .pagination { margin: 0; }
.gm-app .gm-catalog-branch-notice { padding: 15px 18px; border: 1px solid #efdfbd; border-radius: 9px; background: #fcf5e6; color: #875e21; font-size: 12px; line-height: 1.8; }
.gm-app .gm-catalog-table .gm-catalog-empty { padding: 38px 20px; text-align: center; }
.gm-app .gm-catalog-empty > span { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 10px; background: var(--gm-soft); color: var(--gm-green); font-size: 16px; }
.gm-app .gm-catalog-empty h3 { margin: 14px 0 8px; font-size: 15px; font-weight: 700; }
.gm-app .gm-catalog-empty p { margin: 0; color: var(--gm-muted); font-size: 12px; }
@media (max-width: 767px) {
  .gm-app .gm-mall-catalog { padding: 20px 14px 30px; }
  .gm-app .gm-catalog-summary { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-catalog-filter-form .form-group { flex: 1 1 100%; min-width: 0; max-width: none; }
  .gm-app .gm-catalog-table th:first-child, .gm-app .gm-catalog-product-cell { position: static; }
}

/* Accounting overview and account breakdown charts. */
/* Stock adjustment entry. */
.gm-app .gm-transfer-detail-status { display: inline-block; padding: 4px 8px; border-radius: 6px; background: #f0f4ed; color: var(--gm-muted); font-size: 11px; font-weight: 650; }
.gm-app .gm-transfer-detail-status.is-completed { background: #e2f2e2; color: var(--gm-green-dark); }
.gm-app .gm-transfer-detail-status.is-pending { background: #fcf4e3; color: #956b25; }
.gm-app .gm-transfer-detail-status.is-in_transit { background: #e7f3ed; color: #386a53; }
.gm-app .gm-transfer-detail-status.is-rejected { background: #fceef0; color: #b42332; }
.gm-app .gm-transfer-detail-table { width: 100%; }
.gm-app .gm-transfer-detail-table th:first-child, .gm-app .gm-transfer-detail-table td:first-child { width: 50px; color: var(--gm-muted); font-weight: 400; }
.gm-app .gm-transfer-detail-table td:nth-child(2) { font-weight: 650; }
.gm-app .gm-transfer-detail-table td:last-child, .gm-app .gm-transfer-detail-table th:last-child { text-align: right; }
.gm-app .gm-transfer-detail-totals { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.gm-app .gm-transfer-detail-totals article:first-child { background: #fff; }
.gm-app .gm-transfer-detail-totals article:last-child { background: var(--gm-soft); }
.gm-app .gm-transfer-detail-notes { padding: 18px; margin-bottom: 26px; border: 1px solid var(--gm-border); border-radius: 10px; background: #f8fbf6; }
.gm-app .gm-transfer-detail-notes h2 { margin: 0 0 10px; font-size: 12px; font-weight: 650; }
.gm-app .gm-transfer-detail-notes p { margin: 0; color: var(--gm-muted); font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
.gm-app .gm-transfer-receipt-history { margin-bottom: 26px; }
.gm-app .gm-transfer-receipt-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.gm-app .gm-transfer-receipt-grid article { padding: 18px; border: 1px solid var(--gm-border); border-radius: 10px; background: #fff; }
.gm-app .gm-transfer-receipt-grid h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; color: var(--gm-muted); font-size: 11px; font-weight: 650; line-height: 1.7; }
.gm-app .gm-transfer-receipt-grid h3 i { color: var(--gm-green); }
.gm-app .gm-transfer-receipt-grid p { margin: 0; font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
@media (max-width: 767px) { .gm-app .gm-transfer-receipt-grid { grid-template-columns: minmax(0, 1fr); } }
@media print { .gm-transfer-receipt-grid article { break-inside: avoid; } }
.gm-app .gm-stock-transfer-page .gm-business-table-heading { align-items: flex-end; padding-bottom: 22px; border-bottom: 1px solid var(--gm-border); }
.gm-app .gm-transfer-status-filter { width: 190px; max-width: 100%; }
.gm-app .gm-transfer-status-filter label { display: block; margin-bottom: 8px; font-size: 11px; font-weight: 650; }
.gm-app .gm-transfer-status-filter select { height: 40px; font-size: 12px; }
.gm-app .gm-transfer-table-shell { min-width: 0; }
.gm-app .gm-transfer-table-shell .dataTables_scroll { border: 1px solid var(--gm-border); border-radius: 9px; overflow: hidden; }
.gm-app .gm-transfer-directory-table { width: 100% !important; }
.gm-app .gm-transfer-directory-table th, .gm-app .gm-transfer-directory-table td { padding: 15px 12px; vertical-align: middle; font-size: 12px; line-height: 1.7; }
.gm-app .gm-transfer-directory-table th { min-width: 90px; }
.gm-app .gm-transfer-date { min-width: 135px; color: var(--gm-muted) !important; font-size: 11px !important; }
.gm-app .gm-transfer-reference { min-width: 135px; font-weight: 650; }
.gm-app .gm-transfer-location { min-width: 165px; max-width: 220px; }
.gm-app .gm-transfer-amount { min-width: 125px; white-space: nowrap; text-align: right; font-variant-numeric: tabular-nums; font-weight: 650; }
.gm-app .gm-transfer-notes { min-width: 160px; max-width: 250px; overflow-wrap: anywhere; color: var(--gm-muted) !important; font-size: 11px !important; }
.gm-app .gm-transfer-actions { min-width: 220px; }
.gm-app .gm-transfer-actions .stock-transfer-action-group { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; max-width: 300px; }
.gm-app .gm-transfer-actions .stock-transfer-action-group > :is(a, button) { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 30px; padding: 6px 9px !important; border-radius: 7px; font-size: 10px; font-weight: 650; line-height: 1.5; }
.gm-app .gm-transfer-status .label { display: inline-block; padding: 5px 9px; border-radius: 6px; font-size: 10px; font-weight: 650; white-space: nowrap; }
.gm-app .gm-transfer-status .bg-green { background: #e7f4e8 !important; color: var(--gm-green-dark) !important; }
.gm-app .gm-transfer-status .bg-red { background: #fcf4e3 !important; color: #956b25 !important; }
.gm-app .gm-transfer-status .bg-yellow { background: #e7f3ed !important; color: #386a53 !important; }
.gm-app .gm-transfer-status .bg-gray { background: #fceef0 !important; color: #b42332 !important; }
.gm-app .gm-stock-transfer-page .gm-product-table-toolbar { gap: 16px; }
.gm-app .gm-stock-transfer-page .gm-product-table-search input { width: 280px !important; max-width: 100%; }
@media (max-width: 767px) { .gm-app .gm-stock-transfer-page .gm-business-table-heading { align-items: flex-start; } }
.gm-app .gm-stock-transfer-editor .gm-transfer-details-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 22px; margin: 0; }
.gm-app .gm-transfer-details-grid::before, .gm-app .gm-transfer-details-grid::after { display: none; }
.gm-app .gm-stock-transfer-editor .gm-transfer-details-grid > .col-sm-4 { grid-column: span 2; float: none; width: auto; padding: 0; min-width: 0; }
.gm-app .gm-stock-transfer-editor .gm-transfer-details-grid > .col-sm-6 { grid-column: span 3; float: none; width: auto; padding: 18px; min-width: 0; border: 1px solid var(--gm-border); border-radius: 10px; background: #f7faf5; }
.gm-app .gm-transfer-route-label { display: flex; align-items: center; gap: 7px; margin-bottom: 14px; color: var(--gm-green-dark); font-size: 10px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.gm-app .gm-transfer-route-label i { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 6px; background: #e7f2e2; font-size: 10px; }
.gm-app .gm-stock-transfer-editor .gm-stock-products-table { min-width: 850px; }
.gm-app .gm-stock-transfer-editor .gm-stock-products-table th:first-child { width: 40%; }
.gm-app .gm-transfer-product-total { background: #fff; }
.gm-app .gm-transfer-product-total strong { font-size: 20px; }
.gm-app .gm-transfer-final-total { margin-top: 24px; }
.gm-app .gm-transfer-final-total > span > small { display: block; margin-top: 6px; color: var(--gm-muted); font-size: 10px; font-weight: 400; }
@media (max-width: 1000px) {
  .gm-app .gm-stock-transfer-editor .gm-transfer-details-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gm-app .gm-stock-transfer-editor .gm-transfer-details-grid > .col-sm-4 { grid-column: span 1; }
  .gm-app .gm-stock-transfer-editor .gm-transfer-details-grid > .col-sm-4:nth-child(3) { grid-column: 1 / -1; }
  .gm-app .gm-stock-transfer-editor .gm-transfer-details-grid > .col-sm-6 { grid-column: span 1; }
}
@media (max-width: 767px) {
  .gm-app .gm-stock-transfer-editor .gm-transfer-details-grid { grid-template-columns: minmax(0, 1fr); }
}
.gm-app .gm-stock-reset-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 24px; align-items: start; }
.gm-app .gm-reset-scope-fields { padding: 0; margin: 0 0 24px; border: 0; min-width: 0; }
.gm-app .gm-reset-scope-fields legend { margin-bottom: 12px; border: 0; font-size: 12px; font-weight: 650; color: var(--gm-ink); }
.gm-app .gm-reset-scope-options { display: grid; gap: 12px; }
.gm-app .gm-stock-reset-editor label.gm-reset-option { display: flex; align-items: center; gap: 12px; padding: 17px; margin: 0; border: 1px solid var(--gm-border); border-radius: 10px; background: #fff; cursor: pointer; }
.gm-app .gm-reset-option > span { flex: 1; min-width: 0; }
.gm-app .gm-reset-option strong { display: block; color: var(--gm-ink); font-size: 12px; font-weight: 650; line-height: 1.7; }
.gm-app .gm-reset-option small { display: block; margin-top: 4px; color: var(--gm-muted); font-size: 11px; line-height: 1.7; font-weight: 400; }
.gm-app .gm-reset-option > i { color: #79917e; font-size: 15px; }
.gm-app .gm-reset-option:has(input:checked) { border-color: #a8d3b0; background: var(--gm-soft); }
.gm-app .gm-reset-option:has(input:checked) strong, .gm-app .gm-reset-option:has(input:checked) > i { color: var(--gm-green-dark); }
.gm-app .gm-reset-option:focus-within, .gm-app .gm-reset-option:has(.iradio_square-blue.focus) { outline: 2px solid var(--gm-green); outline-offset: 2px; }
.gm-app .gm-reset-option input[type="radio"] { accent-color: var(--gm-green); }
.gm-app .gm-reset-option .iradio_square-blue { flex: 0 0 18px; width: 18px; height: 18px; border: 1px solid #bfd2c2; border-radius: 50%; background: #fff !important; }
.gm-app .gm-reset-option .iradio_square-blue.checked { border-color: var(--gm-green); }
.gm-app .gm-reset-option .iradio_square-blue.checked::after { content: ''; position: absolute; inset: 4px; border-radius: 50%; background: var(--gm-green); pointer-events: none; }
.gm-app .gm-reset-location-field { max-width: 480px; }
.gm-app .gm-reset-summary { padding: 22px; border: 1px solid var(--gm-border); border-radius: 13px; background: #fff; }
.gm-app .gm-reset-summary h2 { display: flex; align-items: center; gap: 9px; margin: 0 0 20px; padding-bottom: 18px; border-bottom: 1px solid var(--gm-border); font-size: 16px; font-weight: 700; }
.gm-app .gm-reset-summary h2 i { color: var(--gm-green); font-size: 14px; }
.gm-app .gm-reset-summary dl { margin: 0; }
.gm-app .gm-reset-summary dl > div { margin-bottom: 20px; }
.gm-app .gm-reset-summary dt { margin-bottom: 7px; color: var(--gm-muted); font-size: 11px; font-weight: 500; }
.gm-app .gm-reset-summary dd { margin: 0; font-size: 12px; font-weight: 650; line-height: 1.7; overflow-wrap: anywhere; }
.gm-app .gm-reset-impact { display: flex; align-items: baseline; gap: 9px; margin: 24px 0 0; padding: 14px; border: 1px solid #efdfbd; border-radius: 8px; background: #fcf5e6; color: #875e21; font-size: 11px; line-height: 1.8; }
.gm-app .gm-reset-submit { background: #fff0f1 !important; border-color: #efc6cb !important; color: #b42332 !important; }
.gm-app .gm-reset-submit:hover { background: #ffe4e8 !important; }
@media (max-width: 1000px) { .gm-app .gm-stock-reset-layout { grid-template-columns: minmax(0, 1fr); gap: 0; } .gm-app .gm-reset-summary { margin-bottom: 20px; } }
@media (max-width: 767px) { .gm-app .gm-stock-reset-editor .gm-package-form-footer { align-items: flex-start; flex-direction: column; } }
.gm-app .gm-stock-details-dialog { width: calc(100% - 48px); max-width: 1180px; margin: 28px auto; }
.gm-app .gm-stock-details .modal-header { padding: 24px 28px; }
.gm-app .gm-stock-details .modal-title { margin: 7px 0 10px; font-size: 23px; letter-spacing: -.02em; }
.gm-app .gm-stock-reference { display: inline-block; padding: 5px 9px; border: 1px solid var(--gm-border); border-radius: 6px; color: var(--gm-green-dark); background: var(--gm-soft); font-size: 11px; font-weight: 650; }
.gm-app .gm-stock-details .modal-body { padding: 24px 28px; max-height: calc(100vh - 260px); overflow-y: auto; }
.gm-app .gm-stock-detail-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 26px; }
.gm-app .gm-stock-detail-info { min-width: 0; padding: 18px; border: 1px solid var(--gm-border); border-radius: 10px; background: #f8fbf6; }
.gm-app .gm-stock-detail-info h2 { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; color: var(--gm-muted); font-size: 11px; font-weight: 650; }
.gm-app .gm-stock-detail-info h2 i { color: #77917e; }
.gm-app .gm-stock-detail-info address { margin: 0; color: #43594a; font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
.gm-app .gm-stock-detail-info address strong { display: block; color: var(--gm-ink); font-weight: 650; }
.gm-app .gm-stock-detail-info dl { margin: 0; }
.gm-app .gm-stock-detail-info dl > div { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.gm-app .gm-stock-detail-info dt { color: var(--gm-muted); font-size: 11px; font-weight: 500; }
.gm-app .gm-stock-detail-info dd { color: var(--gm-ink); font-size: 12px; margin: 0; }
.gm-app .gm-stock-type { display: inline-block; padding: 3px 7px; border-radius: 5px; background: #e8f2e3; color: var(--gm-green-dark); font-size: 11px; font-weight: 650; }
.gm-app .gm-stock-detail-reason p { margin: 0; font-size: 12px; line-height: 1.8; white-space: pre-wrap; overflow-wrap: anywhere; }
.gm-app .gm-stock-detail-section-heading { margin-bottom: 16px; }
.gm-app .gm-stock-detail-section-heading h2 { margin: 0 0 7px; font-size: 16px; font-weight: 700; }
.gm-app .gm-stock-detail-section-heading p { margin: 0; color: var(--gm-muted); font-size: 11px; line-height: 1.7; }
.gm-app .gm-stock-detail-products .table-responsive { border: 1px solid var(--gm-border); border-radius: 9px; }
.gm-app .gm-stock-detail-table { min-width: 750px; margin: 0; }
.gm-app .gm-stock-detail-table th, .gm-app .gm-stock-detail-table td { padding: 15px 12px; vertical-align: middle; font-size: 12px; line-height: 1.7; }
.gm-app .gm-stock-detail-table td:first-child { font-weight: 650; }
.gm-app .gm-stock-detail-table td { font-variant-numeric: tabular-nums; }
.gm-app .gm-stock-detail-table .label { display: inline-block; padding: 5px 8px; border-radius: 6px; font-size: 10px; }
.gm-app .gm-stock-detail-table td:last-child.no-print { text-align: right; }
.gm-app .gm-stock-detail-totals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 22px 0 28px; }
.gm-app .gm-stock-detail-totals article { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 18px; border: 1px solid var(--gm-border); border-radius: 9px; background: #fff; }
.gm-app .gm-stock-detail-totals article:first-child { background: var(--gm-soft); }
.gm-app .gm-stock-detail-totals article > span { color: var(--gm-muted); font-size: 11px; }
.gm-app .gm-stock-detail-totals strong { color: var(--gm-green-dark); font-size: 22px; font-weight: 750; font-variant-numeric: tabular-nums; }
.gm-app .gm-stock-detail-activities { overflow-x: auto; }
.gm-app .gm-stock-detail-activities table { min-width: 640px; margin: 0; }
.gm-app .gm-stock-detail-activities th, .gm-app .gm-stock-detail-activities td { padding: 13px 12px; border-bottom: 1px solid var(--gm-border); font-size: 11px; line-height: 1.7; }
.gm-app .gm-stock-detail-activities th { background: #f6faf5; color: #536459; font-size: 10px; letter-spacing: .045em; text-transform: uppercase; }
.gm-app .gm-stock-detail-empty { margin: 0; padding: 25px; color: var(--gm-muted); text-align: center; font-size: 12px; }
.gm-app .gm-stock-details .modal-footer { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 9px; padding: 18px 28px; }
.gm-app .gm-stock-details .modal-footer > .gm-superadmin-action { margin: 0; }
@media (max-width: 767px) {
  .gm-app .gm-stock-details-dialog { width: calc(100% - 20px); margin: 10px auto; }
  .gm-app .gm-stock-details .modal-header, .gm-app .gm-stock-details .modal-body, .gm-app .gm-stock-details .modal-footer { padding: 20px 16px; }
  .gm-app .gm-stock-details .modal-title { font-size: 20px; }
  .gm-app .gm-stock-detail-summary, .gm-app .gm-stock-detail-totals { grid-template-columns: minmax(0, 1fr); }
}
@media print {
  .gm-stock-details .modal-body { max-height: none !important; overflow: visible !important; }
  .gm-stock-details .table-responsive, .gm-stock-detail-activities { overflow: visible !important; }
  .gm-stock-details table { width: 100% !important; min-width: 0 !important; }
  .gm-stock-details .no-print { display: none !important; }
  .gm-stock-detail-info, .gm-stock-detail-totals article { break-inside: avoid; }
}
.gm-app .gm-stock-adjustment-editor .gm-stock-detail-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; margin: 0; }
.gm-app .gm-stock-adjustment-editor .gm-stock-detail-fields > [class*="col-"] { float: none; width: auto; min-width: 0; padding: 0; }
.gm-app .gm-stock-detail-fields::before, .gm-app .gm-stock-detail-fields::after,
.gm-app .gm-stock-notes-fields::before, .gm-app .gm-stock-notes-fields::after { display: none; }
.gm-app .gm-stock-products-card > .row { margin: 0; }
.gm-app .gm-stock-products-card > .row > .col-sm-12 { float: none; padding: 0; }
.gm-app .gm-stock-product-search { margin-bottom: 22px; }
.gm-app .gm-stock-product-search .input-group { max-width: 780px; }
.gm-app .gm-stock-product-search input:disabled { background: #f3f6f0 !important; cursor: not-allowed; }
.gm-app .gm-stock-product-search .gm-stock-search-locked { display: none; }
.gm-app .gm-stock-product-search:has(input:disabled) .gm-stock-search-locked { display: inline; }
.gm-app .gm-stock-product-search:has(input:disabled) .gm-stock-search-ready { display: none; }
.gm-app .gm-stock-products-table-shell { border: 1px solid var(--gm-border); border-radius: 9px; }
.gm-app .gm-stock-products-table { width: 100%; min-width: 970px; margin: 0; }
.gm-app .gm-stock-products-table th, .gm-app .gm-stock-products-table td { padding: 15px 12px; font-size: 12px; line-height: 1.7; vertical-align: middle; }
.gm-app .gm-stock-products-table th { float: none; width: auto; text-align: left; }
.gm-app .gm-stock-products-table th:first-child { width: 30%; }
.gm-app .gm-stock-products-table th:last-child { width: 52px; }
.gm-app .gm-stock-products-table .form-control { min-width: 120px; height: 40px; font-size: 12px; }
.gm-app .gm-stock-products-table input { text-align: right; font-variant-numeric: tabular-nums; }
.gm-app .gm-stock-products-table .product_line_total { background: #f4f8f0 !important; color: var(--gm-green-dark) !important; font-weight: 650; }
.gm-app .gm-stock-product-name { display: block; font-size: 12px; font-weight: 650; line-height: 1.7; }
.gm-app .gm-stock-product-sku { display: block; margin-top: 3px; color: var(--gm-muted); font-size: 11px; }
.gm-app .gm-stock-products-table .lot_number { margin-top: 8px; }
.gm-app .gm-stock-remove-product { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0; border: 1px solid #efcfd2; border-radius: 7px; background: #fff4f4; color: #b42332; font-size: 12px; }
.gm-app .gm-stock-remove-product:hover { background: #ffe8eb; }
.gm-app .gm-stock-products-empty { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 36px 20px; text-align: center; }
.gm-app .gm-stock-products-card:has(tbody tr) .gm-stock-products-empty { display: none; }
.gm-app .gm-stock-products-empty > span { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 11px; background: var(--gm-soft); color: var(--gm-green); font-size: 18px; }
.gm-app .gm-stock-products-empty h3 { margin: 4px 0 0; font-size: 15px; font-weight: 700; }
.gm-app .gm-stock-products-empty p { margin: 0; color: var(--gm-muted); font-size: 12px; line-height: 1.7; }
.gm-app .gm-stock-adjustment-total { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 20px; margin-top: 18px; border: 1px solid var(--gm-border); border-radius: 9px; background: #f3f8ef; }
.gm-app .gm-stock-adjustment-total > span { font-size: 12px; font-weight: 650; }
.gm-app .gm-stock-adjustment-total strong { color: var(--gm-green-dark); font-size: 24px; font-weight: 750; font-variant-numeric: tabular-nums; }
.gm-app .gm-stock-adjustment-total strong small { font-size: 15px; }
.gm-app .gm-stock-notes-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 24px; margin: 0; }
.gm-app .gm-stock-notes-fields > [class*="col-"] { float: none; width: auto; padding: 0; min-width: 0; }
@media (max-width: 1100px) { .gm-app .gm-stock-adjustment-editor .gm-stock-detail-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .gm-app .gm-stock-adjustment-editor .gm-stock-detail-fields, .gm-app .gm-stock-notes-fields { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-stock-save-footer { align-items: flex-start; flex-direction: column; }
}

.gm-app .gm-budget-page { padding: 26px 24px 38px; }
.gm-app .gm-budget-periods.nav-tabs-custom { margin: 0; border: 0; border-radius: 0; box-shadow: none; }
.gm-app .gm-budget-tabs.nav-tabs { display: flex; flex-wrap: wrap; gap: 6px; padding: 5px; margin-bottom: 22px; border: 1px solid var(--gm-border); border-radius: 10px; background: #f7faf5; }
.gm-app .gm-budget-tabs.nav-tabs > li { float: none; margin: 0; border: 0 !important; }
.gm-app .gm-budget-tabs.nav-tabs > li > a { display: block; padding: 11px 22px; margin: 0; border: 0 !important; border-radius: 7px; color: var(--gm-muted); font-size: 12px; font-weight: 650; }
.gm-app .gm-budget-tabs.nav-tabs > li.active > a,
.gm-app .gm-budget-tabs.nav-tabs > li.active > a:hover,
.gm-app .gm-budget-tabs.nav-tabs > li.active > a:focus { background: var(--gm-green) !important; color: #fff !important; }
.gm-app .gm-budget-periods .tab-content { padding: 0; }
.gm-app .gm-budget-scroll { max-height: 540px; overflow: auto; border: 1px solid var(--gm-border); border-radius: 9px; }
.gm-app .gm-budget-grid, .gm-app .gm-budget-report { width: 100%; margin: 0; border-collapse: separate; border-spacing: 0; }
.gm-app #monthly_tab .gm-budget-grid { min-width: 1690px; }
.gm-app #monthly_tab .gm-budget-report { min-width: 1580px; }
.gm-app #quarterly_tab .gm-budget-grid, .gm-app #quarterly_tab .gm-budget-report { min-width: 760px; }
.gm-app #yearly_tab .gm-budget-grid, .gm-app #yearly_tab .gm-budget-report { min-width: 520px; }
.gm-app .gm-budget-grid th, .gm-app .gm-budget-grid td,
.gm-app .gm-budget-report th, .gm-app .gm-budget-report td { padding: 12px; border-bottom: 1px solid var(--gm-border); font-size: 12px; vertical-align: middle; }
.gm-app .gm-budget-grid thead th, .gm-app .gm-budget-report thead th { position: sticky; top: 0; z-index: 3; padding: 15px 12px; background: #f6faf5 !important; text-align: center; }
.gm-app .gm-budget-grid tr > th:first-child, .gm-app .gm-budget-report tr > th:first-child { position: sticky; left: 0; z-index: 2; width: 240px; min-width: 240px; max-width: 240px; background: #fff; border-right: 1px solid var(--gm-border); color: #43594a; font-size: 12px; font-weight: 650; line-height: 1.6; text-align: left; }
.gm-app .gm-budget-grid thead tr > th:first-child, .gm-app .gm-budget-report thead tr > th:first-child { z-index: 4; }
.gm-app .gm-budget-grid tbody tr:hover > th, .gm-app .gm-budget-grid tbody tr:hover > td { background: #f5faf2; }
.gm-app .gm-budget-grid input.form-control { width: 100%; min-width: 90px; height: 40px; padding: 9px 10px; border-radius: 7px; text-align: right; font-size: 12px; font-variant-numeric: tabular-nums; }
.gm-app #yearly_tab .gm-budget-grid td { max-width: 350px; }
.gm-app .gm-budget-search { position: relative; width: 280px; max-width: 100%; }
.gm-app .gm-budget-search > i { position: absolute; top: 13px; left: 12px; color: #79917e; font-size: 12px; }
.gm-app .gm-budget-search input { height: 40px; padding-left: 34px; font-size: 12px; }
.gm-app .gm-budget-save-footer { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--gm-border); }
.gm-app .gm-budget-save-footer strong { font-size: 12px; font-weight: 650; }
.gm-app .gm-budget-save-footer p { margin: 7px 0 0; color: var(--gm-muted); font-size: 11px; }
.gm-app .gm-budget-no-match { padding: 22px; margin: 0; color: var(--gm-muted); text-align: center; font-size: 12px; }
.gm-app .gm-budget-year-filter { max-width: 100%; width: 250px; }
.gm-app .gm-budget-year-filter label { display: block; margin-bottom: 8px; font-size: 11px; }
.gm-app .gm-budget-year-filter input { height: 40px; background: #fff !important; font-size: 12px; cursor: pointer; }
.gm-app .gm-budget-empty { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 44px 20px; border: 1px dashed var(--gm-border); border-radius: 10px; background: #f8fbf6; text-align: center; }
.gm-app .gm-budget-empty > span, .gm-app .gm-budget-empty > i { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 12px; background: var(--gm-soft); color: var(--gm-green); font-size: 20px; }
.gm-app .gm-budget-empty h3 { margin: 4px 0 0; font-size: 17px; font-weight: 700; }
.gm-app .gm-budget-empty p { margin: 0 0 6px; color: var(--gm-muted); font-size: 12px; line-height: 1.7; }
.gm-app .gm-budget-exports { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.gm-app .gm-budget-exports .btn { padding: 8px 12px; font-size: 11px; border-radius: 7px; }
.gm-app .gm-budget-report td { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.gm-app .gm-budget-report .toggle-tr th { background: var(--gm-soft) !important; color: var(--gm-green-dark); padding: 15px 12px; }
.gm-app .gm-budget-report .toggle-tr .collapse-icon { margin-right: 8px; }
.gm-app .gm-budget-report .collapsed .collapse-tr { display: none; }
.gm-app .gm-budget-report tfoot th, .gm-app .gm-budget-report tfoot td { position: sticky; bottom: 0; z-index: 3; background: #eaf4e7 !important; color: var(--gm-green-dark) !important; font-weight: 700; }
.gm-app .gm-budget-report tfoot th:first-child { z-index: 4; }
.gm-app #add_budget_modal .modal-body, .gm-app #add_budget_modal .modal-header, .gm-app #add_budget_modal .modal-footer { padding: 22px; }
.gm-app .gm-budget-modal-help { margin-bottom: 18px; color: var(--gm-muted); font-size: 12px; line-height: 1.7; }
@media (max-width: 767px) {
  .gm-app .gm-budget-page { padding: 20px 14px 30px; }
  .gm-app .gm-budget-tabs.nav-tabs > li > a { padding: 10px 14px; }
  .gm-app .gm-budget-grid tr > th:first-child, .gm-app .gm-budget-report tr > th:first-child { width: 180px; min-width: 180px; max-width: 180px; }
}
.gm-app .gm-accounting-transactions { padding: 26px 24px 38px; }
.gm-app .gm-transactions-layout.pos-tab-container { display: grid; grid-template-columns: 220px minmax(0, 1fr); align-items: start; gap: 22px; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.gm-app .gm-transactions-layout .pos-tab-menu { float: none; width: auto; padding: 16px; border: 1px solid var(--gm-border); border-radius: 13px; background: #fff; }
.gm-app .gm-transactions-nav h2 { margin: 4px 8px 14px; color: var(--gm-muted); font-size: 10px; font-weight: 700; letter-spacing: .065em; text-transform: uppercase; }
.gm-app .gm-transactions-nav .list-group { margin: 0; }
.gm-app .gm-transactions-nav .list-group > a { display: flex; align-items: center; gap: 10px; margin: 4px 0; padding: 13px 12px; border: 0; border-radius: 8px !important; color: var(--gm-muted); background: #fff; font-size: 12px; font-weight: 600; line-height: 1.6; text-align: left; }
.gm-app .gm-transactions-nav .list-group > a > i { width: 17px; flex: none; color: #79917e; text-align: center; }
.gm-app .gm-transactions-nav .list-group > a.active { background: var(--gm-soft) !important; color: var(--gm-green-dark) !important; box-shadow: inset 3px 0 var(--gm-green); }
.gm-app .gm-transactions-nav .list-group > a.active > i { color: var(--gm-green); }
.gm-app .gm-transactions-nav .list-group > a:hover { background: #f3f8ef; }
.gm-app .gm-transactions-nav .list-group > a::after { display: none; }
.gm-app .gm-transactions-layout > .pos-tab { display: none; grid-column: 2; grid-row: 1; float: none; width: auto; min-width: 0; padding: 0; }
.gm-app .gm-transactions-layout > .pos-tab:has(> .pos-tab-content.active) { display: block; }
.gm-app .gm-transactions-layout .pos-tab-content { padding: 22px; border: 1px solid var(--gm-border); border-radius: 13px; background: #fff; }
.gm-app .gm-transactions-layout .gm-business-table-heading { padding-bottom: 20px; border-bottom: 1px solid var(--gm-border); }
.gm-app .gm-transactions-layout .gm-business-table-heading h2 { line-height: 1.7; }
.gm-app .gm-transactions-layout .box { margin: 0 0 20px; box-shadow: none; border: 1px solid var(--gm-border); border-radius: 9px; }
.gm-app .gm-transactions-layout .box-header { padding: 13px 16px; }
.gm-app .gm-transactions-layout .box-title { font-size: 12px; }
.gm-app .gm-transactions-layout .box-body { padding: 16px; }
.gm-app .gm-transactions-table-shell { min-width: 0; }
.gm-app .gm-transactions-layout .dataTables_scroll { border: 1px solid var(--gm-border); border-radius: 9px; overflow: hidden; }
.gm-app .gm-transactions-layout .dataTables_scrollHead table { margin-bottom: 0 !important; }
.gm-app .gm-transactions-table { width: 100% !important; }
.gm-app .gm-transactions-table th, .gm-app .gm-transactions-table td { padding: 14px 12px; vertical-align: middle; }
.gm-app .gm-transactions-table th { min-width: 90px; }
.gm-app .gm-transactions-table td { font-size: 12px; line-height: 1.7; }
.gm-app .gm-transactions-table .gm-transaction-amount { font-weight: 650; font-variant-numeric: tabular-nums; white-space: nowrap; text-align: right; }
.gm-app .gm-transactions-layout .gm-product-table-search input { width: 250px !important; max-width: 100%; }
.gm-app .gm-transactions-layout .gm-product-table-toolbar { gap: 14px; }
.gm-app .gm-transactions-layout .gm-product-table-tools { margin-left: 0; }
@media (max-width: 1100px) {
  .gm-app .gm-transactions-layout.pos-tab-container { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .gm-app .gm-transactions-layout > .pos-tab { grid-column: 1; grid-row: 2; }
  .gm-app .gm-transactions-nav .list-group { display: flex; flex-wrap: wrap; gap: 6px; }
  .gm-app .gm-transactions-nav .list-group > a { margin: 0; }
}
@media (max-width: 767px) {
  .gm-app .gm-accounting-transactions { padding: 20px 14px 30px; }
  .gm-app .gm-transactions-layout .pos-tab-content { padding: 18px 14px; }
}
.gm-app .gm-account-view-switch { display: inline-flex; flex-wrap: wrap; gap: 6px; padding: 5px; margin-bottom: 6px; border: 1px solid var(--gm-border); border-radius: 11px; background: #fff; }
.gm-app .gm-account-view-switch > .btn { display: inline-flex; align-items: center; gap: 8px; float: none; margin: 0 !important; min-height: 40px; padding: 10px 18px !important; border: 1px solid transparent !important; border-radius: 7px !important; background: #fff !important; color: var(--gm-muted) !important; font-size: 12px; font-weight: 650; box-shadow: none !important; }
.gm-app .gm-account-view-switch > .btn:hover { background: var(--gm-soft) !important; color: var(--gm-green-dark) !important; }
.gm-app .gm-account-view-switch > .btn.active { background: var(--gm-green) !important; color: #fff !important; }
.gm-app .gm-account-view-switch > .btn:focus-within { outline: 2px solid var(--gm-green); outline-offset: 2px; }
.gm-app .gm-account-load-state { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 220px; padding: 30px 20px; border: 1px solid var(--gm-border); border-radius: 10px; background: #f8fbf6; text-align: center; }
.gm-app .gm-account-load-state strong { color: var(--gm-ink); font-size: 14px; font-weight: 650; }
.gm-app .gm-account-load-state p { margin: 0; color: var(--gm-muted); font-size: 12px; line-height: 1.7; }
.gm-app .gm-account-load-spinner { width: 28px; height: 28px; margin-bottom: 4px; border: 3px solid #dcebdd; border-top-color: var(--gm-green); border-radius: 50%; animation: gm-account-loading .8s linear infinite; }
.gm-app .gm-account-load-state.is-error > i { color: #b42332; font-size: 24px; margin-bottom: 4px; }
.gm-app .gm-account-load-retry { margin-top: 6px; }
@keyframes gm-account-loading { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .gm-app .gm-account-load-spinner { animation: none; } }
.gm-app .gm-accounting-dashboard { padding: 26px 24px 38px; }
.gm-app .gm-accounting-period { display: flex; flex-direction: column; gap: 8px; }
.gm-app .gm-accounting-period label { margin: 0; color: var(--gm-muted); font-size: 11px; font-weight: 600; }
.gm-app .gm-accounting-period .gm-superadmin-action { justify-content: space-between; min-width: 250px; }
.gm-app .gm-accounting-overview { margin-bottom: 28px; }
.gm-app .gm-accounting-overview .gm-business-table-heading { padding-bottom: 20px; border-bottom: 1px solid var(--gm-border); }
.gm-app .gm-accounting-section-icon { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 9px; background: var(--gm-soft); color: var(--gm-green); }
.gm-app .gm-accounting-overview-grid { display: grid; grid-template-columns: minmax(280px, .85fr) minmax(0, 1.15fr); align-items: center; gap: 32px; }
.gm-app .gm-accounting-balance-table { width: 100%; margin: 0; }
.gm-app .gm-accounting-balance-table th, .gm-app .gm-accounting-balance-table td { padding: 15px 12px; font-size: 12px; vertical-align: middle; }
.gm-app .gm-accounting-balance-table th:last-child, .gm-app .gm-account-balance { text-align: right; }
.gm-app .gm-account-balance { font-size: 15px !important; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.gm-app .gm-account-type-dot { display: inline-block; width: 9px; height: 9px; margin-right: 8px; border-radius: 3px; background: #73877a; }
.gm-app .gm-account-type-dot.is-asset { background: #0b6d27; }
.gm-app .gm-account-type-dot.is-expenses { background: #c38a35; }
.gm-app .gm-account-type-dot.is-income { background: #418f83; }
.gm-app .gm-account-type-dot.is-equity { background: #a6bc57; }
.gm-app .gm-account-type-dot.is-liability { background: #73877a; }
.gm-app .gm-accounting-balance-note { display: flex; align-items: baseline; gap: 7px; margin: 16px 0 0; padding: 12px; border-radius: 8px; background: #f7faf5; color: var(--gm-muted); font-size: 10px; line-height: 1.8; }
.gm-app .gm-accounting-overview-chart { min-width: 0; }
.gm-app .gm-accounting-breakdown-heading { margin-bottom: 20px; }
.gm-app .gm-accounting-breakdown-heading h2 { margin: 8px 0; font-size: 19px; font-weight: 700; }
.gm-app .gm-accounting-breakdown-heading p { margin: 0; color: var(--gm-muted); font-size: 12px; }
.gm-app .gm-accounting-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.gm-app .gm-accounting-chart-card .gm-business-table-heading { align-items: flex-start; flex-wrap: wrap; padding-bottom: 18px; border-bottom: 1px solid var(--gm-border); }
.gm-app .gm-accounting-chart-tag { padding: 5px 8px; border: 1px solid var(--gm-border); border-radius: 6px; color: var(--gm-muted); background: #f7faf5; font-size: 10px; }
@media (max-width: 1000px) {
  .gm-app .gm-accounting-overview-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}
@media (max-width: 767px) {
  .gm-app .gm-accounting-dashboard { padding: 20px 14px 30px; }
  .gm-app .gm-accounting-chart-grid { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-accounting-period { width: 100%; }
}

/* Online order directory. */
.gm-app .gm-mall-orders { padding: 26px 24px 38px; }
.gm-app .gm-orders-sort { display: inline-flex; align-items: center; gap: 7px; color: var(--gm-muted); font-size: 11px; white-space: nowrap; }
.gm-app .gm-mall-orders .table-responsive { border: 1px solid var(--gm-border); border-radius: 9px; }
.gm-app .gm-orders-table { min-width: 1100px; margin: 0; }
.gm-app .gm-orders-table th, .gm-app .gm-orders-table td { padding: 16px 14px; vertical-align: top; }
.gm-app .gm-orders-table td { font-size: 12px; line-height: 1.7; }
.gm-app .gm-orders-table tbody tr + tr { border-top: 1px solid var(--gm-border); }
.gm-app .gm-orders-number { display: inline-flex; align-items: center; gap: 8px; font-weight: 650; white-space: nowrap; }
.gm-app .gm-orders-number i { color: #79917e; }
.gm-app .gm-orders-number:hover { text-decoration: underline; }
.gm-app .gm-orders-customer { min-width: 180px; max-width: 260px; overflow-wrap: anywhere; }
.gm-app .gm-orders-customer strong, .gm-app .gm-orders-customer small { display: block; }
.gm-app .gm-orders-customer small, .gm-app .gm-orders-line small { color: var(--gm-muted); font-size: 11px; }
.gm-app .gm-orders-line { min-width: 240px; max-width: 360px; }
.gm-app .gm-orders-line + .gm-orders-line { margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--gm-border); }
.gm-app .gm-orders-total { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.gm-app .gm-orders-date { min-width: 140px; color: var(--gm-muted) !important; font-size: 11px !important; }
.gm-app .gm-mall-orders .gm-mall-order-status { white-space: nowrap; }
.gm-app .gm-mall-orders .gm-mall-order-status.is-completed,
.gm-app .gm-mall-orders .gm-mall-order-status.is-fulfilled { background: #e7f4e8; color: var(--gm-green-dark); }
.gm-app .gm-mall-orders .gm-mall-order-status.is-cancelled { background: #fceef0; color: #b42332; }
.gm-app .gm-orders-table .gm-orders-empty { padding: 54px 24px; text-align: center; }
.gm-app .gm-orders-empty > span { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 13px; background: var(--gm-soft); color: var(--gm-green); font-size: 21px; }
.gm-app .gm-orders-empty h3 { margin: 18px 0 8px; font-size: 17px; font-weight: 700; }
.gm-app .gm-orders-empty p { max-width: 420px; margin: 0 auto; color: var(--gm-muted); font-size: 12px; line-height: 1.8; }
.gm-app .gm-orders-table:has(.gm-orders-empty) { min-width: 0; width: 100%; }
@media (max-width: 767px) {
  .gm-app .gm-mall-orders { padding: 20px 14px 30px; }
  .gm-app .gm-orders-table:has(.gm-orders-empty) thead { display: none; }
}

/* Storefront page directory and content editors. */
.gm-app .gm-mall-pages, .gm-app .gm-mall-page-editor { padding: 26px 24px 38px; }
.gm-app .gm-pages-guidance { display: flex; align-items: baseline; gap: 10px; padding: 15px 18px; margin-bottom: 24px; border: 1px solid var(--gm-border); border-radius: 10px; background: #f1f7ed; font-size: 12px; }
.gm-app .gm-pages-guidance p { margin: 0; color: var(--gm-muted); line-height: 1.8; }
.gm-app .gm-mall-pages .gm-business-table-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px; }
.gm-app .gm-pages-search { position: relative; width: 300px; max-width: 100%; }
.gm-app .gm-pages-search > i { position: absolute; left: 12px; top: 14px; color: #79917e; font-size: 12px; }
.gm-app .gm-pages-search input { height: 40px; padding-left: 34px; font-size: 12px; }
.gm-app .gm-pages-table { min-width: 700px; margin: 0; }
.gm-app .gm-pages-table th, .gm-app .gm-pages-table td { padding: 15px 12px; vertical-align: middle; }
.gm-app .gm-pages-table td { font-size: 12px; }
.gm-app .gm-page-title { display: flex; align-items: center; gap: 12px; font-weight: 650; }
.gm-app .gm-page-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 8px; background: var(--gm-soft); color: var(--gm-green); font-size: 13px; }
.gm-app .gm-pages-table code { padding: 4px 7px; border-radius: 5px; background: #f2f6ee; color: #536459; font-size: 11px; overflow-wrap: anywhere; }
.gm-app .gm-page-status { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border: 1px solid #dfe6db; border-radius: 6px; background: #f2f5ef; color: var(--gm-muted); font-size: 10px; font-weight: 600; }
.gm-app .gm-page-status i { font-size: 5px; }
.gm-app .gm-page-status.is-published { border-color: #cde1d0; background: #eaf5eb; color: var(--gm-green-dark); }
.gm-app .gm-page-row-actions { display: flex; align-items: center; gap: 8px; }
.gm-app .gm-page-row-actions form { margin: 0; }
.gm-app .gm-page-row-actions .gm-superadmin-action { min-height: 34px; padding: 8px 10px; font-size: 11px; }
.gm-app .gm-page-row-actions .gm-page-delete { border-color: #f0cdd2; background: #fceef0; color: #b42332; }
.gm-app .gm-page-row-actions .gm-page-delete:hover { background: #f8dfe3; }
.gm-app .gm-pages-table .gm-pages-empty { padding: 38px 20px; text-align: center; }
.gm-app .gm-pages-empty h3 { margin: 14px 0 8px; font-size: 16px; font-weight: 700; }
.gm-app .gm-pages-empty p { margin: 0 0 18px; color: var(--gm-muted); font-size: 12px; }
.gm-app .gm-page-details-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.gm-app .gm-page-details-fields > [class*="col-"] { float: none; width: auto; min-width: 0; padding: 0; }
.gm-app .gm-mall-page-editor .help-block { font-size: 11px; line-height: 1.8; }
.gm-app .gm-mall-page-editor .gm-page-publishing-option { padding: 16px; }
.gm-app .gm-page-publishing-option .help-block { margin-bottom: 0; }
.gm-app .gm-mall-page-editor .tox-tinymce { border: 1px solid #cdddcf; border-radius: 9px; }
.gm-app .gm-mall-page-editor .alert-danger { border: 1px solid #f0cdd2; border-radius: 9px; background: #fceef0; color: #b42332; }
@media (max-width: 600px) {
  .gm-app .gm-mall-pages, .gm-app .gm-mall-page-editor { padding: 20px 14px 30px; }
  .gm-app .gm-page-details-fields { grid-template-columns: minmax(0, 1fr); }
}

/* Online payment configuration. */
.gm-app .gm-mall-payment-settings { padding: 26px 24px 38px; }
.gm-app .gm-payment-availability { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 22px; }
.gm-app .gm-payment-availability-copy, .gm-app .gm-payment-card-heading { display: flex; align-items: flex-start; gap: 15px; }
.gm-app .gm-payment-availability-copy { flex: 1; min-width: 240px; }
.gm-app .gm-payment-section-icon { display: flex; align-items: center; justify-content: center; flex: 0 0 40px; height: 40px; border-radius: 10px; background: var(--gm-soft); color: var(--gm-green); font-size: 16px; }
.gm-app .gm-payment-availability-copy h2 { margin: 0 0 8px; }
.gm-app .gm-payment-availability-copy p { margin: 0; color: var(--gm-muted); font-size: 11px; line-height: 1.7; }
.gm-app .gm-mall-payment-settings .gm-payment-enable { display: inline-flex; align-items: center; gap: 12px; margin: 0; padding: 14px 18px; border: 1px solid #cde0d0; border-radius: 9px; background: #f3f8ef; font-size: 12px; font-weight: 600; cursor: pointer; }
.gm-app .gm-payment-enable .icheckbox_square-blue { margin: 0; }
.gm-app .gm-payment-bank-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-bottom: 22px; }
.gm-app .gm-payment-accounting-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.gm-app .gm-payment-bank-fields > [class*="col-"], .gm-app .gm-payment-accounting-fields > [class*="col-"] { float: none; width: auto; min-width: 0; padding: 0; }
.gm-app .gm-mall-payment-settings .help-block { font-size: 11px; line-height: 1.8; }
.gm-app .gm-mall-payment-settings label { line-height: 1.7; }
.gm-app .gm-payment-accounting-fields .form-group > .fa-info-circle { margin-left: 4px; font-size: 12px; }
.gm-app .gm-mall-payment-settings .form-control[readonly] { background: #f3f6ef !important; color: #637269 !important; }
.gm-app .gm-payment-connected { display: flex; align-items: baseline; gap: 10px; margin-bottom: 22px; padding: 14px 16px; border: 1px solid #cde3d1; border-radius: 9px; background: #eaf5ec !important; color: var(--gm-green-dark) !important; font-size: 12px; line-height: 1.7; }
.gm-app .gm-payment-connected::before { content: '\f058'; font-family: 'Font Awesome 5 Free'; font-weight: 900; color: var(--gm-green); }
.gm-app #gateway-verify-account-status:empty { display: none; }
.gm-app .gm-mall-payment-settings #gateway-verify-account-status:not(:empty) { display: block; padding: 12px 14px; margin: 14px 0 0; border: 1px solid var(--gm-border); border-radius: 8px; background: #f7faf5; font-size: 12px; }
.gm-app .gm-mall-payment-settings #gateway-verify-account-status.text-success { color: var(--gm-green-dark) !important; border-color: #cde3d1; background: #eaf5ec; }
.gm-app .gm-mall-payment-settings #gateway-verify-account-status.text-danger { color: #b42332 !important; border-color: #f0cdd2; background: #fceef0; }
@media (max-width: 1100px) {
  .gm-app .gm-payment-bank-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gm-app .gm-payment-bank-fields > div:last-child { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .gm-app .gm-mall-payment-settings { padding: 20px 14px 30px; }
  .gm-app .gm-payment-bank-fields, .gm-app .gm-payment-accounting-fields { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-payment-availability-copy { min-width: 0; flex-basis: 100%; }
}

/* Store settings and per-branch fulfillment controls. */
.gm-app .gm-mall-settings { padding: 26px 24px 38px; }
.gm-app .gm-mall-settings .gm-package-form-card > .row { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 22px; margin: 0 0 20px; }
.gm-app .gm-mall-settings .gm-package-form-card > .row::before, .gm-app .gm-mall-settings .gm-package-form-card > .row::after { display: none; }
.gm-app .gm-mall-settings .gm-package-form-card > .row > [class*="col-"] { float: none; width: auto; padding: 0; min-width: 0; }
.gm-app .gm-mall-settings .row > .col-md-4 { grid-column: span 4; }
.gm-app .gm-mall-settings .row > .col-md-6 { grid-column: span 6; }
.gm-app .gm-mall-settings .row > .col-md-12 { grid-column: 1 / -1; }
.gm-app .gm-mall-settings .help-block { font-size: 11px; line-height: 1.8; }
.gm-app .gm-mall-settings-identity > .text-muted { padding: 12px 14px; margin: 10px 0 0; border: 1px solid var(--gm-border); border-radius: 8px; background: #f7faf5; font-size: 11px; line-height: 1.8; }
.gm-app .gm-mall-settings .form-control[disabled] { background: #f3f6ef !important; color: #637269 !important; opacity: 1; }
.gm-app .gm-mall-domain-settings a { overflow-wrap: anywhere; }
.gm-app .gm-mall-domain-settings .alert-info { margin: 0; padding: 18px; border: 1px solid #d2e4d5; border-radius: 9px; background: #f1f8ed; color: var(--gm-ink); font-size: 12px; line-height: 1.8; }
.gm-app .gm-mall-domain-settings code { color: var(--gm-green-dark); background: #edf5e8; overflow-wrap: anywhere; white-space: normal; }
.gm-app .gm-mall-settings .label { display: inline-block; padding: 6px 9px; border-radius: 6px; font-size: 10px; }
.gm-app .gm-mall-fulfillment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.gm-app .gm-mall-settings .gm-mall-fulfillment-choice { display: flex; align-items: center; gap: 12px; margin: 0; padding: 18px; border: 1px solid var(--gm-border); border-radius: 9px; background: #f7faf5; font-size: 12px; font-weight: 600; }
.gm-app .gm-mall-settings input[type="checkbox"] { position: static; flex: 0 0 18px; width: 18px; height: 18px; margin: 0; accent-color: var(--gm-green); }
.gm-app .gm-mall-settings input[type="checkbox"]:focus-visible { outline: 2px solid var(--gm-green); outline-offset: 3px; }
.gm-app .gm-mall-branches-table { min-width: 900px; margin: 0; }
.gm-app .gm-mall-branches-table th { padding: 13px 12px; font-size: 10px; }
.gm-app .gm-mall-branches-table td { padding: 16px 12px; vertical-align: middle; font-size: 12px; }
.gm-app .gm-mall-branches-table td:first-child { min-width: 190px; font-weight: 600; }
.gm-app .gm-mall-branches-table td:nth-child(2), .gm-app .gm-mall-branches-table td:nth-child(3), .gm-app .gm-mall-branches-table td:nth-child(4) { text-align: center; }
.gm-app .gm-mall-branches-table .gm-superadmin-action { padding: 8px 10px; min-height: 34px; font-size: 10px; white-space: nowrap; }
.gm-app .gm-mall-branches-table .hours-row > td { padding: 20px; background: #f6faf3 !important; text-align: left; font-weight: 400; }
.gm-app .gm-mall-hours-days { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.gm-app .gm-mall-day-hours { min-width: 0; padding: 14px; border: 1px solid var(--gm-border); border-radius: 9px; background: #fff; }
.gm-app .gm-mall-day-hours > label { display: block; margin-bottom: 10px; font-size: 12px; }
.gm-app .gm-mall-day-hours > br { display: none; }
.gm-app .gm-mall-day-hours .checkbox-inline { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; padding: 0; font-size: 10px; font-weight: 500; }
.gm-app .gm-mall-day-hours input[type="time"] { height: 36px; font-size: 11px; color-scheme: light; }
.gm-app .gm-mall-partner-settings { margin-top: 24px; }
@media (max-width: 1000px) {
  .gm-app .gm-mall-settings .gm-package-form-card > .row { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-mall-settings .row > [class*="col-md-"] { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .gm-app .gm-mall-settings { padding: 20px 14px 30px; }
  .gm-app .gm-mall-fulfillment-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Merchant management overview, separate from storefront branding. */
.gm-app .gm-mall-overview { padding: 26px 24px 38px; }
.gm-app .gm-mall-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.gm-app .gm-mall-store-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; padding: 28px; margin-bottom: 30px; border: 1px solid var(--gm-border); border-radius: 14px; background: #fff; }
.gm-app .gm-mall-store-identity { display: flex; align-items: center; gap: 20px; min-width: 0; }
.gm-app .gm-mall-store-icon { display: flex; align-items: center; justify-content: center; flex: 0 0 64px; height: 64px; border-radius: 15px; background: var(--gm-soft); color: var(--gm-green); font-size: 27px; }
.gm-app .gm-mall-store-identity h2 { margin: 0 0 13px; font-size: 23px; font-weight: 750; letter-spacing: -.025em; overflow-wrap: anywhere; }
.gm-app .gm-mall-store-status { display: inline-flex; align-items: center; gap: 7px; padding: 5px 9px; border: 1px solid var(--gm-border); border-radius: 6px; background: #f5f8f3; color: var(--gm-muted); font-size: 11px; font-weight: 600; }
.gm-app .gm-mall-store-status i { font-size: 6px; }
.gm-app .gm-mall-store-status.is-live { border-color: #cde2d0; background: var(--gm-soft); color: var(--gm-green-dark); }
.gm-app .gm-mall-visit-store { display: flex; align-items: center; gap: 8px; width: fit-content; margin-top: 15px; font-size: 12px; font-weight: 650; }
.gm-app .gm-mall-visit-store i { font-size: 10px; }
.gm-app .gm-mall-availability { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; padding: 4px 0 4px 28px; margin: 0; border-left: 1px solid var(--gm-border); }
.gm-app .gm-mall-availability dt { color: var(--gm-muted); font-size: 11px; font-weight: 500; line-height: 1.6; }
.gm-app .gm-mall-availability dt i { margin-right: 5px; color: #71917a; }
.gm-app .gm-mall-availability dd { margin: 7px 0 0; font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; }
.gm-app .gm-mall-performance { margin-bottom: 28px; }
.gm-app .gm-mall-section-heading { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 20px; margin-bottom: 18px; }
.gm-app .gm-mall-section-heading h2 { margin: 0 0 7px; font-size: 18px; font-weight: 750; }
.gm-app .gm-mall-section-heading p { margin: 0; color: var(--gm-muted); font-size: 11px; }
.gm-app .gm-mall-section-heading form { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 10px; }
.gm-app .gm-mall-section-heading label { display: block; font-size: 11px; margin-bottom: 7px; font-weight: 600; }
.gm-app .gm-mall-section-heading input { height: 40px; min-width: 150px; font-size: 12px; color-scheme: light; }
.gm-app .gm-mall-revenue { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.gm-app .gm-mall-revenue .gm-metric-feature .fa-info-circle { color: #fff !important; }
.gm-app .gm-mall-order-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 16px; border: 1px solid var(--gm-border); border-radius: 12px; background: #fff; }
.gm-app .gm-mall-order-summary article { display: flex; align-items: center; gap: 14px; padding: 18px 22px; border-right: 1px solid var(--gm-border); }
.gm-app .gm-mall-order-summary article:last-child { border: 0; }
.gm-app .gm-mall-order-summary h3 { margin: 0 0 7px; color: var(--gm-muted); font-size: 11px; font-weight: 500; }
.gm-app .gm-mall-order-summary p { margin: 0; font-size: 21px; font-weight: 700; }
.gm-app .gm-mall-summary-icon { display: flex; align-items: center; justify-content: center; flex: 0 0 34px; height: 34px; border-radius: 9px; background: var(--gm-soft); color: var(--gm-green); font-size: 14px; }
.gm-app .gm-mall-summary-icon.is-pending { background: #fcf4e3; color: #956b25; }
.gm-app .gm-mall-summary-icon.is-failed { background: #fceef0; color: #b42332; }
.gm-app .gm-mall-connection dl { margin: 0; }
.gm-app .gm-mall-connection dl > div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 20px; padding: 13px 0; border-bottom: 1px solid #edf2e9; font-size: 12px; line-height: 1.7; }
.gm-app .gm-mall-connection dl > div:last-child { border: 0; padding-bottom: 0; }
.gm-app .gm-mall-connection dt { font-weight: 600; color: var(--gm-muted); }
.gm-app .gm-mall-connection dd { margin: 0; overflow-wrap: anywhere; }
.gm-app .gm-mall-connection .label { display: inline-block; padding: 5px 7px; border-radius: 5px; font-size: 10px; }
.gm-app .gm-mall-recent-orders .gm-business-table-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.gm-app .gm-mall-orders-table { margin: 0; min-width: 760px; }
.gm-app .gm-mall-orders-table th, .gm-app .gm-mall-orders-table td { padding: 14px 12px; vertical-align: middle; }
.gm-app .gm-mall-orders-table td { font-size: 12px; line-height: 1.7; }
.gm-app .gm-mall-orders-table td:first-child a { font-weight: 650; }
.gm-app .gm-mall-order-status { display: inline-block; padding: 4px 8px; border-radius: 5px; background: #f1f5ed; color: var(--gm-muted); font-size: 10px; font-weight: 650; }
.gm-app .gm-mall-order-status.is-paid { background: #e7f4e8; color: var(--gm-green-dark); }
.gm-app .gm-mall-order-status.is-pending { background: #fcf4e3; color: #956b25; }
.gm-app .gm-mall-order-status.is-failed { background: #fceef0; color: #b42332; }
.gm-app .gm-mall-orders-table .gm-mall-orders-empty { padding: 36px 20px; }
.gm-app .gm-mall-orders-empty > span { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 10px; background: var(--gm-soft); color: var(--gm-green); font-size: 16px; }
.gm-app .gm-mall-orders-empty h3 { margin: 14px 0 7px; font-size: 14px; font-weight: 700; }
.gm-app .gm-mall-orders-empty p { margin: 0; color: var(--gm-muted); font-size: 12px; }
@media (max-width: 1100px) {
  .gm-app .gm-mall-store-card { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .gm-app .gm-mall-availability { border: 0; border-top: 1px solid var(--gm-border); padding: 22px 0 0; }
}
@media (max-width: 600px) {
  .gm-app .gm-mall-overview { padding: 20px 14px 30px; }
  .gm-app .gm-mall-store-card { padding: 22px 18px; }
  .gm-app .gm-mall-store-identity { gap: 14px; }
  .gm-app .gm-mall-store-icon { flex-basis: 46px; height: 46px; font-size: 21px; }
  .gm-app .gm-mall-store-identity h2 { font-size: 19px; }
  .gm-app .gm-mall-revenue, .gm-app .gm-mall-order-summary { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-mall-order-summary article { border-right: 0; border-bottom: 1px solid var(--gm-border); }
  .gm-app .gm-mall-section-heading form { width: 100%; }
  .gm-app .gm-mall-section-heading form > div { flex: 1; min-width: 0; }
  .gm-app .gm-mall-section-heading input { width: 100%; min-width: 0; }
  .gm-app .gm-mall-connection dl > div { grid-template-columns: minmax(0, 1fr); gap: 6px; }
}

/* Product imports: template preparation, upload, and column reference. */
.gm-app .gm-product-import { padding: 26px 24px 38px; }
.gm-app .gm-product-import-workflow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-bottom: 24px; }
.gm-app .gm-product-import-workflow .gm-package-form-card { display: flex; flex-direction: column; min-width: 0; margin: 0; }
.gm-app .gm-product-import-workflow h2 { margin-top: 10px; line-height: 1.4; }
.gm-app .gm-product-import-steps { display: grid; gap: 20px; margin: 0 0 26px; padding: 0; list-style: none; counter-reset: import-step; }
.gm-app .gm-product-import-steps li { position: relative; padding-left: 40px; counter-increment: import-step; }
.gm-app .gm-product-import-steps li::before { content: counter(import-step); position: absolute; top: 0; left: 0; display: flex; align-items: center; justify-content: center; width: 25px; height: 25px; border: 1px solid #cee1d1; border-radius: 50%; background: var(--gm-soft); color: var(--gm-green-dark); font-size: 10px; font-weight: 700; }
.gm-app .gm-product-import-steps strong { display: block; font-size: 12px; font-weight: 650; line-height: 1.7; }
.gm-app .gm-product-import-steps span { display: block; margin-top: 4px; color: var(--gm-muted); font-size: 11px; line-height: 1.7; }
.gm-app .gm-product-import-template > .gm-superadmin-action { align-self: flex-start; margin-top: auto; }
.gm-app .gm-product-import-upload > form { display: flex; flex-direction: column; flex: 1; }
.gm-app .gm-product-import-upload label { display: block; }
.gm-app .gm-product-import-file { padding: 22px; border: 1px dashed #bfd4c2; border-radius: 10px; background: #f7faf5; }
.gm-app .gm-product-import-file-icon { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; margin-bottom: 16px; border-radius: 9px; background: #e6f2e8; color: var(--gm-green); font-size: 16px; }
.gm-app .gm-product-import-file input[type="file"] { display: block; width: 100%; color: var(--gm-muted); font-size: 12px; }
.gm-app .gm-product-import-file input[type="file"]::file-selector-button { margin-right: 10px; padding: 9px 12px; border: 1px solid var(--gm-border); border-radius: 6px; background: #fff; color: var(--gm-green-dark); font-size: 11px; font-weight: 600; cursor: pointer; }
.gm-app .gm-product-import-file input[type="file"]:focus-visible { outline: 2px solid var(--gm-green); outline-offset: 3px; }
.gm-app .gm-product-import-file p { margin: 14px 0 0; color: var(--gm-muted); font-size: 11px; line-height: 1.7; }
.gm-app .gm-product-import-reminder { display: flex; align-items: baseline; gap: 9px; margin: 16px 0 24px; font-size: 11px; }
.gm-app .gm-product-import-reminder p { margin: 0; color: var(--gm-muted); line-height: 1.7; }
.gm-app .gm-product-import-upload footer { margin-top: auto; }
.gm-app .gm-product-import-guide-scroll { overflow-x: auto; }
.gm-app .gm-product-import-guide table { width: 100%; min-width: 640px; margin: 0; }
.gm-app .gm-product-import-guide th { padding: 13px 14px; border: 0; border-bottom: 1px solid var(--gm-border); background: #f2f7ef; color: #43554a; font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
.gm-app .gm-product-import-guide td { padding: 15px 14px; border-color: var(--gm-border); vertical-align: top; font-size: 12px; line-height: 1.8; }
.gm-app .gm-product-import-guide td:first-child { width: 65px; color: var(--gm-muted); font-size: 11px; font-variant-numeric: tabular-nums; }
.gm-app .gm-product-import-guide td:nth-child(2) { width: 28%; font-weight: 600; }
.gm-app .gm-product-import-guide td small { display: inline-block; font-size: 10px; font-weight: 400; }
.gm-app .gm-product-import-alert { padding: 16px 42px 16px 18px; border: 1px solid #f1d3d8; border-radius: 10px; background: #fceef0; color: #b42332; font-size: 12px; }
@media (max-width: 767px) {
  .gm-app .gm-product-import { padding: 20px 14px 30px; }
  .gm-app .gm-product-import-workflow { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .gm-app .gm-product-import-file { padding: 18px; }
}

.gm-app .gm-opening-stock-template-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto; }
.gm-app .gm-opening-stock-export-field { max-width: 620px; }
.gm-app .gm-opening-stock-export-field label { display: block; }
.gm-app .gm-opening-stock-export-footer { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--gm-border); }

/* Product variation directory and editors. */
.gm-app .gm-variations-page #variation_table td { padding: 17px 14px; vertical-align: middle; border-color: var(--gm-border); font-size: 12px; }
.gm-app .gm-variations-page .dataTables_scrollHead th { padding: 13px 14px; border: 0; border-bottom: 1px solid var(--gm-border); background: #f2f7ef; font-size: 10px; }
.gm-app .gm-variation-name { min-width: 180px; }
.gm-app .gm-variation-values { min-width: 240px; }
.gm-app .gm-variation-actions { min-width: 170px; }
.gm-app .gm-variation-value-list { display: flex; flex-wrap: wrap; gap: 7px; }
.gm-app .gm-variation-value-list > span { padding: 4px 10px; border: 1px solid #d3e6d6; border-radius: 6px; background: var(--gm-soft); color: var(--gm-green-dark); font-size: 11px; overflow-wrap: anywhere; }
.gm-app .gm-variation-dialog { width: 620px; max-width: calc(100vw - 28px); margin: 24px auto; }
.gm-app .gm-variation-dialog .modal-content > form { display: flex; flex-direction: column; max-height: calc(100dvh - 48px); }
.gm-app .gm-variation-dialog .modal-header { padding: 22px 24px; flex: none; border-color: var(--gm-border); }
.gm-app .gm-variation-dialog .modal-title { padding-right: 22px; font-size: 20px; font-weight: 750; }
.gm-app .gm-variation-dialog .modal-body { min-height: 0; padding: 24px; overflow-y: auto; }
.gm-app .gm-variation-intro { margin: 0 0 24px; color: var(--gm-muted); font-size: 12px; line-height: 1.7; }
.gm-app .gm-variation-dialog .form-group { display: grid; grid-template-columns: minmax(0, 1fr) 44px; gap: 8px 10px; margin: 0 0 18px; }
.gm-app .gm-variation-dialog .form-group::before, .gm-app .gm-variation-dialog .form-group::after { display: none; }
.gm-app .gm-variation-dialog .form-group > [class*="col-"] { float: none; width: auto; margin: 0; padding: 0; min-width: 0; }
.gm-app .gm-variation-dialog .form-group > label { grid-column: 1 / -1; padding: 0; text-align: left; font-size: 12px; font-weight: 650; }
.gm-app .gm-variation-dialog .form-group > .col-sm-9 { grid-column: 1 / -1; }
.gm-app .gm-variation-dialog .form-control { height: 44px; font-size: 12px; border-radius: 8px; }
.gm-app .gm-variation-add-value, .gm-app .gm-variation-remove-value { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid #c8ddcc; border-radius: 8px; background: var(--gm-soft); color: var(--gm-green); font-size: 13px; }
.gm-app .gm-variation-add-value:hover { background: #deefdf; }
.gm-app .gm-variation-remove-value { border-color: #f0cdd2; background: #fceef0; color: #b42332; }
.gm-app .gm-variation-remove-value:hover { background: #f8dfe3; }
.gm-app .gm-variation-add-value:focus-visible, .gm-app .gm-variation-remove-value:focus-visible { outline: 2px solid var(--gm-green); outline-offset: 3px; }
.gm-app .gm-variation-dialog .modal-footer { display: flex; flex-direction: row-reverse; gap: 9px; padding: 18px 24px; flex: none; border-color: var(--gm-border); background: #f8faf5; border-radius: 0 0 14px 14px; }
.gm-app .gm-variation-dialog .modal-footer > button + button { margin-left: 0; }
@media (max-width: 600px) {
  .gm-app .gm-variation-dialog .modal-header, .gm-app .gm-variation-dialog .modal-body { padding: 20px 18px; }
}

/* Label setup styles are scoped away from the printable label output. */
.gm-app .gm-label-editor { padding: 26px 24px 38px; }
.gm-app .gm-label-editor .gm-package-form-card h2 { margin-top: 10px; }
.gm-app .gm-label-search { max-width: 720px; margin-bottom: 24px !important; }
.gm-app .gm-label-search label { display: block; }
.gm-app .gm-label-products-scroll { overflow-x: auto; }
.gm-app .gm-label-products-table { margin: 0; min-width: 650px; }
.gm-app .gm-label-products-table th { padding: 13px 14px; border: 0; border-bottom: 1px solid var(--gm-border); background: #f2f7ef; color: #43554a; font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
.gm-app .gm-label-products-table td { padding: 16px 14px; border: 0; border-bottom: 1px solid var(--gm-border); vertical-align: middle; font-size: 12px; }
.gm-app .gm-label-products-table th:first-child { width: 30%; }
.gm-app .gm-label-products-table .form-control { min-width: 100px; }
.gm-app .gm-label-empty { display: none; padding: 36px 20px; text-align: center; border: 1px dashed var(--gm-border); border-top: 0; border-radius: 0 0 9px 9px; }
.gm-app .gm-label-products:has(#product_table tbody:not(:has(tr))) .gm-label-empty { display: block; }
.gm-app .gm-label-empty > span { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-bottom: 14px; border-radius: 10px; background: var(--gm-soft); color: var(--gm-green); font-size: 18px; }
.gm-app .gm-label-empty h3 { margin: 0 0 9px; font-size: 14px; font-weight: 700; }
.gm-app .gm-label-empty p { margin: 0; color: var(--gm-muted); font-size: 12px; }
.gm-app .gm-label-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.gm-app .gm-label-option { min-width: 0; padding: 18px; border: 1px solid var(--gm-border); border-radius: 10px; background: #f9fbf7; }
.gm-app .gm-label-option:not(:has(input, select)) { display: none; }
.gm-app .gm-label-option .checkbox { padding: 0; margin: 0 0 16px; border: 0; background: none; }
.gm-app .gm-label-option .checkbox label { line-height: 1.6; }
.gm-app .gm-label-option input[type="checkbox"] { position: static; flex: 0 0 17px; width: 17px; height: 17px; margin: 0; accent-color: var(--gm-green); }
.gm-app .gm-label-option .checkbox b { font-weight: 600; }
.gm-app .gm-label-option .input-group-addon { font-size: 11px; }
.gm-app .gm-label-option .input-group-addon b { font-weight: 500; }
.gm-app .gm-label-output-controls { display: flex; align-items: flex-end; gap: 20px; }
.gm-app .gm-label-paper-setting { flex: 1; max-width: 620px; min-width: 0; }
.gm-app .gm-label-print-controls { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
@media (max-width: 1100px) {
  .gm-app .gm-label-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .gm-app .gm-label-editor { padding: 20px 14px 30px; }
  .gm-app .gm-label-options { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-label-output-controls { flex-direction: column; align-items: stretch; }
}

/* Product price spreadsheet workflow. */
.gm-app .gm-price-update { padding: 26px 24px 38px; }
.gm-app .gm-price-update-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-bottom: 22px; }
.gm-app .gm-price-update-card { display: flex; flex-direction: column; margin: 0; min-width: 0; }
.gm-app .gm-price-update-card > header { display: flex; align-items: flex-start; gap: 16px; }
.gm-app .gm-price-update-card h2 { margin-top: 9px; line-height: 1.4; }
.gm-app .gm-price-update-icon { display: flex; align-items: center; justify-content: center; flex: 0 0 44px; height: 44px; border-radius: 10px; background: var(--gm-soft); color: var(--gm-green); font-size: 17px; }
.gm-app .gm-price-update-note { display: flex; align-items: baseline; gap: 10px; padding: 14px 16px; border: 1px solid var(--gm-border); border-radius: 9px; background: #f7faf5; font-size: 12px; }
.gm-app .gm-price-update-note p { margin: 0; color: var(--gm-muted); line-height: 1.7; }
.gm-app .gm-price-update-card > form { display: flex; flex-direction: column; flex: 1; }
.gm-app .gm-price-update-card footer { margin-top: auto; padding-top: 24px; }
.gm-app .gm-price-update-file label { display: block; }
.gm-app .gm-price-update-file input[type="file"] { display: block; width: 100%; padding: 12px; border: 1px dashed #bfd4c2; border-radius: 9px; background: #f7faf5; color: var(--gm-muted); font-size: 12px; }
.gm-app .gm-price-update-file input[type="file"]::file-selector-button { margin-right: 10px; padding: 8px 12px; border: 1px solid var(--gm-border); border-radius: 6px; background: #fff; color: var(--gm-green-dark); font-size: 11px; font-weight: 600; cursor: pointer; }
.gm-app .gm-price-update-file input[type="file"]:focus-visible { outline: 2px solid var(--gm-green); outline-offset: 3px; }
.gm-app .gm-price-update-instructions ol { display: grid; gap: 16px; list-style: none; counter-reset: price-step; padding: 0; margin: 0; }
.gm-app .gm-price-update-instructions li { display: flex; align-items: baseline; gap: 12px; font-size: 12px; line-height: 1.7; color: var(--gm-muted); counter-increment: price-step; }
.gm-app .gm-price-update-instructions li::before { content: counter(price-step); display: inline-flex; align-items: center; justify-content: center; flex: 0 0 24px; height: 24px; border: 1px solid var(--gm-border); border-radius: 50%; background: var(--gm-soft); color: var(--gm-green-dark); font-size: 10px; font-weight: 700; }
.gm-app .gm-price-update-alert { padding: 16px 42px 16px 18px; border: 1px solid #f1d3d8; border-radius: 10px; background: #fceef0; color: #b42332; font-size: 12px; }
@media (max-width: 767px) {
  .gm-app .gm-price-update { padding: 20px 14px 30px; }
  .gm-app .gm-price-update-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .gm-app .gm-price-update-card { padding: 20px; }
  .gm-app .gm-price-update-card > header { gap: 12px; }
}

/* Shared table loading status stays visible without covering table headers. */
.gm-app div.dataTables_wrapper div.dataTables_processing {
  position: fixed;
  top: auto;
  left: auto;
  right: 24px;
  bottom: 24px;
  z-index: 1051;
  width: auto;
  max-width: calc(100vw - 32px);
  min-height: 44px;
  margin: 0;
  padding: 12px 18px;
  border: 1px solid #c9dfcd;
  border-radius: 10px;
  background: var(--gm-soft) !important;
  background-image: none !important;
  color: var(--gm-green-dark);
  font-size: 12px;
  font-weight: 600;
  line-height: 20px;
  text-align: left;
  box-shadow: 0 4px 16px rgba(17, 54, 26, .1) !important;
  pointer-events: none;
}
.gm-app .dataTables_processing::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 10px;
  border: 2px solid #c1dcc7;
  border-top-color: var(--gm-green);
  border-radius: 50%;
  vertical-align: -3px;
  animation: gm-table-loading 800ms linear infinite;
}
@keyframes gm-table-loading { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .gm-app .dataTables_processing::before { animation: none; }
}
@media (max-width: 600px) {
  .gm-app div.dataTables_wrapper div.dataTables_processing { right: 16px; bottom: 16px; }
}
@media (max-width: 600px) {
  .gm-app .gm-contact-navigation { gap: 3px; }
  .gm-app .gm-contact-navigation a { padding: 8px 10px; font-size: 11px; }
  .gm-app .gm-contact-filters .box-body, .gm-app .gm-contact-dialog .modal-body > .row, .gm-app .gm-contact-dialog #more_div, .gm-app .gm-contact-import-steps, .gm-app .gm-contact-profile-info > .col-md-12 { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-contact-dialog .modal-header, .gm-app .gm-contact-dialog .modal-body, .gm-app .gm-contact-group-dialog .modal-body { padding: 20px 18px; }
  .gm-app .gm-contact-import, .gm-app .gm-contact-detail, .gm-app .gm-contact-map { padding: 20px 14px 30px; }
  .gm-app .gm-contact-import-upload { flex-direction: column; align-items: stretch; }
  .gm-app .gm-contact-detail .box-body, .gm-app .gm-contact-detail .tab-content { padding: 18px; }
}

/* Sale details: customer cards, payment history and totals. */
.gm-app .gm-sale-date { display: inline-block; margin-left: 12px; color: var(--gm-muted); font-size: 11px; }
.gm-app .gm-sale-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin-bottom: 26px; }
.gm-app .gm-sale-info { font-size: 12px; line-height: 1.9; overflow-wrap: anywhere; }
.gm-app .gm-sale-info b, .gm-app .gm-sale-info strong { font-weight: 650; }
.gm-app .gm-sale-status, .gm-app .gm-sale-payment-status { display: inline-block; padding: 2px 8px; border-radius: 6px; background: #eaf0eb; color: #4e6355; font-size: 10px; font-weight: 650; }
.gm-app .gm-sale-payment-status-paid { background: var(--gm-soft); color: var(--gm-green-dark); }
.gm-app .gm-sale-payment-status-due, .gm-app .gm-sale-payment-status-partial { background: #fff4df; color: #92620c; }
.gm-app .gm-sale-products { border: 1px solid var(--gm-border); border-radius: 9px; }
.gm-app .gm-sale-products > table { min-width: 900px; margin: 0; }
.gm-app .gm-sale-details .gm-sale-products th,
.gm-app .gm-sale-details .gm-sale-payment-table th { background: #f6faf5 !important; color: #536459 !important; font-size: 10px; font-weight: 650; letter-spacing: .035em; text-transform: uppercase; }
.gm-app .gm-sale-details .gm-sale-products tr.bg-green,
.gm-app .gm-sale-details .gm-sale-payment-table tr.bg-green { background: #f6faf5 !important; color: #536459 !important; }
.gm-app .gm-sale-products th, .gm-app .gm-sale-products td,
.gm-app .gm-sale-payment-table th, .gm-app .gm-sale-payment-table td { padding: 13px 12px; border-bottom: 1px solid var(--gm-border); font-size: 12px; line-height: 1.7; vertical-align: top; font-variant-numeric: tabular-nums; }
.gm-app .gm-sale-details table.bg-gray { background: #fff !important; }
.gm-app .gm-sale-products td:nth-child(2) { min-width: 210px; font-weight: 600; }
.gm-app .gm-sale-products td:last-child { font-weight: 650; }
.gm-app .gm-sale-payment-summary { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 22px; margin: 26px 0; align-items: start; }
.gm-app .gm-sale-payments, .gm-app .gm-sale-totals { min-width: 0; padding: 18px; border: 1px solid var(--gm-border); border-radius: 10px; }
.gm-app .gm-sale-payment-summary > .gm-sale-totals:first-child { grid-column: 1 / -1; }
.gm-app .gm-sale-payment-summary h2 { margin: 0 0 16px; font-size: 16px; font-weight: 700; }
.gm-app .gm-sale-payment-table { min-width: 530px; margin: 0; }
.gm-app .gm-sale-payment-empty { text-align: center; padding: 25px !important; color: var(--gm-muted); }
.gm-app .gm-sale-totals-table { margin: 0; }
.gm-app .gm-sale-details .gm-sale-totals-table th { background: transparent !important; color: var(--gm-muted); font-size: 12px; font-weight: 500; width: 55%; }
.gm-app .gm-sale-totals-table th, .gm-app .gm-sale-totals-table td { padding: 11px 10px; border-bottom: 1px solid var(--gm-border); font-size: 12px; vertical-align: middle; font-variant-numeric: tabular-nums; }
.gm-app .gm-sale-totals-table td:nth-child(2) { width: 20px; color: var(--gm-muted); }
.gm-app .gm-sale-totals-table td:last-child { text-align: right; }
.gm-app .gm-sale-details .gm-sale-total-payable th,
.gm-app .gm-sale-details .gm-sale-total-payable td { background: var(--gm-soft) !important; color: var(--gm-green-dark); font-size: 14px; font-weight: 700; padding-top: 15px; padding-bottom: 15px; }
.gm-app .gm-sale-details .gm-sale-total-remaining th,
.gm-app .gm-sale-total-remaining td { font-weight: 700; color: var(--gm-ink); border-bottom: 0; }
.gm-app .gm-sale-notes { margin-bottom: 22px; }
.gm-app .gm-sale-notes strong, .gm-app .gm-sale-activities > div > strong { display: inline-block; margin-bottom: 10px; font-size: 13px; }
.gm-app .gm-sale-details .gm-sale-notes .well { padding: 16px; border: 1px solid var(--gm-border); border-radius: 9px; background: #f8fbf6 !important; font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
@media (max-width: 900px) { .gm-app .gm-sale-payment-summary { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767px) {
  .gm-app .gm-sale-summary { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-sale-date { display: block; margin: 10px 0 0; }
}
.gm-app .gm-purchase-products > table { min-width: 1250px; }
.gm-app .gm-purchase-products th { white-space: normal; min-width: 90px; }
.gm-app .gm-purchase-products th:first-child { min-width: 35px; }
.gm-app .gm-purchase-products td { white-space: nowrap; }
.gm-app .gm-purchase-products td:nth-child(2) { white-space: normal; }
.gm-app .gm-purchase-details .gm-sale-info > .gm-superadmin-action { margin-top: 14px; }
.gm-app .gm-purchase-details .gm-sale-notes .well { min-height: 56px; }
@media print {
  .gm-purchase-details .gm-sale-summary { display: block; }
  .gm-purchase-details .gm-sale-info { margin-bottom: 12px; }
  .gm-purchase-details .gm-sale-payment-summary { display: block; }
  .gm-purchase-details .gm-sale-payments, .gm-purchase-details .gm-sale-totals { margin-bottom: 16px; break-inside: avoid; }
  .gm-purchase-details .gm-purchase-products th { min-width: 0; }
  .gm-purchase-details .gm-purchase-products td { white-space: normal; }
}

/* Purchase return forms. */
.gm-app .gm-purchase-return-editor .gm-return-details-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; margin: 0; }
.gm-app .gm-return-details-fields > [class*="col-"] { float: none; width: auto; min-width: 0; padding: 0; }
.gm-app .gm-return-details-fields::before, .gm-app .gm-return-details-fields::after, .gm-app .gm-return-details-fields > .clearfix { display: none; }
.gm-app .gm-return-details-fields .form-group { margin: 0; }
.gm-app .gm-return-document { grid-column: 1 / -1; padding: 18px !important; border: 1px dashed #bed3c1; border-radius: 9px; background: #f8fbf6; }
.gm-app .gm-return-document input[type="file"] { display: block; width: 100%; padding: 10px; border: 1px solid var(--gm-border); border-radius: 8px; background: white; color: var(--gm-muted); font-size: 12px; }
.gm-app .gm-return-document input[type="file"]::file-selector-button { padding: 8px 12px; margin-right: 12px; border: 1px solid var(--gm-border); border-radius: 6px; background: var(--gm-soft); color: var(--gm-green-dark); font-weight: 600; cursor: pointer; }
.gm-app .gm-return-document .help-block { margin: 9px 0 0; font-size: 11px; }
.gm-app .gm-return-product-search { margin-bottom: 6px; }
.gm-app .gm-return-search-hint { margin: 10px 0 0; color: var(--gm-muted); font-size: 11px; }
.gm-app .gm-return-product-search:has(input:not(:disabled)) .gm-return-search-hint { display: none; }
.gm-app .gm-return-product-table { margin-bottom: 20px; border: 1px solid var(--gm-border); border-radius: 9px; }
.gm-app .gm-return-product-table table { min-width: 850px; margin: 0; background: #fff !important; }
.gm-app .gm-return-product-table th { padding: 14px 12px; background: #f6faf5 !important; color: #536459 !important; font-size: 10px; font-weight: 650; letter-spacing: .035em; text-transform: uppercase; }
.gm-app .gm-return-product-table tr.bg-green { background: #f6faf5 !important; color: #536459 !important; }
.gm-app .gm-return-product-table td { padding: 14px 12px; vertical-align: middle; font-size: 12px; line-height: 1.7; font-variant-numeric: tabular-nums; }
.gm-app .gm-return-product-table td:first-child { min-width: 220px; }
.gm-app .gm-return-product-table #purchase_return_table td:first-child { min-width: 35px; }
.gm-app .gm-return-product-table #purchase_return_table td:nth-child(2) { min-width: 210px; font-weight: 600; }
.gm-app .gm-return-product-table .input_quantity, .gm-app .gm-return-product-table .product_unit_price, .gm-app .gm-return-product-table .product_line_total { min-width: 105px; height: 40px; text-align: right; }
.gm-app .gm-return-product-table .product_line_total { background: #f6faf5; font-weight: 650; }
.gm-app .gm-return-product-table .return_subtotal { font-weight: 650; white-space: nowrap; }
.gm-app .gm-return-empty { display: flex; flex-direction: column; align-items: center; gap: 9px; padding: 32px 20px; margin-bottom: 24px; border: 1px dashed var(--gm-border); border-radius: 9px; background: #f8fbf6; text-align: center; }
.gm-app .gm-return-empty i { color: #7c9681; font-size: 25px; }
.gm-app .gm-return-empty strong { font-size: 13px; }
.gm-app .gm-return-empty p { margin: 0; font-size: 11px; color: var(--gm-muted); }
.gm-app .gm-return-product-table:has(tbody tr) + .gm-return-empty { display: none; }
.gm-app .gm-return-tax { margin-top: 4px; }
.gm-app .gm-return-total > div { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 20px; margin-top: 4px; border: 1px solid var(--gm-border); border-radius: 9px; background: var(--gm-soft); }
.gm-app .gm-return-total > div > span:first-child { color: var(--gm-muted); font-size: 12px; }
.gm-app .gm-return-total #total_return { color: var(--gm-green-dark); font-size: 24px; font-weight: 750; font-variant-numeric: tabular-nums; }
.gm-app .gm-return-parent-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0; }
.gm-app .gm-return-parent-summary::before, .gm-app .gm-return-parent-summary::after { display: none; }
.gm-app .gm-return-parent-summary > div { float: none; width: auto; padding: 18px; border: 1px solid var(--gm-border); border-radius: 9px; background: #f8fbf6; font-size: 12px; line-height: 2; }
.gm-app .gm-return-parent-tax > div { width: 100%; font-size: 12px; color: var(--gm-muted); }
.gm-app .gm-return-parent-total > div { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 18px 15px 0; width: calc(100% - 30px); padding: 20px; border: 1px solid var(--gm-border); border-radius: 9px; background: var(--gm-soft); }
.gm-app .gm-return-parent-total #net_return { color: var(--gm-green-dark); font-size: 24px; font-weight: 750; font-variant-numeric: tabular-nums; }
@media (max-width: 1100px) { .gm-app .gm-purchase-return-editor .gm-return-details-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .gm-app .gm-purchase-return-editor .gm-return-details-fields, .gm-app .gm-return-parent-summary { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-return-total > div, .gm-app .gm-return-parent-total > div { flex-wrap: wrap; }
}

/* View Payments modal, shared by transaction types. */
.gm-app .gm-payments-parties { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin-bottom: 24px; }
.gm-app .gm-payments-info { font-size: 12px; line-height: 1.9; overflow-wrap: anywhere; }
.gm-app .gm-payments-info > address { margin-top: 10px; }
.gm-app .gm-payments-info b { font-weight: 650; }
.gm-app .gm-payments-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 24px; }
.gm-app .gm-payments-summary article { display: flex; flex-direction: column; gap: 12px; padding: 18px; border: 1px solid var(--gm-border); border-radius: 9px; background: #fff; }
.gm-app .gm-payments-summary article:first-child { background: var(--gm-soft); }
.gm-app .gm-payments-summary article > span { color: var(--gm-muted); font-size: 11px; }
.gm-app .gm-payments-summary strong { color: var(--gm-green-dark); font-size: 23px; font-weight: 750; font-variant-numeric: tabular-nums; }
.gm-app .gm-payments-table-heading { display: flex; align-items: center; gap: 10px; margin: 22px 0 15px; }
.gm-app .gm-payments-table-heading h2 { margin: 0; font-size: 16px; font-weight: 700; }
.gm-app .gm-payments-table-shell { border: 1px solid var(--gm-border); border-radius: 9px; }
.gm-app .gm-payments-table { min-width: 900px; margin: 0; }
.gm-app .gm-payments-table th { padding: 14px 12px; background: #f6faf5; color: #536459; font-size: 10px; font-weight: 650; text-transform: uppercase; letter-spacing: .035em; }
.gm-app .gm-payments-table td { padding: 15px 12px; vertical-align: middle; border-bottom: 1px solid var(--gm-border); font-size: 12px; line-height: 1.7; }
.gm-app .gm-payments-table td:first-child { white-space: nowrap; }
.gm-app .gm-payments-reference { font-weight: 600; }
.gm-app .gm-payments-amount { white-space: nowrap; font-weight: 650; font-variant-numeric: tabular-nums; }
.gm-app .gm-payments-change { color: var(--gm-muted); font-size: 10px; font-weight: 400; }
.gm-app .gm-payments-actions > div { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; min-width: 235px; font-size: 0; }
.gm-app .gm-payments-actions .gm-superadmin-action { gap: 5px; padding: 7px 9px; min-height: 32px; font-size: 10px; }
.gm-app .gm-payments-delete { border-color: #efcfd2; background: #fff4f4; color: #b42332; }
.gm-app .gm-payments-delete:hover { background: #ffe8eb; color: #b42332; }
.gm-app .gm-payments-details .gm-payments-empty { padding: 35px 20px; color: var(--gm-muted); text-align: center; }
.gm-app .gm-payments-empty i { display: block; margin-bottom: 12px; color: #8ca390; font-size: 26px; }
.gm-app .gm-payments-empty strong { font-size: 12px; font-weight: 500; }
@media (max-width: 767px) {
  .gm-app .gm-payments-parties, .gm-app .gm-payments-summary { grid-template-columns: minmax(0, 1fr); }
}
@media print {
  .gm-payments-parties, .gm-payments-summary { display: block !important; }
  .gm-payments-info, .gm-payments-summary article { margin-bottom: 12px; break-inside: avoid; }
  .gm-payments-table .no-print { display: none !important; }
}

/* Purchase Return Details. */
.gm-app .gm-return-details-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; margin-bottom: 26px; }
.gm-app .gm-return-details-document { grid-column: 1 / -1; }
.gm-app .gm-return-details-products > table { min-width: 700px; }
.gm-app .gm-return-details-products td:nth-child(n+3) { white-space: nowrap; }
.gm-app .gm-return-details-totals { display: flex; justify-content: flex-end; margin: 24px 0 26px; }
.gm-app .gm-return-details-totals > div { width: 50%; }
@media (max-width: 767px) {
  .gm-app .gm-return-details-summary { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-return-details-totals > div { width: 100%; }
}
@media print {
  .gm-return-details-summary { display: block !important; }
  .gm-return-details-summary > div { margin-bottom: 12px; }
  .gm-return-details-totals { break-inside: avoid; }
}

/* Business subscription overview and package selection. */
.gm-app .gm-member-section { padding: 24px; margin-bottom: 24px; border: 1px solid var(--gm-border); border-radius: 13px; background: #fff; }
.gm-app .gm-member-section > header { margin-bottom: 22px; }
.gm-app .gm-member-section > header h2 { margin: 0 0 8px; font-size: 18px; font-weight: 750; }
.gm-app .gm-member-section > header p { margin: 0; color: var(--gm-muted); font-size: 11px; line-height: 1.7; }
.gm-app .gm-member-status-grid, .gm-app .gm-member-package-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.gm-app .gm-member-status-card { padding: 20px; border: 1px solid var(--gm-border); border-radius: 10px; }
.gm-app .gm-member-status-active { background: #f6faf5; }
.gm-app .gm-member-status-badge, .gm-app .gm-member-popular-badge { display: inline-block; padding: 5px 9px; border-radius: 6px; background: var(--gm-soft); color: var(--gm-green-dark); font-size: 10px; font-weight: 650; }
.gm-app .gm-member-status-card h3 { margin: 14px 0 18px; font-size: 20px; font-weight: 750; }
.gm-app .gm-member-status-card dl { margin: 0 0 16px; }
.gm-app .gm-member-status-card dl > div { display: flex; justify-content: space-between; gap: 10px; margin: 10px 0; }
.gm-app .gm-member-status-card dt { color: var(--gm-muted); font-size: 11px; font-weight: 500; }
.gm-app .gm-member-status-card dd { margin: 0; font-size: 12px; font-weight: 600; }
.gm-app .gm-member-status-card p { margin: 0; color: var(--gm-muted); font-size: 12px; line-height: 1.7; }
.gm-app .gm-member-status-card .gm-member-remaining { color: var(--gm-green-dark); }
.gm-app .gm-member-status-waiting .gm-member-status-badge { background: #fff4df; color: #92620c; }
.gm-app .gm-member-no-active { padding: 24px; border: 1px dashed var(--gm-border); border-radius: 9px; background: #f8fbf6; }
.gm-app .gm-member-no-active i { display: block; margin-bottom: 14px; color: #7c9681; font-size: 24px; }
.gm-app .gm-member-no-active strong { font-size: 13px; }
.gm-app .gm-member-no-active p { margin: 10px 0 0; color: var(--gm-muted); font-size: 11px; }
.gm-app .gm-member-package-slot { display: flex; min-width: 0; }
.gm-app .gm-member-package-card { display: flex; flex-direction: column; gap: 22px; width: 100%; padding: 24px; border: 1px solid var(--gm-border); border-radius: 12px; background: #fff; }
.gm-app .gm-member-package-popular { border-color: #a7cdb0; box-shadow: 0 4px 18px rgba(16, 80, 35, .06); }
.gm-app .gm-member-popular-badge { align-self: flex-start; }
.gm-app .gm-member-package-name { margin: 0 0 18px; font-size: 21px; font-weight: 750; overflow-wrap: anywhere; }
.gm-app .gm-member-package-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; margin: 0 0 14px; color: var(--gm-green-dark); font-size: 27px; font-weight: 750; letter-spacing: -.025em; font-variant-numeric: tabular-nums; }
.gm-app .gm-member-package-price small { color: var(--gm-muted); font-size: 12px; font-weight: 500; letter-spacing: 0; }
.gm-app .gm-member-package-description { display: block; color: var(--gm-muted); font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
.gm-app .gm-member-package-features { display: flex; flex-direction: column; gap: 13px; padding-top: 20px; border-top: 1px solid var(--gm-border); }
.gm-app .gm-member-package-feature { display: flex; align-items: baseline; gap: 10px; color: #405748; font-size: 12px; line-height: 1.7; }
.gm-app .gm-member-package-feature i { flex-shrink: 0; color: var(--gm-green); font-size: 11px; }
.gm-app .gm-member-subscribe { width: 100%; margin-top: auto; padding: 12px; min-height: 44px; text-align: center; }
.gm-app .gm-member-history-table { min-width: 0; }
.gm-app .gm-member-history-table table { min-width: 1300px; }
.gm-app .gm-member-history-table th { padding: 13px 12px; font-size: 10px; }
.gm-app .gm-member-history-table td { padding: 14px 12px; font-size: 11px; line-height: 1.7; vertical-align: middle; }
.gm-app .gm-member-history-table td:nth-child(5) { font-weight: 650; white-space: nowrap; font-variant-numeric: tabular-nums; }
.gm-app .gm-member-history-table .label { display: inline-block; padding: 5px 8px; border-radius: 6px; font-size: 10px; }
.gm-app #gm-available-packages { scroll-margin-top: 90px; }
@media (max-width: 767px) {
  .gm-app .gm-member-section { padding: 18px 14px; }
  .gm-app .gm-member-status-grid, .gm-app .gm-member-package-grid { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-member-package-card { padding: 20px; }
}
.gm-app .gm-member-package-grid > .gm-member-no-active { grid-column: 1 / -1; }

/* Tax rates and tax groups. */
.gm-app .gm-tax-rate-page > .gm-business-table-card { margin-bottom: 24px; }
.gm-app .gm-tax-table-shell { min-width: 0; }
.gm-app .gm-tax-table-shell table { min-width: 620px; }
.gm-app .gm-tax-table-shell th { padding: 14px 12px; font-size: 10px; font-weight: 650; }
.gm-app .gm-tax-table-shell td { padding: 16px 12px; font-size: 12px; line-height: 1.7; vertical-align: middle; }
.gm-app .gm-tax-directory-table td:first-child { min-width: 190px; font-weight: 650; }
.gm-app .gm-tax-directory-table td:first-child small { display: block; margin-top: 5px; color: var(--gm-muted); font-size: 10px; font-weight: 400; }
.gm-app .gm-tax-directory-table td:nth-child(2) { min-width: 100px; font-weight: 650; font-variant-numeric: tabular-nums; }
.gm-app .gm-tax-directory-table td:last-child { min-width: 190px; }
.gm-app .gm-tax-directory-table td:last-child .tw-dw-btn { display: inline-flex; align-items: center; gap: 5px; margin: 3px 0; padding: 7px 10px; min-height: 32px; border-radius: 7px; font-size: 10px; }
.gm-app .gm-tax-dialog { width: calc(100% - 32px); max-width: 560px; margin: 40px auto; }
.gm-app .gm-tax-editor .modal-header, .gm-app .gm-tax-editor .modal-body { padding: 24px; }
.gm-app .gm-tax-editor .modal-title { margin: 8px 0 10px; font-size: 22px; font-weight: 750; }
.gm-app .gm-tax-modal-intro { margin: 0; color: var(--gm-muted); font-size: 11px; line-height: 1.8; }
.gm-app .gm-tax-editor .form-group { margin-bottom: 22px; }
.gm-app .gm-tax-editor .form-group:last-child { margin-bottom: 0; }
.gm-app .gm-tax-editor label { font-size: 12px; font-weight: 650; margin-bottom: 9px; }
.gm-app .gm-tax-editor .form-control { height: 44px; border-radius: 8px; font-size: 12px; }
.gm-app .gm-tax-rate-input .form-control { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.gm-app .gm-tax-rate-input .input-group-addon { border-radius: 0 8px 8px 0; background: #f6faf5; font-weight: 650; color: var(--gm-muted); }
.gm-app .gm-tax-group-option { display: flex; align-items: center; gap: 10px; margin: 0; padding: 16px; border: 1px solid var(--gm-border); border-radius: 9px; background: #f8fbf6; }
.gm-app .gm-tax-group-option label { display: flex; align-items: center; gap: 10px; flex: 1; padding: 0; margin: 0; min-width: 0; line-height: 1.7; }
.gm-app .gm-tax-group-option input[type="checkbox"] { position: static; margin: 0; flex-shrink: 0; }
.gm-app .gm-tax-group-option [class*="icheckbox"] { flex-shrink: 0; }
.gm-app .gm-tax-editor .modal-footer { display: flex; justify-content: flex-end; gap: 9px; padding: 18px 24px; }
.gm-app .gm-tax-editor .modal-footer > button { margin: 0; }
.gm-app .gm-tax-editor .select2-selection--multiple { min-height: 44px; }
@media (max-width: 767px) {
  .gm-app .gm-tax-dialog { margin: 16px auto; }
  .gm-app .gm-tax-editor .modal-header, .gm-app .gm-tax-editor .modal-body { padding: 20px; }
  .gm-app .gm-tax-rate-page .gm-product-table-search { width: 100%; }
}

/* Invoice settings directory and layout editor. */
.gm-app .gm-invoice-directory { border: 1px solid var(--gm-border); border-radius: 13px; background: #fff; overflow: hidden; }
.gm-app .gm-invoice-tabs { display: flex; gap: 8px; padding: 0 22px; margin: 0; border-bottom: 1px solid var(--gm-border); }
.gm-app .gm-invoice-tabs > li > a { padding: 18px 16px; margin: 0; border: 0 !important; border-bottom: 2px solid transparent !important; border-radius: 0; font-size: 13px; font-weight: 650; }
.gm-app .gm-invoice-tabs > li.active > a, .gm-app .gm-invoice-tabs > li.active > a:focus, .gm-app .gm-invoice-tabs > li.active > a:hover { background: #f4faf3; border-bottom-color: var(--gm-green) !important; color: var(--gm-green-dark); }
.gm-app .gm-invoice-directory .tab-content { padding: 24px; }
.gm-app .gm-invoice-layout-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.gm-app .gm-invoice-layout-card { display: flex; flex-direction: column; min-width: 0; padding: 22px; border: 1px solid var(--gm-border); border-radius: 11px; }
.gm-app .gm-invoice-layout-card > header { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.gm-app .gm-invoice-layout-icon { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 10px; background: var(--gm-soft); color: var(--gm-green); font-size: 23px; }
.gm-app .gm-invoice-layout-card h3 { margin: 18px 0 20px; font-size: 19px; font-weight: 750; overflow-wrap: anywhere; }
.gm-app .gm-invoice-layout-locations { padding-top: 16px; margin-bottom: 22px; border-top: 1px solid var(--gm-border); }
.gm-app .gm-invoice-layout-locations h4 { margin: 0 0 12px; color: var(--gm-muted); font-size: 11px; font-weight: 600; }
.gm-app .gm-invoice-layout-locations > div { display: flex; flex-wrap: wrap; gap: 6px; }
.gm-app .gm-invoice-layout-locations span { padding: 5px 8px; border-radius: 6px; background: #f5f8f3; color: #526659; font-size: 10px; line-height: 1.6; overflow-wrap: anywhere; }
.gm-app .gm-invoice-layout-locations p { color: var(--gm-muted); font-size: 12px; }
.gm-app .gm-invoice-layout-card > a { margin-top: auto; }
.gm-app .gm-invoice-scheme-table table { min-width: 950px; }
.gm-app .gm-invoice-scheme-table th { padding: 14px 12px; font-size: 10px; }
.gm-app .gm-invoice-scheme-table td { padding: 15px 12px; font-size: 12px; vertical-align: middle; }
.gm-app .gm-invoice-scheme-table td:last-child { min-width: 240px; }
.gm-app .gm-invoice-scheme-table .tw-dw-btn { margin: 3px 0; font-size: 10px; padding: 7px 9px; }
.gm-app .gm-invoice-editor-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.gm-app .gm-invoice-editor-nav a { padding: 9px 12px; border: 1px solid var(--gm-border); border-radius: 7px; background: #fff; color: var(--gm-green-dark); font-size: 11px; font-weight: 600; }
.gm-app .gm-invoice-editor-nav a:hover { background: var(--gm-soft); }
.gm-app .gm-invoice-editor-section { scroll-margin-top: 90px; }
.gm-app .gm-invoice-editor-section > .row { display: flex; flex-wrap: wrap; align-items: flex-start; }
.gm-app .gm-invoice-editor-section > .row::before, .gm-app .gm-invoice-editor-section > .row::after, .gm-app .gm-invoice-editor-section > .row > .clearfix:empty { display: none; }
.gm-app .gm-invoice-editor-section > .row > .col-sm-3 { width: 33.3333%; }
.gm-app .gm-invoice-layout-editor .form-group { margin-bottom: 22px; }
.gm-app .gm-invoice-layout-editor .checkbox { display: flex; align-items: center; gap: 9px; min-height: 56px; height: auto; }
.gm-app .gm-invoice-layout-editor .checkbox label { flex: 1; min-width: 0; align-items: center; font-size: 12px; }
.gm-app .gm-invoice-layout-editor .checkbox input { flex-shrink: 0; }
.gm-app .gm-invoice-layout-editor .form-group > br { display: none; }
.gm-app .gm-invoice-editor-section h4 { margin: 8px 0 22px; padding-bottom: 12px; border-bottom: 1px solid var(--gm-border); color: #435b4a; font-size: 14px; font-weight: 650; }
.gm-app .gm-invoice-layout-editor .form-group:has(> input[type="file"]) { padding: 18px; border: 1px dashed #bed3c1; border-radius: 9px; background: #f8fbf6; }
.gm-app .gm-invoice-layout-editor input[type="file"] { display: block; width: 100%; padding: 10px; border: 1px solid var(--gm-border); border-radius: 8px; background: #fff; color: var(--gm-muted); font-size: 12px; }
.gm-app .gm-invoice-layout-editor input[type="file"]::file-selector-button { padding: 8px 12px; margin-right: 10px; border: 1px solid var(--gm-border); border-radius: 6px; background: var(--gm-soft); color: var(--gm-green-dark); font-weight: 600; cursor: pointer; }
.gm-app .gm-invoice-layout-editor .mce-tinymce, .gm-app .gm-invoice-layout-editor .tox-tinymce { border: 1px solid var(--gm-border) !important; border-radius: 9px; overflow: hidden; box-shadow: none; }
.gm-app .gm-invoice-layout-editor .help-block { font-size: 11px; line-height: 1.8; }
.gm-app .gm-invoice-scheme-dialog { width: calc(100% - 32px); max-width: 680px; margin: 30px auto; }
.gm-app .gm-invoice-scheme-editor .option-div { padding: 14px; border: 1px solid var(--gm-border); border-radius: 9px; background: #f8fbf6; }
.gm-app .gm-invoice-scheme-editor .option-div.active { background: var(--gm-soft); border-color: #93be9b; color: var(--gm-green-dark); }
.gm-app .gm-invoice-scheme-editor .option-div h4 { margin: 0; font-size: 12px; line-height: 1.8; }
.gm-app .gm-invoice-scheme-editor #preview_format { padding: 14px; border: 1px dashed var(--gm-border); border-radius: 9px; color: var(--gm-green-dark); font-size: 13px; font-weight: 650; overflow-wrap: anywhere; }
.gm-app .gm-invoice-scheme-editor .checkbox label { display: flex; align-items: center; gap: 9px; padding: 0; margin: 0; }
.gm-app .gm-invoice-scheme-editor .checkbox input { position: static; margin: 0; }
@media (max-width: 1100px) { .gm-app .gm-invoice-editor-section > .row > .col-sm-3 { width: 50%; } }
@media (max-width: 767px) {
  .gm-app .gm-invoice-directory .tab-content { padding: 20px 14px; }
  .gm-app .gm-invoice-tabs { padding: 0 10px; gap: 0; }
  .gm-app .gm-invoice-tabs > li > a { padding: 16px 12px; font-size: 12px; }
  .gm-app .gm-invoice-layout-grid { grid-template-columns: minmax(0, 1fr); }
  .gm-app .gm-invoice-editor-section > .row > [class*="col-sm-"] { width: 100%; }
}
.gm-app .gm-invoice-editor-section > .row > .clearfix:not(:empty) { width: 100%; }

/* Barcode sticker settings. */
.gm-app .gm-barcode-table-shell table { min-width: 750px; }
.gm-app .gm-barcode-directory-table th { padding: 14px 12px; font-size: 10px; font-weight: 650; }
.gm-app .gm-barcode-directory-table td { padding: 17px 12px; vertical-align: middle; font-size: 12px; line-height: 1.8; }
.gm-app .gm-barcode-directory-table td:first-child { width: 30%; min-width: 220px; font-weight: 650; }
.gm-app .gm-barcode-directory-table td:nth-child(2) { min-width: 220px; color: var(--gm-muted); }
.gm-app .gm-barcode-directory-table td:last-child { min-width: 280px; }
.gm-app .gm-barcode-directory-table .label { display: inline-block; padding: 5px 8px; border-radius: 6px; background: var(--gm-soft) !important; color: var(--gm-green-dark) !important; font-size: 10px; }
.gm-app .gm-barcode-directory-table .tw-dw-btn { display: inline-flex; align-items: center; gap: 5px; min-height: 32px; padding: 7px 10px; margin: 3px 0; border-radius: 7px; font-size: 10px; }
.gm-app .gm-barcode-editor-layout { display: grid; grid-template-columns: minmax(0, 1fr) 285px; gap: 24px; align-items: start; }
.gm-app .gm-barcode-editor-main { min-width: 0; }
.gm-app .gm-barcode-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.gm-app .gm-barcode-field-grid > [class*="col-"] { float: none; width: auto; min-width: 0; padding: 0; }
.gm-app .gm-barcode-field-grid > .col-sm-12 { grid-column: 1 / -1; }
.gm-app .gm-barcode-field-grid .form-group { margin: 0; }
.gm-app .gm-barcode-field-grid .checkbox { display: flex; align-items: center; gap: 10px; padding: 16px; min-height: 54px; }
.gm-app .gm-barcode-field-grid .checkbox label { flex: 1; min-width: 0; }
.gm-app .gm-barcode-field-grid .checkbox input[type="checkbox"] { position: static; flex-shrink: 0; margin: 0; }
.gm-app .gm-barcode-field-grid .input-group-addon { color: #6b8471; background: #f6faf5; }
.gm-app .gm-barcode-measure-guide { padding: 24px; border: 1px solid var(--gm-border); border-radius: 12px; background: #fff; }
.gm-app .gm-barcode-guide-icon { display: flex; justify-content: center; align-items: center; width: 44px; height: 44px; margin-bottom: 18px; border-radius: 10px; background: var(--gm-soft); color: var(--gm-green); font-size: 22px; }
.gm-app .gm-barcode-measure-guide h2 { margin: 0 0 12px; font-size: 17px; font-weight: 750; }
.gm-app .gm-barcode-measure-guide p { margin: 0; font-size: 12px; line-height: 1.8; color: var(--gm-muted); }
.gm-app .gm-barcode-measure-guide dl { margin: 22px 0; }
.gm-app .gm-barcode-measure-guide dl > div { padding: 16px 0; border-top: 1px solid var(--gm-border); }
.gm-app .gm-barcode-measure-guide dt { margin-bottom: 7px; font-size: 12px; font-weight: 650; }
.gm-app .gm-barcode-measure-guide dd { margin: 0; color: var(--gm-muted); font-size: 11px; line-height: 1.8; }
.gm-app .gm-barcode-measure-guide .gm-barcode-guide-note { padding: 12px; border-radius: 8px; background: #f6faf5; font-size: 11px; }
@media (max-width: 1100px) { .gm-app .gm-barcode-editor-layout { grid-template-columns: minmax(0, 1fr); gap: 0; } .gm-app .gm-barcode-measure-guide { margin-bottom: 24px; } }
@media (max-width: 767px) { .gm-app .gm-barcode-field-grid { grid-template-columns: minmax(0, 1fr); } }
/* Keep the navigation rail independent of page scrolling. */
.gm-app .gp-sidebar-menu { min-height: 0; overflow-anchor: none; }

/* Green Mall platform gateway configuration. */
.gm-app .gm-master-gateway-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; align-items: start; }
.gm-app .gm-master-gateway-layout > div { min-width: 0; }
.gm-app .gm-master-gateway-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; align-items: start; }
.gm-app .gm-master-gateway-fields .form-group { margin: 0; }
.gm-app .gm-master-gateway-credentials { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--gm-border); }
.gm-app .gm-gateway-enable-option { align-self: end; padding: 16px; border: 1px solid var(--gm-border); border-radius: 9px; background: #f8fbf6; min-height: 44px; }
.gm-app .gm-gateway-enable-option label { display: flex; align-items: center; gap: 10px; margin: 0; line-height: 1.7; }
.gm-app .gm-gateway-enable-option input[type="checkbox"] { position: static; flex-shrink: 0; margin: 0; }
.gm-app .gm-gateway-enable-option [class*="icheckbox"] { flex-shrink: 0; }
.gm-app .gm-master-gateway-page .help-block { margin: 10px 0 0; font-size: 11px; line-height: 1.8; }
.gm-app .gm-master-gateway-page .fa-info-circle { color: var(--gm-green); }
.gm-app .gm-master-media-field { max-width: 380px; }
.gm-app .gm-master-media-field .form-group { margin: 0; }
.gm-app .gm-master-gateway-summary { padding: 24px; border: 1px solid var(--gm-border); border-radius: 12px; background: #fff; }
.gm-app .gm-master-gateway-icon { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin-bottom: 18px; border-radius: 10px; background: var(--gm-soft); color: var(--gm-green); font-size: 22px; }
.gm-app .gm-master-gateway-summary h2 { margin: 0 0 14px; font-size: 17px; font-weight: 750; }
.gm-app .gm-master-gateway-summary p { margin: 0; color: var(--gm-muted); font-size: 12px; line-height: 1.9; }
.gm-app .gm-master-gateway-summary dl { margin: 22px 0 0; }
.gm-app .gm-master-gateway-summary dl > div { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 14px 0; border-top: 1px solid var(--gm-border); }
.gm-app .gm-master-gateway-summary dt { color: var(--gm-muted); font-size: 11px; font-weight: 500; }
.gm-app .gm-master-gateway-summary dd { margin: 0; font-size: 12px; font-weight: 650; }
.gm-app .gm-master-store-fees { margin-top: 24px; }
.gm-app .gm-master-store-fee-shell { border: 1px solid var(--gm-border); border-radius: 9px; }
.gm-app .gm-master-store-fee-table { min-width: 620px; margin: 0; }
.gm-app .gm-master-store-fee-table th { padding: 14px 16px; font-size: 10px; }
.gm-app .gm-master-store-fee-table td { padding: 16px; font-size: 12px; vertical-align: middle; }
.gm-app .gm-master-store-fee-table td:first-child { width: 55%; }
.gm-app .gm-master-store-fee-table td:first-child strong { display: block; font-weight: 650; }
.gm-app .gm-master-store-fee-table td:first-child small { display: block; margin-top: 6px; color: var(--gm-muted); font-size: 11px; }
.gm-app .gm-master-store-fee-table td:nth-child(2) { min-width: 200px; }
.gm-app .gm-master-store-fee-table .input-group { max-width: 220px; }
.gm-app .gm-master-store-fee-table input { text-align: right; font-variant-numeric: tabular-nums; }
.gm-app .gm-master-store-fee-table td:last-child { width: 110px; }
.gm-app .gm-master-store-fee-table .gm-master-store-empty { padding: 32px; text-align: center; color: var(--gm-muted); }
.gm-app .gm-master-store-empty i { font-size: 26px; margin-bottom: 12px; color: #8ca390; }
.gm-app .gm-master-store-empty p { margin: 0; }
@media (max-width: 1100px) { .gm-app .gm-master-gateway-layout { grid-template-columns: minmax(0, 1fr); gap: 0; } .gm-app .gm-master-gateway-summary { margin-bottom: 24px; } }
@media (max-width: 767px) { .gm-app .gm-master-gateway-fields { grid-template-columns: minmax(0, 1fr); } }

/* Quick product creation in POS and purchasing */
.gm-app .gm-quick-product-dialog { width: calc(100% - 40px); max-width: 1060px; margin: 24px auto; }
.gm-app .gm-quick-product { border: 1px solid var(--gm-border); border-radius: 16px; overflow: hidden; box-shadow: 0 24px 70px rgba(8,40,20,.2); }
.gm-app .gm-quick-product #quick_add_product_form { display: flex; flex-direction: column; max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px); }
.gm-app .gm-quick-product .modal-header { flex: 0 0 auto; padding: 22px 26px; border-bottom: 1px solid var(--gm-border); }
.gm-app .gm-quick-product .modal-title { font-size: 24px; letter-spacing: -.6px; margin: 7px 0; }
.gm-app .gm-quick-product .modal-header p { color: var(--gm-muted); font-size: 12px; margin: 0; }
.gm-app .gm-quick-product .close { padding: 5px 9px; border: 1px solid var(--gm-border); border-radius: 8px; opacity: 1; color: var(--gm-muted); }
.gm-app .gm-quick-product .modal-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 22px 26px; background: var(--gm-canvas); }
.gm-app .gm-quick-product-section { border: 1px solid var(--gm-border); border-radius: 12px; padding: 20px; background: #fff; margin-bottom: 18px; }
.gm-app .gm-quick-product-section:last-child { margin-bottom: 0; }
.gm-app .gm-quick-product-section > header { border-bottom: 1px solid var(--gm-border); margin-bottom: 20px; padding-bottom: 14px; }
.gm-app .gm-quick-product-section h2 { font-size: 16px; font-weight: 700; margin: 0 0 6px; }
.gm-app .gm-quick-product-section header p { color: var(--gm-muted); font-size: 12px; margin: 0; }
.gm-app .gm-quick-product-fields { display: flex; flex-wrap: wrap; }
.gm-app .gm-quick-product-fields > .clearfix:empty { display: none; }
.gm-app .gm-quick-product-fields > [class*="col-"] { float: none; }
.gm-app .gm-quick-product .form-group { margin-bottom: 18px; }
.gm-app .gm-quick-product label { font-size: 12px; font-weight: 600; }
.gm-app .gm-quick-product .form-control { min-height: 42px; font-size: 13px; }
.gm-app .gm-quick-product .select2-container .select2-selection--single { min-height: 42px; }
.gm-app .gm-quick-product .select2-container .select2-selection__rendered { line-height: 40px; }
.gm-app .gm-quick-product .select2-container .select2-selection__arrow { height: 40px; }
.gm-app .gm-quick-product .select2-container .select2-selection--multiple { min-height: 42px; }
.gm-app .gm-quick-product .select2-selection--multiple .select2-selection__rendered { line-height: normal; }
.gm-app .gm-quick-product .help-block { color: var(--gm-muted); font-size: 11px; line-height: 1.6; }
.gm-app .gm-quick-product .help-block i { font-style: normal; }
.gm-app .gm-quick-product .gm-quick-product-option { padding: 13px; background: var(--gm-soft); border: 1px solid var(--gm-border); border-radius: 9px; margin: 0 0 18px; }
.gm-app .gm-quick-product-option label { display: inline-flex; align-items: center; gap: 8px; padding: 0; margin: 0; }
.gm-app .gm-quick-product-option .help-block { margin: 7px 0 0; }
.gm-app .gm-quick-product .icheckbox_square-blue { background: #fff !important; border: 1px solid #bfd2c2; border-radius: 4px; width: 18px; height: 18px; flex: 0 0 18px; }
.gm-app .gm-quick-product .icheckbox_square-blue.checked { background: var(--gm-green) !important; border-color: var(--gm-green); }
.gm-app .gm-quick-product .icheckbox_square-blue.checked::after { content: '\2713'; position: absolute; inset: 0; color: #fff; font-size: 13px; line-height: 16px; text-align: center; pointer-events: none; }
.gm-app .gm-quick-product .icheckbox_square-blue.focus { outline: 2px solid #a4d3ac; outline-offset: 2px; }
.gm-app .gm-quick-product .tox-tinymce { height: 250px !important; border-radius: 9px; border-color: var(--gm-border); }
.gm-app .gm-quick-product-pricing table { min-width: 660px; }
.gm-app .gm-quick-product-opening table { min-width: 650px; }
.gm-app .gm-quick-product-opening #quick_product_opening_stock_div > .col-sm-12:first-child { display: none; }
.gm-app .gm-quick-product-opening #quick_product_opening_stock_div > .col-sm-12:last-child { overflow-x: auto; }
.gm-app .gm-quick-product table th { background: var(--gm-soft) !important; color: var(--gm-muted) !important; font-size: 11px; padding: 11px; }
.gm-app .gm-quick-product table td { padding: 11px; vertical-align: middle; }
.gm-app .gm-quick-product .modal-footer { flex: 0 0 auto; display: flex; gap: 9px; justify-content: flex-end; padding: 16px 26px; border-top: 1px solid var(--gm-border); background: #fff; }
.gm-app .gm-quick-product .modal-footer .gm-superadmin-action { margin: 0; }
@media (max-width: 767px) {
  .gm-app .gm-quick-product-dialog { width: calc(100% - 20px); margin: 10px auto; }
  .gm-app .gm-quick-product #quick_add_product_form { max-height: calc(100dvh - 20px); }
  .gm-app .gm-quick-product .modal-header, .gm-app .gm-quick-product .modal-body { padding: 18px; }
  .gm-app .gm-quick-product-section { padding: 16px; }
  .gm-app .gm-quick-product-fields > [class*="col-"] { width: 100%; }
  .gm-app .gm-quick-product .modal-footer { padding: 14px 18px; }
}
