/* AMNKO UI/UX layer (safe overrides)
   Version: 2026-05-18 / 12.3.5R5
*/

:root{
  --amnko-brand:#00b8d9;
  --amnko-brand-2:#0098b3;
  --amnko-radius:14px;
}

/* Frequently used but missing in some pages */
.extra-small{font-size:.82rem; line-height:1.25;}

/* Unified primary buttons */
.btn-amnko-primary{
  background: linear-gradient(135deg, var(--amnko-brand) 0%, var(--amnko-brand-2) 100%) !important;
  border: none !important;
  color:#fff !important;
  font-weight:800;
  border-radius: 14px !important;
  padding: .65rem 1rem;
  box-shadow: 0 10px 20px rgba(0,184,217,.18);
}
.btn-amnko-primary:hover{filter:brightness(.97); transform: translateY(-1px);}
.btn-amnko-primary:active{transform: translateY(0);} 

.btn-amnko-cyan{
  background: rgba(0,184,217,.14) !important;
  border: 1px solid rgba(0,184,217,.35) !important;
  color: var(--amnko-brand) !important;
  font-weight:800;
  border-radius: 14px !important;
}

/* Cards */
.amnko-card{
  background:#fff;
  border:1px solid #e9ecef;
  border-radius: var(--amnko-radius);
  box-shadow: 0 6px 18px rgba(0,0,0,.05);
}

/* Inputs */
.form-control, .form-select{
  border-radius: 14px;
}

/* Modals */
.modal-content{border-radius: 18px; overflow:hidden;}
.modal-header.amnko-bg-gradient{
  background: linear-gradient(135deg, var(--amnko-brand) 0%, var(--amnko-brand-2) 100%) !important;
  color:#fff;
}

/* Table header */
.table thead th{white-space:nowrap;}


/* ===== AMNKO Core UI ===== */

