/* J-AP Platform Mobile / iPhone v1.0
   Loaded last. Desktop (>900px) is intentionally untouched. */

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

@supports (height: 100dvh) {
  html, body { min-height: 100dvh; }
}

@media (max-width: 900px) {
  :root {
    --jap-mobile-nav-h: 68px;
    --jap-mobile-pad: 12px;
    --jap-mobile-radius: 14px;
  }

  html, body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  body {
    padding-left: 0 !important;
    padding-bottom: calc(var(--jap-mobile-nav-h) + env(safe-area-inset-bottom, 0px) + 8px) !important;
  }

  /* Safari: 16px prevents automatic zoom when a field receives focus. */
  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea {
    font-size: 16px !important;
  }

  button,
  .btn,
  a.btn,
  input[type="button"],
  input[type="submit"] {
    min-height: 44px;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }

  a, button, input, select, textarea, [role="button"] {
    -webkit-tap-highlight-color: rgba(32, 201, 183, .12);
  }

  /* ===== Bottom mobile navigation ===== */
  body .sidebar {
    display: flex !important;
    position: fixed !important;
    z-index: 4500 !important;
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    bottom: 0 !important;
    width: 100% !important;
    height: calc(var(--jap-mobile-nav-h) + env(safe-area-inset-bottom, 0px)) !important;
    padding: 6px 6px env(safe-area-inset-bottom, 0px) !important;
    margin: 0 !important;
    flex-direction: row !important;
    border: 0 !important;
    border-top: 1px solid rgba(255,255,255,.09) !important;
    background: rgba(5, 43, 40, .98) !important;
    box-shadow: 0 -8px 28px rgba(4, 31, 29, .18) !important;
    backdrop-filter: saturate(130%) blur(14px);
    -webkit-backdrop-filter: saturate(130%) blur(14px);
    overflow: hidden !important;
  }

  body .sidebar-brand,
  body .sidebar-user,
  body .sidebar .nav-section {
    display: none !important;
  }

  body .sidebar nav {
    flex: 1 1 auto !important;
    display: flex !important;
    align-items: stretch !important;
    gap: 4px !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 1px !important;
    margin: 0 !important;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  body .sidebar nav::-webkit-scrollbar { display: none; }

  body .sidebar .nav-item {
    flex: 0 0 76px !important;
    width: 76px !important;
    min-width: 76px !important;
    height: 54px !important;
    min-height: 54px !important;
    padding: 5px 3px !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    border-radius: 11px !important;
    color: #c9dfdc !important;
    font-size: 9px !important;
    line-height: 1.05 !important;
    font-weight: 750 !important;
    text-align: center !important;
    white-space: nowrap !important;
    text-decoration: none !important;
  }

  body .sidebar .nav-item.active {
    background: #0e514a !important;
    color: #fff !important;
  }

  body .sidebar .nav-icon {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    font-size: 18px !important;
    line-height: 1 !important;
    color: #6fe3d6 !important;
  }

  /* ===== Global content geometry ===== */
  .workspace,
  .stickers-workspace,
  .orders-shell,
  .pickup-shell,
  .cf-shell,
  .fc-shell,
  .integrations-workspace,
  .cert-workspace,
  .platform-content.shell,
  .platform-content > .shell,
  body.jap-legacy-sidebar-layout .platform-content,
  body.jap-unified-sidebar-layout .platform-content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    padding-left: var(--jap-mobile-pad) !important;
    padding-right: var(--jap-mobile-pad) !important;
  }

  .workspace,
  .stickers-workspace,
  .orders-shell,
  .pickup-shell,
  .cf-shell,
  .fc-shell,
  .integrations-workspace,
  .cert-workspace {
    padding-top: 16px !important;
    padding-bottom: 24px !important;
  }

  h1 { overflow-wrap: anywhere; }

  .topbar,
  .orders-head,
  .stickers-header,
  .pickup-head,
  .cf-head,
  .fc-head,
  .integration-header,
  .cert-header,
  .panel-head,
  .order-card-head {
    min-width: 0;
  }

  /* Generic horizontal table fallback. */
  .table-wrap,
  .orders-table-wrap,
  .cf-tablewrap,
  .fc-tablewrap,
  .pickup-table-wrap,
  .cert-table-wrap,
  .schedule-wrap,
  .table-simple,
  .table-wrap {
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
  }

  table { max-width: none; }

  /* ===== Modal -> iPhone bottom sheet ===== */
  .modal-bg,
  .modal-backdrop,
  .print-agent-modal {
    padding: 8px 8px calc(8px + env(safe-area-inset-bottom, 0px)) !important;
    align-items: flex-end !important;
  }

  .modal-bg .modal,
  .modal-backdrop .modal,
  .print-agent-modal-card,
  .problems-modal-card,
  .hidden-orders-modal-card,
  .label-editor-modal-card {
    width: 100% !important;
    max-width: 100% !important;
    max-height: min(88dvh, 760px) !important;
    overflow: auto !important;
    border-radius: 18px 18px 12px 12px !important;
    -webkit-overflow-scrolling: touch;
  }

  /* ===== Stickers: warehouse-first iPhone layout ===== */
  .stickers-header {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: 13px !important;
    margin-bottom: 13px !important;
  }
  .stickers-header h1 { font-size: 27px !important; line-height: 1.04 !important; }
  .stickers-header p { font-size: 12px !important; line-height: 1.45 !important; }
  .stickers-header-controls { width: 100% !important; display: grid !important; gap: 8px !important; }
  .active-orders-toggle { width: 100% !important; justify-content: center !important; min-height: 44px !important; }
  .mode-switch { width: 100% !important; }
  .mode-switch a { flex: 1 1 0 !important; min-width: 0 !important; padding: 11px 5px !important; font-size: 11px !important; }

  .scan-panel {
    position: sticky !important;
    top: 0 !important;
    z-index: 1200 !important;
    min-height: 0 !important;
    padding: 12px !important;
    border-radius: 15px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    box-shadow: 0 7px 22px rgba(5,43,40,.15);
  }
  .scan-label { margin-bottom: 6px !important; }
  .scan-input-wrap { height: 52px !important; padding-left: 10px !important; }
  .scan-icon { font-size: 19px !important; margin-right: 6px !important; }
  .scan-input-wrap input { font-size: 16px !important; }
  .scan-input-wrap button { width: 86px !important; min-width: 86px !important; padding: 0 7px !important; font-size: 12px !important; }
  .printer-state { width: 100% !important; padding: 9px 10px !important; display: flex !important; align-items: center !important; gap: 6px !important; }
  .printer-state-copy strong { font-size: 10px !important; }
  .printer-state-copy small { font-size: 8px !important; }
  .printer-setup-button { margin-left: auto !important; min-height: 38px !important; }

  .stickers-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 10px 0 !important;
  }
  .stickers-stats .stat-card { min-height: 66px !important; padding: 11px 12px !important; }
  .stickers-stats .stat-card:last-child { grid-column: 1 / -1; }
  .stat-card strong { font-size: 21px !important; }

  .work-panel { border-radius: 14px !important; margin-bottom: 10px !important; }
  .panel-head {
    min-height: 0 !important;
    padding: 12px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    align-items: stretch !important;
  }
  .panel-head h2 { font-size: 18px !important; }
  .orders-panel-actions,
  .position-buttons {
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
  .orders-panel-actions > *,
  .position-buttons > * {
    flex: 1 1 105px !important;
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .abcp-auto-sync-note { flex: 1 1 100% !important; text-align: center; }
  .status-legend { overflow-x: auto !important; flex-wrap: nowrap !important; white-space: nowrap !important; gap: 12px !important; padding: 8px 11px !important; -webkit-overflow-scrolling: touch; }

  /* Sticker order list becomes cards instead of a tiny wide table. */
  .stickers-workspace .orders-table { min-width: 0 !important; table-layout: auto !important; }
  .stickers-workspace .orders-table thead { display: none !important; }
  .stickers-workspace .orders-table tbody { display: grid !important; gap: 7px !important; padding: 8px !important; }
  .stickers-workspace .orders-table .order-row {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 4px 10px !important;
    padding: 11px 12px !important;
    border: 1px solid #e0e9e7 !important;
    border-radius: 11px !important;
    overflow: hidden !important;
  }
  .stickers-workspace .orders-table .order-row td {
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
    min-width: 0 !important;
    background: transparent !important;
  }
  .stickers-workspace .orders-table .order-row td:nth-child(1) { grid-column:1; grid-row:1; font-size:14px !important; }
  .stickers-workspace .orders-table .order-row td:nth-child(2) { grid-column:1; grid-row:2; overflow-wrap:anywhere; }
  .stickers-workspace .orders-table .order-row td:nth-child(3) { grid-column:1; grid-row:3; color:#6f827e; font-size:10px !important; }
  .stickers-workspace .orders-table .order-row td:nth-child(4) { grid-column:2; grid-row:1; text-align:right; font-weight:800; }
  .stickers-workspace .orders-table .order-row td:nth-child(4)::before { content:"Поз. "; color:#849692; font-weight:600; }
  .stickers-workspace .orders-table .order-row td:nth-child(5) { grid-column:2; grid-row:2 / span 2; align-self:center; text-align:right; }
  .stickers-workspace .orders-scroll { max-height: 42dvh !important; }

  /* Sticker positions also become compact cards. */
  .stickers-workspace .positions-table { min-width: 0 !important; table-layout: auto !important; }
  .stickers-workspace .positions-table thead { display:none !important; }
  .stickers-workspace .positions-table tbody { display:grid !important; gap:8px !important; padding:8px !important; }
  .stickers-workspace .positions-table .position-row {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:5px 10px !important;
    padding:11px 12px !important;
    border:1px solid #dce7e4 !important;
    border-radius:11px !important;
  }
  .stickers-workspace .positions-table .position-row td {
    display:block !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    min-width:0 !important;
  }
  .stickers-workspace .positions-table .position-row td:nth-child(1) { grid-column:1; grid-row:1; font-size:11px !important; }
  .stickers-workspace .positions-table .position-row td:nth-child(2) { grid-column:1; grid-row:2; font-size:15px !important; overflow-wrap:anywhere; }
  .stickers-workspace .positions-table .position-row td:nth-child(3) { grid-column:1 / -1; grid-row:3; line-height:1.35; }
  .stickers-workspace .positions-table .position-row td:nth-child(4) { grid-column:2; grid-row:1 / span 2; align-self:center; }
  .stickers-workspace .positions-table .position-row td:nth-child(5) { grid-column:1; grid-row:4; color:#71837f; font-size:10px !important; }
  .stickers-workspace .positions-table .position-row td:nth-child(6) { grid-column:2; grid-row:4; text-align:right; }
  .stickers-workspace .positions-table .position-row td:nth-child(7) { grid-column:1 / -1; grid-row:5; }
  .stickers-workspace .positions-scroll { max-height: 48dvh !important; }
  .qty-editor { justify-content:flex-end !important; }
  .qty-input { width:60px !important; min-height:38px !important; font-size:16px !important; }
  .qty-save { min-width:38px !important; min-height:38px !important; }

  .replacement-hit { align-items:flex-start !important; gap:8px !important; }
  .replacement-hit strong { font-size:11px !important; }
  .replacement-hit span { overflow-wrap:anywhere; }
  .replacement-add-form { grid-template-columns:1fr !important; }
  .replacement-arrow { display:none !important; }
  .replacement-note,
  .replacement-save { grid-column:auto !important; }
  .replacement-save { width:100% !important; min-height:44px !important; }
  .replacement-import-form > * { width:100% !important; }
  .replacement-import-form button,
  .replacement-template-link,
  .replacement-file-picker span { width:100% !important; }
  .replacement-import-actions { flex-direction:column !important; align-items:stretch !important; }

  .workstation-agent-controls { display:grid !important; grid-template-columns:1fr !important; gap:8px !important; }
  .workstation-agent-controls select,
  .workstation-agent-controls button { width:100% !important; min-height:44px !important; }
  .print-agent-actions > * { flex:1 1 100% !important; width:100% !important; }
  .label-editor-grid { grid-template-columns:1fr !important; }

  /* ===== Orders list ===== */
  body.orders-page .orders-shell { padding:16px 10px 22px !important; }
  body.orders-page .orders-head { align-items:flex-start !important; gap:10px !important; margin-bottom:12px !important; }
  body.orders-page .orders-head h1 { font-size:27px !important; }
  body.orders-page .orders-refresh { min-height:44px !important; padding:10px 12px !important; }
  body.orders-page .order-scan-card { position:sticky; top:0; z-index:1100; margin-bottom:10px !important; padding:12px !important; border-radius:14px !important; }
  body.orders-page .order-scan-form { gap:8px !important; }
  body.orders-page .order-scan-form strong { font-size:15px !important; }
  body.orders-page .order-scan-form small { font-size:10px !important; }
  body.orders-page .order-scan-form input,
  body.orders-page .order-scan-form button { height:48px !important; }
  body.orders-page .orders-filter-card { padding:10px !important; border-radius:14px !important; }
  body.orders-page .orders-filters,
  body.orders-page .orders-filters-v020 { grid-template-columns:1fr !important; gap:8px !important; }
  body.orders-page .orders-search { grid-column:auto !important; }
  body.orders-page .orders-filter-foot { flex-direction:column !important; gap:7px !important; }

  /* Orders list: only warehouse-relevant fields, card format. */
  body.orders-page .orders-table-card { overflow:visible !important; background:transparent !important; border:0 !important; }
  body.orders-page .orders-table-wrap { overflow:visible !important; }
  body.orders-page .orders-table { min-width:0 !important; width:100% !important; display:block !important; }
  body.orders-page .orders-table thead { display:none !important; }
  body.orders-page .orders-table tbody { display:grid !important; gap:9px !important; }
  body.orders-page .orders-table .order-row {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:6px 12px !important;
    padding:12px !important;
    border:1px solid #d8e4e1 !important;
    border-radius:13px !important;
    background:#fff !important;
  }
  body.orders-page .orders-table .order-row td { padding:0 !important; border:0 !important; background:transparent !important; min-width:0; }
  body.orders-page .orders-table .order-row td:nth-child(1) { grid-column:1; grid-row:1; }
  body.orders-page .orders-table .order-row td:nth-child(2) { grid-column:1; grid-row:2; }
  body.orders-page .orders-table .order-row td:nth-child(4) { grid-column:2; grid-row:1; text-align:right; }
  body.orders-page .orders-table .order-row td:nth-child(8) { grid-column:2; grid-row:2; text-align:right; }
  body.orders-page .orders-table .order-row td:nth-child(10) { grid-column:1 / -1; grid-row:4; }
  body.orders-page .orders-table .order-row td:nth-child(11) { grid-column:1; grid-row:3; }
  body.orders-page .orders-table .order-row td:nth-child(14) { grid-column:2; grid-row:3; text-align:right; }
  body.orders-page .orders-table .order-row td:nth-child(3),
  body.orders-page .orders-table .order-row td:nth-child(5),
  body.orders-page .orders-table .order-row td:nth-child(6),
  body.orders-page .orders-table .order-row td:nth-child(7),
  body.orders-page .orders-table .order-row td:nth-child(9),
  body.orders-page .orders-table .order-row td:nth-child(12),
  body.orders-page .orders-table .order-row td:nth-child(13),
  body.orders-page .orders-table .order-row td:nth-child(15) { display:none !important; }
  body.orders-page .orders-table .order-number { font-size:16px !important; }
  body.orders-page .orders-table .order-row td:nth-child(4)::before { content:"Сумма "; display:block; color:#7a8b87; font-size:9px; font-weight:700; }
  body.orders-page .orders-table .order-row td:nth-child(8)::before { content:"Долг "; display:block; color:#7a8b87; font-size:9px; font-weight:700; }
  body.orders-page .orders-table .order-status-stack { flex-direction:row !important; flex-wrap:wrap !important; }
  body.orders-page .orders-pagination { position:sticky; bottom:calc(var(--jap-mobile-nav-h) + env(safe-area-inset-bottom,0px)); background:#eef4f3; z-index:20; }

  /* ===== Order detail ===== */
  body.orders-page .order-summary-grid { grid-template-columns:1fr 1fr !important; gap:8px !important; }
  body.orders-page .order-summary-grid > div { padding:11px !important; }
  body.orders-page .order-summary-grid strong { font-size:16px !important; }
  body.orders-page .order-info-card,
  body.orders-page .order-positions-card,
  body.orders-page .order-notes-card,
  body.orders-page .order-payment-card,
  body.orders-page .order-pickup-card { padding:12px !important; border-radius:14px !important; }
  body.orders-page .order-card-head { flex-direction:column !important; gap:8px !important; }
  body.orders-page .order-status-stack.horizontal { justify-content:flex-start !important; }
  body.orders-page .order-info-grid { grid-template-columns:1fr !important; gap:7px !important; }
  body.orders-page .info-suppliers { grid-column:auto !important; }
  body.orders-page .order-payment-summary { grid-template-columns:1fr 1fr !important; gap:8px !important; }
  body.orders-page .order-payment-form { grid-template-columns:1fr !important; padding:10px !important; gap:9px !important; }
  body.orders-page .order-payment-form .wide,
  body.orders-page .order-payment-form button { grid-column:auto !important; width:100% !important; }
  body.orders-page .order-pickup-grid { grid-template-columns:1fr !important; }
  body.orders-page .pickup-qr-box { flex-direction:column !important; align-items:center !important; text-align:center; }
  body.orders-page .pickup-qr-box img { width:150px !important; height:150px !important; }
  body.orders-page .pickup-event-row { grid-template-columns:1fr !important; gap:3px !important; }

  /* Order positions card on iPhone: keep the operational fields. */
  body.orders-page .positions-table-v020 { min-width:0 !important; width:100% !important; display:block !important; }
  body.orders-page .positions-table-v020 thead { display:none !important; }
  body.orders-page .positions-table-v020 tbody { display:grid !important; gap:9px !important; }
  body.orders-page .positions-table-v020 tbody tr {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:6px 10px !important;
    padding:12px !important;
    border:1px solid #dce7e4 !important;
    border-radius:12px !important;
    background:#fff !important;
  }
  body.orders-page .positions-table-v020 tbody td { padding:0 !important; border:0 !important; background:transparent !important; min-width:0; }
  body.orders-page .positions-table-v020 tbody td:nth-child(2) { grid-column:1; grid-row:1; font-weight:850; }
  body.orders-page .positions-table-v020 tbody td:nth-child(3) { grid-column:1; grid-row:2; font-size:15px !important; overflow-wrap:anywhere; }
  body.orders-page .positions-table-v020 tbody td:nth-child(4) { grid-column:1 / -1; grid-row:3; }
  body.orders-page .positions-table-v020 tbody td:nth-child(5) { grid-column:2; grid-row:1 / span 2; text-align:right; }
  body.orders-page .positions-table-v020 tbody td:nth-child(10) { grid-column:1; grid-row:4; }
  body.orders-page .positions-table-v020 tbody td:nth-child(12) { grid-column:1 / -1; grid-row:5; }
  body.orders-page .positions-table-v020 tbody td:nth-child(13) { grid-column:1 / -1; grid-row:6; }
  body.orders-page .positions-table-v020 tbody td:nth-child(1),
  body.orders-page .positions-table-v020 tbody td:nth-child(6),
  body.orders-page .positions-table-v020 tbody td:nth-child(7),
  body.orders-page .positions-table-v020 tbody td:nth-child(8),
  body.orders-page .positions-table-v020 tbody td:nth-child(9),
  body.orders-page .positions-table-v020 tbody td:nth-child(11) { display:none !important; }
  body.orders-page .position-status-form { grid-template-columns:1fr !important; }
  body.orders-page .position-status-form select,
  body.orders-page .position-status-form button { min-height:44px !important; font-size:16px !important; }

  /* ===== Dashboard ===== */
  .jap-dashboard-v200 .jap-dash-hero { border-radius:16px !important; padding:18px !important; }
  .jap-dashboard-v200 .jap-dash-hero h1 { font-size:31px !important; }
  .jap-dashboard-v200 .jap-dash-hero-actions { display:grid !important; grid-template-columns:1fr !important; width:100%; }
  .jap-dashboard-v200 .jap-dash-primary,
  .jap-dashboard-v200 .jap-dash-secondary { width:100% !important; justify-content:center; }
  .jap-dashboard-v200 .jap-dash-status-grid,
  .jap-dashboard-v200 .jap-dash-modules,
  .jap-dashboard-v200 .jap-dash-lower,
  .jap-dashboard-v200 .jap-dash-quick-grid { grid-template-columns:1fr !important; }

  /* ===== Finance / HR / certificates / settings ===== */
  .cf-head,
  .fc-head,
  .cert-header,
  .integration-header,
  .platform-content .head-top,
  .platform-content .top {
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;
  }
  .cf-tabs,
  .fc-tabs,
  .tabs {
    display:flex !important;
    max-width:100% !important;
    overflow-x:auto !important;
    flex-wrap:nowrap !important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .cf-tabs::-webkit-scrollbar,
  .fc-tabs::-webkit-scrollbar,
  .tabs::-webkit-scrollbar { display:none; }
  .cf-tabs > *, .fc-tabs > *, .tabs > * { flex:0 0 auto; white-space:nowrap; }

  .cf-kpis, .fc-kpis, .stats { grid-template-columns:1fr 1fr !important; }
  .cf-grid2, .fc-grid.two, .cf-two, .cash-grid { grid-template-columns:1fr !important; }
  .cf-form, .fc-form, .form-grid, .integration-form-grid { grid-template-columns:1fr !important; }
  .cf-form .wide, .fc-form .wide, .form-grid .wide, .integration-form-grid .wide { grid-column:auto !important; }

  .cert-header-actions { width:100% !important; display:grid !important; grid-template-columns:1fr !important; gap:8px !important; }
  .cert-stats { grid-template-columns:1fr 1fr !important; }
  .cert-live-grid { grid-template-columns:1fr 1fr !important; }
  .supplier-row { min-width:0 !important; }
  .supplier-price-row { overflow-x:auto; -webkit-overflow-scrolling:touch; }

  .staff-grid, .department-grid, .cards { grid-template-columns:1fr !important; }
  .toolbar { flex-wrap:wrap !important; gap:7px !important; }
  .toolbar > * { max-width:100%; }

  /* ===== Pickup legacy pages ===== */
  .pickup-stats, .money-grid, .pickup-layout, .pickup-filters, .payment-form { grid-template-columns:1fr !important; }
  .payment-form .wide { grid-column:auto !important; }
  .issue-form { flex-direction:column !important; align-items:stretch !important; }
  .issue-btn { width:100% !important; }

  /* ===== Login ===== */
  .login-shell {
    width:100% !important;
    min-height:100dvh !important;
    padding:24px 16px calc(24px + env(safe-area-inset-bottom,0px)) !important;
    gap:22px !important;
  }
  .login-copy h1 { font-size:40px !important; }
  .login-copy p { font-size:15px !important; }
  .login-card { padding:22px 18px !important; border-radius:18px !important; }
}

@media (max-width: 430px) {
    .stickers-stats,
    .cf-kpis,
    .fc-kpis,
    .cert-stats,
    .cert-live-grid { grid-template-columns:1fr 1fr !important; }

    body.orders-page .order-summary-grid,
    body.orders-page .order-payment-summary { grid-template-columns:1fr !important; }

    body .sidebar .nav-item {
      flex-basis:72px !important;
      width:72px !important;
      min-width:72px !important;
      font-size:8.5px !important;
    }
}

/* J-AP v1.1 Orders mobile refinements */
@media (max-width: 900px) {
  body.orders-page .orders-head p { font-size:12px !important; }
  body.orders-page .orders-table .order-row td { font-size:14px !important; }
  body.orders-page .orders-table .order-number { font-size:17px !important; }
  body.orders-page .orders-table .order-row td:nth-child(10) { overflow:hidden !important; border-radius:9px !important; }
  body.orders-page .orders-table .order-row td:nth-child(10) .order-status-fill { width:100% !important; }
  body.orders-page .order-info-grid strong { font-size:14px !important; }
  body.orders-page .positions-table-v020 tbody td { font-size:14px !important; line-height:1.4 !important; }
  body.orders-page .positions-table-v020 tbody td:nth-child(3) { font-size:17px !important; }
  body.orders-page .position-status-form select,
  body.orders-page .position-status-form button { font-size:16px !important; min-height:44px !important; }
}
