/* Keep the scroll limit inside the visible screen and clear the home indicator. */
body:not(.login-view),
body:not(.login-view) .app-shell,
body:not(.login-view) main {
  height: var(--workspace-height, 100dvh);
}
body:not(.login-view) main {
  padding-bottom: max(8px, var(--app-safe-bottom, env(safe-area-inset-bottom, 0px)));
}

/*
 * Platform-wide compact workspace standard.
 * Loaded after styles.css so every operational module receives the same
 * edge-to-edge mobile layout without duplicating route-specific rules.
 */
/* A wrapper must contain its scroller, including outside paginated lists. */
.table-scroll-shell {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.table-scroll-shell > .table-scroll {
  flex: 1 1 auto;
  min-height: 0;
}

@media (max-width: 900px) {
  /* Only list panels fill remaining space. Document details keep normal flow. */
  .workspace-card:has(> .table-region:not([hidden])),
  .workspace-card:has(> .pagination):has(> :is(.table-scroll, .table-scroll-shell)),
  .workspace-card:has(> :is(.admin-section, [data-results]) > .pagination) {
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  .workspace-card:has(> .table-region:not([hidden])) > *,
  .workspace-card:has(> .pagination):has(> :is(.table-scroll, .table-scroll-shell)) > *,
  .workspace-card:has(> :is(.admin-section, [data-results]) > .pagination) > * {
    flex: 0 0 auto;
  }

  .workspace-card > .table-region:not([hidden]),
  .workspace-card > :is(.admin-section, [data-results]):has(> .pagination),
  .workspace-card:has(> .pagination) > :is(.table-scroll, .table-scroll-shell) {
    flex: 1 1 0;
    min-height: 0;
    overflow: hidden;
  }

  .workspace-card > .table-region:not([hidden]),
  .workspace-card > :is(.admin-section, [data-results]):has(> .pagination) {
    display: flex;
    flex-direction: column;
  }

  .workspace-card > :is(.table-region, .admin-section, [data-results]):has(> .pagination) > * {
    flex: 0 0 auto;
  }
  .workspace-card > :is(.table-region, .admin-section, [data-results]):has(> .pagination) > :is(.table-scroll, .table-scroll-shell) {
    flex: 1 1 0;
    min-height: 0;
    overflow: hidden;
  }

  .workspace-card:has(> .pagination) > .table-scroll,
  .workspace-card:has(> .pagination) > .table-scroll-shell > .table-scroll,
  .workspace-card > :is(.table-region, .admin-section, [data-results]):has(> .pagination) > .table-scroll,
  .workspace-card > :is(.table-region, .admin-section, [data-results]):has(> .pagination) > .table-scroll-shell > .table-scroll {
    flex: 1 1 0;
    min-height: 0;
    max-height: none;
    overflow: auto;
  }

  .page-heading {
    flex-direction: row;
  }

  .workspace-card > :is(.toolbar, .section-heading),
  .workspace-card > .admin-section > :is(.toolbar, .section-heading),
  .workspace-card > .dashboard-section > :is(.toolbar, .section-heading) {
    flex: 0 0 auto;
    min-height: 52px;
    margin: 0;
    padding: 4px 8px;
    gap: 4px;
  }

  .workspace-card .section-heading > div {
    min-width: 0;
  }

  .workspace-card .section-heading h2 {
    margin: 0;
    font-size: 1rem;
    line-height: 1.2;
    overflow-wrap: anywhere;
  }

  .workspace-card .section-heading p {
    display: none;
  }

  .workspace-card .pagination {
    display: flex;
    align-items: center;
    gap: 4px;
    position: sticky;
    bottom: 0;
    z-index: 4;
    flex: 0 0 auto;
    min-height: 52px;
    padding: 4px 8px;
    background: #fff;
    border-top: 1px solid var(--line);
  }

  .workspace-card .pagination > span {
    flex: 1 1 0;
    min-width: 0;
    overflow-wrap: anywhere;
  }
  .workspace-card .pagination > div,
  .workspace-card .pagination > button {
    flex: 0 0 auto;
  }

  .workspace-card :is(
    .toolbar,
    .search-field,
    input[type="search"],
    .filter-button,
    .icon-action,
    .list-filter-menu > summary,
    .list-action-menu > summary,
    .pagination button,
    .admin-section,
    .dashboard-section,
    .detail-section,
    .warehouse-order-card
  ),
  .page-heading :is(.view-back-action, .independent-window-action, .primary-action) {
    border-radius: 0;
  }

  .workspace-card table th,
  .workspace-card table td {
    padding: 0.6rem 0.5rem;
  }
}

@media (max-width: 560px) {
  .workspace-card > .toolbar {
    padding: 4px;
  }

  .workspace-card > .toolbar:has(input[type="search"]) {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
  }

  .workspace-card > .toolbar:has(input[type="search"]) :is(.search-field, input[type="search"]) {
    flex: 1 1 12rem;
    width: 0;
    min-width: 0;
  }

  .workspace-card > .toolbar .status-view-switch {
    flex: 1 0 100%;
    width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
    border-radius: 0;
  }

  .workspace-card > .toolbar .status-view-switch::-webkit-scrollbar {
    display: none;
  }

  .workspace-card > .toolbar .status-view-switch button {
    flex: 1 0 auto;
    border-radius: 0;
  }
}

.banking-tabs{margin:0;border:0;background:transparent}
.banking-tabs button{min-height:44px}
[data-bank-content] small{display:block;margin-top:.2rem;color:var(--muted)}
.banking-dialog label{display:grid;gap:.4rem;margin:.75rem 0;font-weight:700}
.banking-dialog :is(select,input,textarea){width:100%;min-height:44px;padding:.6rem;border:1px solid var(--line)}
.banking-dialog textarea{min-height:88px}
.banking-dialog fieldset{display:grid;gap:.5rem;margin:1rem 0;border:1px solid var(--line)}
.banking-dialog fieldset>label{display:flex;align-items:center;gap:.5rem;margin:0;min-height:44px}
.banking-dialog fieldset input[type=checkbox]{width:22px;min-height:22px;flex:none}
.banking-dialog .cash-choice{grid-template-columns:auto minmax(0,1fr) 9rem}
.banking-dialog .cash-choice input[type=number]{width:9rem}
@media(max-width:560px){.banking-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.banking-tabs button{min-width:0;padding:.35rem;font-size:.68rem;white-space:normal}.banking-dialog .cash-choice{display:grid;grid-template-columns:auto minmax(0,1fr)}.banking-dialog .cash-choice input[type=number]{grid-column:2;width:100%}}

.cheque-scan-dialog{width:min(96vw,760px)}
.cheque-camera{position:relative;background:#111;overflow:hidden;aspect-ratio:16/9}
.cheque-camera video{width:100%;height:100%;object-fit:cover}
.cheque-guide{position:absolute;inset:20% 6%;border:3px solid #fff;box-shadow:0 0 0 999px #0007;display:grid;place-items:end center;pointer-events:none}
.cheque-guide span{background:#081a2ddd;color:#fff;padding:.35rem .65rem;margin-bottom:.4rem;font-weight:700}
.mobile-scan-link{text-align:center}.mobile-scan-link img{width:min(70vw,320px);height:auto}
.mobile-scan-card{max-width:760px;margin:auto}.mobile-scan-card>.action-confirm{width:100%;margin-top:.75rem}

/* Headings keep whole words; product descriptions may still wrap freely. */
:is(.workspace-card, dialog) table th {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.order-cart-table { table-layout: fixed; }
.order-cart-table th { white-space: nowrap; }
.order-cart-table th:first-child { width: auto; }
.order-cart-table th:nth-child(2) { width: 54px; }
.order-cart-table th:nth-child(3) { width: 40px; }
.order-cart-table th:last-child { width: 102px; }
.order-cart-table .cart-line-actions {
  display: flex;
  flex-wrap: nowrap;
  gap: 4px;
}
.order-cart-table .line-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  min-width: 44px;
  height: 44px;
  padding: 0;
  margin: 0;
  font-size: 1.25rem;
  line-height: 1;
}
.order-cart-table .line-actions .action-danger {
  color: #b53030;
  background: #fff;
  border-color: #b53030;
}

/* The orders list owns a bounded row scroller, with its headings always visible. */
.workspace-card:has(> .orders-list-toolbar) {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.orders-list-toolbar { flex: 0 0 auto; }
.workspace-card > .orders-list-panel {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  min-height: 0;
  overflow: hidden;
  padding: 0;
}
.orders-list-panel > .section-heading { flex: 0 0 auto; padding: 4px 8px; }
.orders-list-panel > :is(.table-scroll, .table-scroll-shell),
.orders-list-panel > .table-scroll-shell > .table-scroll {
  flex: 1 1 0;
  min-height: 0;
  max-height: none;
}
.orders-list-panel .table-scroll { overflow: auto; }
.compact-order-list th {
  position: sticky;
  top: 0;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  background: #f7faf8;
}
.compact-order-list .order-status-col { width: 60px; }
.compact-order-list .order-type-col { width: 46px; }
.compact-order-list th:nth-child(2) { white-space: normal; }
@media (max-width: 900px) {
  .orders-list-toolbar {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    min-height: 52px;
  }
  .orders-list-toolbar [data-order-scope] {
    flex: 1 1 0;
    min-width: 0;
    height: 44px;
    padding: 0 8px;
    font-size: 0;
    white-space: nowrap;
  }
  .orders-list-toolbar [data-order-scope]::before { font-size: .9rem; }
  .orders-list-toolbar [data-order-scope="active"]::before { content: "Aktif"; }
  .orders-list-toolbar [data-order-scope="archive"]::before { content: "Arşiv"; }
  .orders-list-toolbar :is([data-new-order], .order-batch-print) {
    flex: 0 0 44px;
    width: 44px;
    min-width: 44px;
    height: 44px;
    padding: 0;
  }
  .orders-list-toolbar [data-new-order] { font-size: 0; }
  .orders-list-toolbar [data-new-order] span,
  .orders-list-toolbar .order-batch-print { font-size: 1.25rem; }
  .orders-list-panel .section-heading { margin: 0; min-height: 52px; }
  .compact-order-list .order-inline-actions { gap: 4px; }
}

.topbar .assistant-help-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  min-width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #eef5fb;
}
.assistant-help-action img {
  display: block;
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.topbar .assistant-help-action[hidden] { display: none; }
.topbar .assistant-help-action:hover { background: #dceafb; }
.assistant-quick-dialog {
  width: min(560px, calc(100vw - 24px));
  padding: 16px;
  box-sizing: border-box;
}
.assistant-quick-dialog .dialog-heading { margin: 0 0 12px; padding: 0; }
.assistant-quick-dialog .dialog-heading h2 { margin: 0; font-size: 1.1rem; }
.assistant-quick-dialog h3 { text-align: center; font-size: 1.1rem; margin: 12px 0 20px; }
.assistant-quick-dialog .assistant-composer { padding: 0; }
.assistant-quick-dialog .assistant-input-ring { padding-left: 16px; }
.assistant-quick-dialog [data-chat-error]:empty { display: none; }

/* Align currency headings with their numeric rates at every width. */
.home-fx-quotes thead th:not(:first-child) { text-align:right; }
.home-fx-quotes thead th .table-sort-button { width:100%; text-align:inherit; padding-inline:0; }

.nav-category>summary.nav-category-title{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:.5rem;list-style:none;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.nav-category>summary.nav-category-title::before{content:'▸';transition:transform .15s}
.nav-category[open]>summary.nav-category-title::before{transform:rotate(90deg)}
.nav-category>summary::-webkit-details-marker{display:none}
.nav-category>summary:focus-visible{outline:2px solid currentColor;outline-offset:2px}

.stock-search-controls{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin:.5rem 0}.stock-search-controls .search-field{flex:1;min-width:min(18rem,100%)}
.receipt-branch{border-bottom:1px solid var(--border,#d6e0ea);padding:.35rem 0}.receipt-branch>summary,.backroom-pick-history>summary{cursor:pointer;min-height:44px;padding:.5rem;font-weight:700}.receipt-branch>div{padding:.35rem .6rem}
label:has(>textarea){display:flex;flex-direction:column;align-items:stretch;gap:.35rem;text-align:left}label>textarea{width:100%;box-sizing:border-box;min-height:5.5rem;border:1px solid var(--border,#cbd5e1);border-radius:.75rem;background:var(--surface,#fff);color:inherit;padding:.7rem .8rem;font:inherit;resize:vertical}label>textarea:focus{outline:2px solid var(--primary,#176a55);outline-offset:1px}

.cheque-guide{inset:auto;left:6%;top:50%;width:88%;height:auto;aspect-ratio:166/76;box-sizing:border-box;transform:translateY(-50%)}
.cheque-crop-dialog{width:min(56rem,96vw);max-height:94dvh;overflow:auto}.cheque-crop-dialog canvas{display:block;width:100%;height:auto;aspect-ratio:166/76;border:2px solid var(--primary,#176a55)}.cheque-crop-dialog label{display:flex;align-items:center;gap:.65rem;margin:.6rem 0}.cheque-crop-dialog input{flex:1}

.assistant-drop-active{outline:3px dashed var(--primary,#176a55);outline-offset:-4px;background:#edf7f4}.assistant-upload-item{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.35rem;border:1px solid var(--border,#cbd5e1);border-radius:.75rem}.assistant-upload-item>span:first-child{overflow-wrap:anywhere;max-width:22rem}.assistant-upload-item progress{width:6rem}

.global-search form{display:flex;flex-wrap:wrap;gap:.7rem;align-items:flex-start}.global-search .search-field{flex:1;min-width:14rem}.global-search form>details{width:100%}.global-search-result{display:grid;gap:.3rem;padding:.9rem;border:1px solid var(--border,#c9d8d2);border-radius:10px;margin:.5rem 0;color:inherit;text-decoration:none;overflow-wrap:anywhere}.global-search-result:hover,.global-search-result:focus-visible{background:var(--surface-muted,#edf7f2);outline:2px solid var(--primary,#087b54)}.global-search-result small{white-space:normal}.global-search-record dd{white-space:pre-wrap;overflow-wrap:anywhere}.global-search-record{max-width:min(900px,96vw)}

.order-capture-preview{display:block;width:70mm;max-width:100%;height:50mm;padding:0;overflow:hidden;border:1px solid #aebdce;border-radius:.75rem;position:relative;z-index:0}
.order-capture-map{width:100%;height:100%;min-height:0}
.order-capture-preview .order-capture-map{pointer-events:none}
.order-capture-dialog{width:min(960px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}
.order-capture-dialog>.order-capture-map{height:min(65dvh,600px);min-height:180px}

.sales-performance-filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end}
.sales-performance-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin:1rem 0}
.sales-performance-kpis section{padding:.75rem;border:1px solid #d7e0eb;border-radius:.75rem;display:flex;flex-direction:column;gap:.5rem}
.sales-performance-kpis strong{font-size:1.3rem}.sales-performance-rankings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.sales-product-ranking{padding-left:1.5rem}.sales-product-ranking li{padding:.5rem;border-bottom:1px solid #d7e0eb}.sales-product-ranking li span,.sales-product-ranking li small{display:block}.sales-product-ranking li strong{color:#0b1f3a}
.sales-trend>div{display:grid;grid-template-columns:2rem minmax(40px,1fr) minmax(90px,auto);gap:.5rem;align-items:center}.sales-trend meter, [data-performance-body] progress{width:100%}
@media(max-width:767px){.sales-performance-rankings{grid-template-columns:1fr}.sales-performance-filters>label{min-width:0;flex:1 1 130px}}