/* Page header + action bar */
.amnko-page-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom: 16px;
}
.amnko-page-title{ font-weight:900; margin:0; }
.amnko-page-sub{ color:#6c757d; font-size:.9rem; margin-top:2px; }
.amnko-actions{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }

/* Filter bar + presets */
.amnko-filter-card{
  background:#fff;
  border:1px solid #e9ecef;
  border-radius: 18px;
  box-shadow: 0 10px 22px rgba(0,0,0,.05);
}
.amnko-presets{ display:flex; gap:8px; flex-wrap:wrap; }
.amnko-pill-btn{
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  border-radius:999px;
  padding:.35rem .75rem;
  font-weight:800;
  font-size:.9rem;
}
.amnko-pill-btn:hover{ transform: translateY(-1px); box-shadow: 0 8px 16px rgba(0,0,0,.06); }
.amnko-pill-btn.active{
  background: rgba(0,184,217,.14);
  border-color: rgba(0,184,217,.35);
  color: var(--amnko-brand);
}

/* Sticky table header (opt-in) */
.amnko-sticky-head thead th{
  position: sticky;
  top: 0;
  z-index: 3;
  background: #f8f9fa;
  box-shadow: inset 0 -1px 0 rgba(0,0,0,.08);
}

/* Compact mobile list cards (shared) */
.amnko-mobile-list{ display:grid; gap:10px; }
.amnko-item-card{
  background:#fff;
  border:1px solid #e9ecef;
  border-radius: 16px;
  padding: 12px 12px;
  box-shadow: 0 8px 18px rgba(0,0,0,.05);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.amnko-item-title{ font-weight:900; }
.amnko-item-meta{ color:#6c757d; font-size:.86rem; margin-top:2px; }
.amnko-item-chevron{ color:#6c757d; opacity:.8; }

/* Floating action button (mobile) */
.amnko-fab{
  position: fixed;
  right: 16px;
  bottom: 86px; /* above mobile bottom nav */
  width: 54px;
  height: 54px;
  border-radius: 18px;
  border: none;
  background: linear-gradient(135deg, var(--amnko-brand) 0%, var(--amnko-brand-2) 100%);
  color:#fff;
  box-shadow: 0 16px 28px rgba(0,184,217,.28);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index: 9999;
}
.amnko-fab:active{ transform: translateY(1px); }
@media (min-width: 992px){
  .amnko-fab{ display:none !important; }
}

/* POS helpers */
.amnko-paychip{ border-radius: 999px; font-weight: 900; }
.amnko-paychip.active{ border-color: rgba(0,184,217,.45) !important; background: rgba(0,184,217,.14) !important; color: var(--amnko-brand) !important; }

/* Scrollable tabs on mobile */
.amnko-tabs-scroll{ flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
.amnko-tabs-scroll::-webkit-scrollbar{ display:none; }
.amnko-tabs-scroll .nav-link{ white-space: nowrap; }


/* ===== تحسينات واجهة النظام ===== */

/* Prevent background scroll when overlays are open */
body.amnko-no-scroll{ overflow:hidden !important; }

/* POS: mobile bottom actions bar */
.pos-mobile-actions{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 84px; /* above mobile bottom nav */
  z-index: 1048;
  padding: 0 12px;
  pointer-events: none;
}
.pos-mobile-actions .pos-mobile-bar{
  pointer-events: auto;
  background:#fff;
  border:1px solid #e9ecef;
  border-radius: 18px;
  box-shadow: 0 16px 28px rgba(0,0,0,.10);
  padding: 10px;
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  flex-wrap: wrap;
}
.pos-mobile-actions .pos-mobile-meta{ min-width: 140px; }
.pos-mobile-actions .pos-mobile-total{ font-weight:900; font-size: 1.05rem; }
.pos-mobile-actions .pos-mobile-sub{ font-size:.82rem; color:#6c757d; }
.pos-mobile-actions .btn{ border-radius: 14px !important; font-weight:900; }
.pos-mobile-actions .pos-mobile-btns{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.pos-mobile-actions .pos-mobile-btns .btn{ padding: .55rem .85rem; }
@media (min-width: 992px){
  .pos-mobile-actions{ display:none !important; }
}

/* POS: bottom sheet (payment) */
.pos-sheet-overlay{
  position: fixed;
  inset: 0;
  z-index: 1055;
  background: rgba(0,0,0,.45);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding: 0 10px 92px; /* keep above mobile nav */
}
.pos-sheet{
  width: 100%;
  max-width: 560px;
  background:#fff;
  border-radius: 22px;
  overflow:hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,.18);
  transform: translateY(14px);
  transition: transform 160ms ease;
}
.pos-sheet.open{ transform: translateY(0); }
.pos-sheet-handle{
  width: 44px;
  height: 5px;
  background: #dee2e6;
  border-radius: 999px;
  margin: 10px auto 6px;
}
.pos-sheet-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding: 8px 14px 10px;
  border-bottom: 1px solid #f1f3f5;
}
.pos-sheet-title{ font-weight: 900; }
.pos-sheet-body{
  padding: 12px 14px 14px;
  max-height: calc(100vh - 240px);
  overflow:auto;
}


@media (max-width: 991px){
  #paymentPanelHome{ display:none !important; }
}

/* Reports: unified toolbar */
.amnko-toolbar{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.amnko-toolbar .btn{ border-radius: 12px; font-weight: 800; }

/* Dashboard widgets */
.amnko-widget-list{ display:flex; flex-direction:column; gap:10px; }
.amnko-widget-item{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding: 8px 10px;
  border: 1px solid #f1f3f5;
  border-radius: 14px;
  background: #fff;
}
.amnko-widget-item .amnko-widget-name{ font-weight: 900; }
.amnko-widget-item .amnko-widget-meta{ color:#6c757d; font-size:.82rem; margin-top:2px; }
.amnko-widget-item .amnko-widget-val{ font-weight: 900; white-space: nowrap; }

/* ===== AMNKO Responsive Layer ===== */
html{
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
*, *::before, *::after{ box-sizing: border-box; }
img, svg, video, canvas{ max-width: 100%; height: auto; }
iframe{ max-width: 100%; }
.row > [class^="col"], .row > [class*=" col"]{ min-width: 0; }
.card, .amnko-card, .modal-content{ min-width: 0; }
.card-body, .modal-body{ min-width: 0; }
.text-break-responsive{ overflow-wrap: anywhere; word-break: break-word; }

/* Touch targets */
.btn, .form-control, .form-select, .input-group-text{
  min-height: 42px;
}
.btn-sm{ min-height: 34px; }
.form-check-input{ min-width: 1.1em; min-height: 1.1em; }

/* Page containers */
.content-wrap{ min-width: 0; }
.page-content{ width: 100%; max-width: 100%; }
@media (max-width: 991px){
  .page-content{ padding: 14px !important; }
  .app-header{ min-height: 60px; padding: 8px 12px !important; }
  .app-header .fs-5{ font-size: 1rem !important; }
  .user-badge{ padding: 5px 10px; gap: 6px; }
}
@media (max-width: 575px){
  .page-content{ padding: 10px !important; }
  h1,.h1{ font-size: 1.55rem; }
  h2,.h2{ font-size: 1.35rem; }
  h3,.h3{ font-size: 1.15rem; }
  h4,.h4{ font-size: 1.05rem; }
  .card-body{ padding: .85rem !important; }
}

/* Header/action rows: stack safely on phones */
.amnko-page-head,
.page-content > .d-flex.align-items-center.justify-content-between,
.page-content > .d-flex.justify-content-between,
.page-content > .d-flex.align-items-start.justify-content-between{
  min-width: 0;
}
@media (max-width: 575px){
  .amnko-page-head,
  .page-content > .d-flex.align-items-center.justify-content-between,
  .page-content > .d-flex.justify-content-between,
  .page-content > .d-flex.align-items-start.justify-content-between{
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  .amnko-actions,
  .page-content > .d-flex.align-items-center.justify-content-between > .d-flex,
  .page-content > .d-flex.justify-content-between > .d-flex,
  .page-content > .d-flex.align-items-start.justify-content-between > .d-flex{
    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px !important;
  }
  .amnko-actions .btn,
  .page-content > .d-flex.align-items-center.justify-content-between > .d-flex .btn,
  .page-content > .d-flex.justify-content-between > .d-flex .btn,
  .page-content > .d-flex.align-items-start.justify-content-between > .d-flex .btn{
    width: 100%;
    white-space: normal;
  }
}
@media (max-width: 380px){
  .amnko-actions,
  .page-content > .d-flex.align-items-center.justify-content-between > .d-flex,
  .page-content > .d-flex.justify-content-between > .d-flex,
  .page-content > .d-flex.align-items-start.justify-content-between > .d-flex{
    grid-template-columns: 1fr;
  }
}

/* Inputs and groups on very small screens */
@media (max-width: 430px){
  .page-content .input-group{
    flex-wrap: wrap;
    gap: 6px;
  }
  .page-content .input-group > .form-control,
  .page-content .input-group > .form-select{
    flex: 1 1 100%;
    width: 100%;
    border-radius: 14px !important;
  }
  .page-content .input-group > .btn,
  .page-content .input-group > .input-group-text{
    flex: 1 1 auto;
    border-radius: 14px !important;
  }
}

/* Tabs: never wrap into cramped multi-line rows on mobile */
.nav.nav-tabs,
.nav.nav-pills,
.amnko-tabs-scroll{
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  gap: 4px;
}
.nav.nav-tabs::-webkit-scrollbar,
.nav.nav-pills::-webkit-scrollbar,
.amnko-tabs-scroll::-webkit-scrollbar{ display:none; }
.nav.nav-tabs .nav-link,
.nav.nav-pills .nav-link,
.amnko-tabs-scroll .nav-link{
  white-space: nowrap;
}
@media (max-width: 575px){
  .nav.nav-tabs,
  .nav.nav-pills,
  .amnko-tabs-scroll{
    margin-left: -10px;
    margin-right: -10px;
    padding-left: 10px;
    padding-right: 10px;
  }
}

/* Tables: readable on all screens */
.table-responsive{
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.table{ max-width: 100%; }
.table th,
.table td{
  vertical-align: middle;
}
.table th{ white-space: nowrap; }
.table td{ overflow-wrap: anywhere; }
.table td .btn,
.table th .btn{ white-space: nowrap; }

@media (max-width: 991px){
  .table-responsive-stack{ border-collapse: separate !important; border-spacing: 0 !important; }
  .table-responsive-stack thead{ display:none !important; }
  .table-responsive-stack tbody,
  .table-responsive-stack tfoot{ display:block; width:100%; }
  .table-responsive-stack tbody tr,
  .table-responsive-stack tfoot tr{
    display:block !important;
    width:100%;
    border:1px solid #e9ecef;
    border-radius:16px;
    margin-bottom:12px;
    background:#fff;
    box-shadow:0 6px 16px rgba(0,0,0,.04);
    overflow:hidden;
  }
  .table-responsive-stack tbody td,
  .table-responsive-stack tfoot td,
  .table-responsive-stack tfoot th{
    display:flex !important;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    width:100% !important;
    border:0 !important;
    border-bottom:1px solid #f1f3f5 !important;
    padding:10px 12px !important;
    text-align: initial !important;
    white-space: normal !important;
  }
  .table-responsive-stack tbody td:last-child,
  .table-responsive-stack tfoot td:last-child,
  .table-responsive-stack tfoot th:last-child{ border-bottom:0 !important; }
  .table-responsive-stack tbody td::before{
    content: attr(data-label);
    flex:0 0 42%;
    max-width:42%;
    color:#6c757d;
    font-size:.82rem;
    font-weight:900;
    text-align:start;
  }
  .table-responsive-stack tbody td[colspan]{
    display:block !important;
    text-align:center !important;
  }
  .table-responsive-stack tbody td[colspan]::before{ display:none !important; }
  .table-responsive-stack tfoot tr{
    background:#f8fafc;
    box-shadow:none;
  }
  .table-responsive-stack tfoot th[colspan]{
    color:#6c757d;
    font-size:.82rem;
    font-weight:900;
  }
  .table-responsive-stack tfoot th:not([colspan]){
    justify-content:flex-end;
    font-weight:900;
    direction:ltr;
    font-variant-numeric: tabular-nums;
  }
  .table-responsive-stack .btn,
  .table-responsive-stack form .btn{
    min-width: 92px;
  }
  .table-responsive-stack td[data-label="إجراءات"],
  .table-responsive-stack td[data-label="إجراء"],
  .table-responsive-stack td[data-label="الإجراءات"],
  .table-responsive-stack td[data-label="الإجراء"]{
    flex-direction:column;
    align-items:stretch;
  }
  .table-responsive-stack td[data-label="إجراءات"] .btn,
  .table-responsive-stack td[data-label="إجراء"] .btn,
  .table-responsive-stack td[data-label="الإجراءات"] .btn,
  .table-responsive-stack td[data-label="الإجراء"] .btn{
    width:100%;
  }
}

/* Dense/data-entry tables can stay horizontally scrollable if a page opts in. */
@media (max-width: 991px){
  .amnko-force-scroll.table-responsive-stack thead,
  .table-responsive .amnko-force-scroll.table-responsive-stack thead{ display: table-header-group !important; }
  .amnko-force-scroll.table-responsive-stack tbody,
  .amnko-force-scroll.table-responsive-stack tfoot{ display: table-row-group; }
  .amnko-force-scroll.table-responsive-stack tr{ display: table-row !important; box-shadow:none; border:0; margin:0; }
  .amnko-force-scroll.table-responsive-stack td,
  .amnko-force-scroll.table-responsive-stack th{ display: table-cell !important; width:auto !important; border-bottom:1px solid #dee2e6 !important; white-space:nowrap !important; }
  .amnko-force-scroll.table-responsive-stack td::before{ display:none !important; }
}

/* Cards/stat widgets */
@media (max-width: 575px){
  .amnko-card,
  .card{ border-radius: 16px !important; }
  .row.g-3, .row.g-4{ --bs-gutter-x:.75rem; --bs-gutter-y:.75rem; }
  .row.g-2{ --bs-gutter-x:.5rem; --bs-gutter-y:.5rem; }
}

/* Modals/offcanvas: phone-friendly */
@media (max-width: 575px){
  .modal-dialog{
    width: calc(100vw - 16px);
    max-width: calc(100vw - 16px);
    margin: 8px auto;
  }
  .modal-dialog-centered{ min-height: calc(100% - 16px); }
  .modal-body{ max-height: calc(100vh - 180px); overflow:auto; }
  .modal-footer{
    flex-wrap: wrap;
    gap: 8px;
  }
  .modal-footer > *{ margin:0 !important; }
  .modal-footer .btn{ flex:1 1 auto; }
  .offcanvas.sidebar-offcanvas{ width: min(86vw, 320px) !important; }
}

/* Mobile bottom nav safe area */
.mobile-bottom-nav{
  padding-bottom: env(safe-area-inset-bottom);
}
@media (max-width: 991px){
  body.has-bottom-nav{ padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important; }
  body.has-bottom-nav .page-content{ padding-bottom: calc(96px + env(safe-area-inset-bottom)) !important; }
  #amnkoToastHost{ bottom: calc(94px + env(safe-area-inset-bottom)) !important; }
}
@media (max-width: 360px){
  .mobile-bottom-nav a,
  .mobile-bottom-nav button{ font-size: 11px; padding-inline: 2px; }
}

/* POS extra safety on phones/tablets */
@media (max-width: 991px){
  .pos-container{ min-height:auto !important; }
  .pos-container .row{ --bs-gutter-x:.75rem; }
  .bill-section{ border:0 !important; }
  .pos-cart-card{ align-items:flex-start; }
  .pos-cart-title{ white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
  .pos-mobile-actions{ bottom: calc(84px + env(safe-area-inset-bottom)); }
  .pos-sheet-overlay{ padding-bottom: calc(92px + env(safe-area-inset-bottom)); }
  #parkTaskbar{ bottom: calc(154px + env(safe-area-inset-bottom)) !important; }
}
@media (max-width: 575px){
  .pos-mobile-actions .pos-mobile-bar{ align-items:stretch; }
  .pos-mobile-actions .pos-mobile-meta{ min-width:0; flex:1 1 100%; }
  .pos-mobile-actions .pos-mobile-btns{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); width:100%; }
  .pos-mobile-actions .pos-mobile-btns .btn{ width:100%; }
}



/* ===== AMNKO Mobile Compact Records (12.3.7) =====
   Mobile rule used across the project:
   compact card first, details after tap. Desktop remains unchanged.
*/
@media (max-width: 991px){
  .table-responsive-stack:not(.amnko-force-scroll):not([data-mobile-table="full"]) tbody tr{
    cursor:pointer;
    position:relative;
    padding-bottom: 34px;
  }
  .table-responsive-stack:not(.amnko-force-scroll):not([data-mobile-table="full"]) tbody tr::after{
    content:'اضغط لعرض التفاصيل';
    position:absolute;
    inset-inline-start: 12px;
    bottom: 8px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:22px;
    padding:2px 10px;
    border-radius:999px;
    background:rgba(0,184,217,.12);
    color:var(--amnko-brand);
    font-size:.74rem;
    font-weight:900;
    pointer-events:none;
  }
  .table-responsive-stack:not(.amnko-force-scroll):not([data-mobile-table="full"]) tbody tr:has(a.btn, button, input, select, textarea)::after{
    content:'التفاصيل';
  }
  .table-responsive-stack:not(.amnko-force-scroll):not([data-mobile-table="full"]) tbody tr:hover{
    border-color:rgba(0,184,217,.25);
    box-shadow:0 10px 22px rgba(0,184,217,.08);
  }
  .table-responsive-stack:not(.amnko-force-scroll):not([data-mobile-table="full"]) tbody td:nth-of-type(n+4):not([data-label*="إجراء"]):not([data-label*="الإجراء"]):not([data-label*="إجراءات"]):not([data-label*="الإجراءات"]):not([data-label*="حذف"]):not([data-label*="تعديل"]){
    display:none !important;
  }
  .table-responsive-stack:not(.amnko-force-scroll):not([data-mobile-table="full"]) tbody tr.amnko-row-expanded td{
    display:flex !important;
  }
  .table-responsive-stack:not(.amnko-force-scroll):not([data-mobile-table="full"]) tbody td:first-child{
    border-top:0 !important;
  }
  .table-responsive-stack:not(.amnko-force-scroll):not([data-mobile-table="full"]) tbody td:first-child::before,
  .table-responsive-stack:not(.amnko-force-scroll):not([data-mobile-table="full"]) tbody td:nth-child(2)::before,
  .table-responsive-stack:not(.amnko-force-scroll):not([data-mobile-table="full"]) tbody td:nth-child(3)::before{
    color:#94a3b8;
  }

  /* Data-entry tables remain scrollable and usable instead of being squeezed into cards. */
  .amnko-force-scroll.table-responsive-stack{
    min-width:720px;
  }

  /* Row details modal should behave like a full mobile sheet. */
  #amnkoRowDetailsModal .modal-dialog,
  .modal.amnko-mobile-fullscreen .modal-dialog{
    width:100vw !important;
    max-width:100vw !important;
    min-height:100vh;
    margin:0 !important;
  }
  #amnkoRowDetailsModal .modal-content,
  .modal.amnko-mobile-fullscreen .modal-content{
    min-height:100vh;
    border:0 !important;
    border-radius:0 !important;
  }
  #amnkoRowDetailsModal .modal-body,
  .modal.amnko-mobile-fullscreen .modal-body{
    max-height:calc(100vh - 128px) !important;
    overflow:auto;
  }
  #amnkoRowDetailsModal .list-group-item{
    align-items:flex-start !important;
  }
  #amnkoRowDetailsModal .list-group-item > .fw-bold:last-child{
    overflow-wrap:anywhere;
  }

  /* Generic mobile form rhythm: one column, large tap targets. */
  .page-content form .row > [class^="col"],
  .page-content form .row > [class*=" col"]{
    margin-bottom:.35rem;
  }
  .page-content .card-header,
  .page-content .modal-header{
    gap:8px;
  }
}

/* Print pages must keep receipt dimensions and not inherit app responsive cards. */
@media print{
  body{ padding-bottom:0 !important; background:#fff !important; }
  .mobile-bottom-nav,.sidebar,.app-header{ display:none !important; }
  .page-content{ padding:0 !important; }
}

/* Owner Dashboard */
.owner-dashboard .card { transition: transform .15s ease, box-shadow .15s ease; }
.owner-dashboard a.card:hover { transform: translateY(-2px); box-shadow: 0 .5rem 1rem rgba(0,0,0,.10) !important; }
.owner-dashboard .progress { background-color: rgba(0,184,217,.10); border-radius: 999px; }
.owner-dashboard .progress-bar { background: linear-gradient(135deg, #00b8d9, #0098b3); border-radius: 999px; }
@media (max-width: 575.98px) {
  .owner-dashboard .display-6 { font-size: 1.35rem; }
  .owner-dashboard .card-body { padding: .85rem; }
  .owner-dashboard h1 { font-size: 1.35rem; }
}

/* ===== Unified report period filter (12.3.9) ===== */
.amnko-report-period-card{
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border: 1px solid rgba(15, 23, 42, .04) !important;
}
.amnko-report-period-card .card-body{
  min-height: unset;
}
.amnko-report-period-row{
  width:100%;
}
.amnko-report-period-form .form-label{
  margin-bottom:.35rem;
}
.amnko-report-period-form .form-control,
.amnko-report-period-form .form-select{
  min-height: 48px;
  border-radius: 16px;
  box-shadow: none !important;
  font-weight:700;
}
.amnko-report-presets{
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  padding-top:0;
  padding-bottom:4px;
  align-items:center;
  justify-content:flex-start;
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.amnko-report-presets::-webkit-scrollbar{ display:none; }
.amnko-report-presets .amnko-pill-btn{ flex:0 0 auto; white-space:nowrap; }
.amnko-report-actions .btn{
  border-radius:999px;
  font-weight:800;
}
.amnko-report-period-card .amnko-pill-btn{
  min-height:40px;
  padding-inline:18px;
}
.amnko-report-auto-note{
  line-height:1.6;
}
@media (min-width: 1200px){
  .amnko-report-period-card .amnko-report-presets{
    min-height:48px;
  }
  .amnko-report-period-card{
    margin-top:.25rem;
  }
}
@media (max-width: 575px){
  .amnko-report-period-card{ margin-inline:-2px; border-radius:18px !important; }
  .amnko-report-period-card .card-body{ padding:14px !important; }
  .amnko-report-presets{
    flex-wrap: nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    padding-bottom:4px;
    margin-inline:-2px;
  }
  .amnko-report-presets::-webkit-scrollbar{ display:none; }
  .amnko-report-period-card .amnko-pill-btn{
    flex:0 0 auto;
    white-space:nowrap;
    padding-inline:14px;
  }
  .amnko-report-actions{ display:grid !important; grid-template-columns:1fr; }
  .amnko-report-actions .btn{ width:100%; }
  .amnko-report-auto-note{ display:none; }
}

/* ===== AMNKO UX Foundation ===== */
:root{
  --amnko-surface:#ffffff;
  --amnko-surface-soft:#f8fafc;
  --amnko-border:rgba(15, 23, 42, .08);
  --amnko-text:#0f172a;
  --amnko-muted:#64748b;
  --amnko-shadow-sm:0 6px 18px rgba(15,23,42,.06);
  --amnko-shadow-md:0 14px 34px rgba(15,23,42,.10);
}

.page-content > .container-fluid:first-child,
.page-content > .container:first-child{ padding-left:0; padding-right:0; }

/* Standard page header */
.amnko-page-head,
.page-content > .d-flex.align-items-center.justify-content-between,
.page-content > .d-flex.flex-wrap.align-items-center.justify-content-between{
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  border:1px solid var(--amnko-border);
  border-radius:22px;
  padding:16px 18px;
  box-shadow:var(--amnko-shadow-sm);
}
.amnko-page-head h1,.amnko-page-head h2,.amnko-page-head h3,.amnko-page-head h4,
.page-content > .d-flex.align-items-center.justify-content-between h1,
.page-content > .d-flex.align-items-center.justify-content-between h2,
.page-content > .d-flex.align-items-center.justify-content-between h3,
.page-content > .d-flex.align-items-center.justify-content-between h4,
.page-content > .d-flex.flex-wrap.align-items-center.justify-content-between h1,
.page-content > .d-flex.flex-wrap.align-items-center.justify-content-between h2,
.page-content > .d-flex.flex-wrap.align-items-center.justify-content-between h3,
.page-content > .d-flex.flex-wrap.align-items-center.justify-content-between h4{
  color:var(--amnko-text);
  letter-spacing:-.02em;
  font-weight:900;
}

/* Standard action buttons */
.amnko-actions .btn,
.page-content > .d-flex.align-items-center.justify-content-between .btn,
.page-content > .d-flex.flex-wrap.align-items-center.justify-content-between .btn{
  border-radius:14px;
  font-weight:800;
}

/* Standard filter container. Works for explicit classes and auto-enhanced forms. */
.amnko-filter-card,
.card.amnko-filter-card,
form.amnko-filter-form,
.card-body > form.amnko-filter-form{
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%) !important;
  border:1px solid var(--amnko-border) !important;
  border-radius:20px !important;
  box-shadow:var(--amnko-shadow-sm) !important;
}
form.amnko-filter-form{ padding:14px; }
.card-body > form.amnko-filter-form{ padding:0; border:0 !important; box-shadow:none !important; background:transparent !important; }
.amnko-filter-card .form-label,
.amnko-filter-form .form-label{
  font-size:.78rem;
  color:var(--amnko-muted);
  font-weight:900;
  margin-bottom:.35rem;
}
.amnko-filter-card .form-control,
.amnko-filter-card .form-select,
.amnko-filter-form .form-control,
.amnko-filter-form .form-select{
  min-height:46px;
  border-radius:16px;
  background-color:#f8fafc;
  border-color:transparent;
  font-weight:700;
}
.amnko-filter-card .form-control:focus,
.amnko-filter-card .form-select:focus,
.amnko-filter-form .form-control:focus,
.amnko-filter-form .form-select:focus{
  background-color:#fff;
  border-color:rgba(0,184,217,.45);
  box-shadow:0 0 0 .2rem rgba(0,184,217,.12);
}
.amnko-filter-form[data-amnko-auto-filter] .amnko-apply-filter-btn{ display:none !important; }
.amnko-auto-filter-note{
  display:flex;
  align-items:center;
  gap:6px;
  color:var(--amnko-muted);
  font-size:.78rem;
  font-weight:800;
  margin-top:8px;
}
.amnko-auto-filter-note::before{
  content:'';
  width:7px;
  height:7px;
  border-radius:999px;
  background:var(--amnko-brand);
  box-shadow:0 0 0 4px rgba(0,184,217,.12);
}

/* Cards and tables look consistent across screens */
.page-content .card{
  border-color:var(--amnko-border);
}
.page-content .card.border-0.shadow-sm,
.page-content .amnko-card{
  box-shadow:var(--amnko-shadow-sm) !important;
}
.table thead,
.table thead.bg-light,
.table thead .bg-light{
  --bs-table-bg:#f8fafc;
}
.table thead th{
  color:#475569;
  font-size:.82rem;
  font-weight:900;
  border-bottom:1px solid var(--amnko-border) !important;
}
.table-hover tbody tr:hover{ --bs-table-hover-bg:rgba(0,184,217,.045); }

/* Empty state */
.amnko-empty-state{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:170px;
  padding:28px 18px;
  border:1px dashed rgba(100,116,139,.28);
  border-radius:22px;
  background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);
  color:var(--amnko-muted);
}
.amnko-empty-state-icon{
  width:54px;
  height:54px;
  border-radius:18px;
  background:rgba(0,184,217,.12);
  color:var(--amnko-brand);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:10px;
}
.amnko-empty-state-title{ font-weight:900; color:#334155; margin-bottom:4px; }
.amnko-empty-state-text{ font-size:.88rem; }

/* App Launcher */
.amnko-launcher-modal{ border:0; border-radius:24px; box-shadow:var(--amnko-shadow-md); }
.amnko-launcher-search .form-control{
  border-radius:18px;
  border:1px solid var(--amnko-border);
  background:#f8fafc;
  font-weight:800;
}
.amnko-launcher-section-title{
  color:var(--amnko-muted);
  font-weight:900;
  font-size:.84rem;
  margin-bottom:10px;
}
.amnko-launcher-item{
  min-height:112px;
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:16px;
  border:1px solid var(--amnko-border);
  border-radius:20px;
  text-decoration:none;
  background:#fff;
  color:var(--amnko-text);
  box-shadow:0 8px 18px rgba(15,23,42,.04);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.amnko-launcher-item:hover,
.amnko-launcher-item:focus{
  transform:translateY(-2px);
  color:var(--amnko-text);
  border-color:rgba(0,184,217,.32);
  box-shadow:0 16px 30px rgba(0,184,217,.12);
}
.amnko-launcher-icon{
  width:44px;
  height:44px;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  background:rgba(0,184,217,.12);
  color:var(--amnko-brand);
}
.amnko-launcher-label{ display:block; font-weight:900; margin-bottom:4px; }
.amnko-launcher-desc{ display:block; color:var(--amnko-muted); font-size:.82rem; line-height:1.55; }

/* Form view rhythm */
.page-content form .form-label{ font-weight:800; }
.page-content .card-header h1,
.page-content .card-header h2,
.page-content .card-header h3,
.page-content .card-header h4,
.page-content .card-header h5,
.page-content .card-header h6{ font-weight:900; }

@media (max-width: 575px){
  .amnko-page-head,
  .page-content > .d-flex.align-items-center.justify-content-between,
  .page-content > .d-flex.flex-wrap.align-items-center.justify-content-between{
    border-radius:18px;
    padding:14px;
  }
  .amnko-launcher-item{ min-height:auto; }
  form.amnko-filter-form{ padding:12px; }
}

/* Guided tour */
.amnko-tour-modal{ border:0; border-radius:24px; overflow:hidden; box-shadow:var(--amnko-shadow-md); }
.amnko-tour-step{
  position:relative;
  padding:18px 18px 18px 72px;
  border:1px solid var(--amnko-border);
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
  min-height:112px;
}
html[dir="rtl"] .amnko-tour-step{ padding:18px 72px 18px 18px; }
.amnko-tour-step-wide{ display:flex; gap:14px; align-items:center; padding:18px; }
html[dir="rtl"] .amnko-tour-step-wide{ padding:18px; }
.amnko-tour-num{
  position:absolute;
  top:18px;
  left:18px;
  width:38px;
  height:38px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,184,217,.14);
  color:var(--amnko-brand);
  font-weight:900;
}
html[dir="rtl"] .amnko-tour-num{ left:auto; right:18px; }
.amnko-tour-step-wide .amnko-tour-num{ position:static; flex:0 0 auto; }
.amnko-filter-last-link{
  margin-inline-start:8px;
  color:var(--amnko-brand);
  font-weight:900;
  text-decoration:none;
}
.amnko-filter-last-link:hover{ text-decoration:underline; }

/* V12.3.5R5 — form rhythm */
.doc-actionbar{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:22px;
  padding:18px 22px;
  box-shadow:0 10px 26px rgba(15,23,42,.05);
}
.doc-sheet{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:24px;
  padding:22px;
  box-shadow:0 14px 34px rgba(15,23,42,.06);
}
.doc-statusbar{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.doc-status-step{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 14px;
  border-radius:999px;
  background:#f1f5f9;
  color:#64748b;
  font-weight:900;
  font-size:.82rem;
  border:1px solid #e2e8f0;
}
.doc-status-step.active{
  background:rgba(0,184,217,.12);
  color:#087f95;
  border-color:rgba(0,184,217,.35);
}
.doc-field-grid{
  display:grid;
  grid-template-columns:minmax(260px,1.1fr) minmax(280px,1fr);
  gap:18px;
  align-items:start;
}
.doc-field-main,
.doc-field-side,
.doc-line-entry,
.doc-total-panel,
.doc-hint-box{
  border:1px solid #e2e8f0;
  border-radius:18px;
  background:#f8fafc;
  padding:16px;
}
.doc-field-main{ background:#fff; }
.doc-tabs .nav-link{ font-weight:900; border-radius:14px 14px 0 0; }
.doc-line-table-wrap{
  border:1px solid #e2e8f0;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
}
.doc-line-table{ margin-bottom:0; }
.doc-line-table thead th{
  background:#f8fafc;
  color:#475569;
  font-size:.85rem;
  font-weight:900;
  border-bottom:1px solid #e2e8f0;
}
.doc-line-table tbody td{ border-bottom:1px solid #f1f5f9; }
.doc-total-panel{
  background:#fff;
  font-weight:800;
}
.doc-total-panel hr{ margin:.65rem 0; opacity:.12; }
.doc-hint-box{
  background:linear-gradient(180deg,#f8fafc,#fff);
}
.doc-smartbar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.doc-stat-button{
  min-width:150px;
  border:1px solid #e2e8f0;
  border-radius:18px;
  padding:12px 14px;
  background:#fff;
  text-decoration:none;
  color:#0f172a;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}
.doc-stat-button:hover{ color:#0f172a; border-color:rgba(0,184,217,.35); }
.doc-stat-button .stat-value{ display:block; font-weight:900; }
.doc-stat-button .stat-label{ display:block; color:#64748b; font-size:.78rem; font-weight:800; margin-top:2px; }
.purchase-vendor-bill .form-label{ color:#475569; }
.sticky-actions{
  position:sticky;
  bottom:10px;
  z-index:20;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(8px);
  padding:10px;
  border:1px solid rgba(226,232,240,.75);
  border-radius:18px;
}
@media (max-width: 991px){
  .doc-field-grid{ grid-template-columns:1fr; }
  .doc-sheet{ padding:14px; border-radius:18px; }
  .doc-actionbar{ padding:14px; border-radius:18px; }
  .doc-stat-button{ min-width:calc(50% - 8px); }
}
@media (max-width: 575px){
  .doc-stat-button{ min-width:100%; }
}
