/* Phone ergonomics using the existing application palette. */
@media(max-width:767.98px) {
 .page { flex-direction:column; } .page main { min-width:0; }
 .page main > .content { padding:14px 12px max(24px,env(safe-area-inset-bottom)) !important; }
 .mobile-topbar { display:flex !important; padding-inline:12px; }
 .page .sidebar { position:fixed; top:48px; right:0; width:min(300px,88vw); height:calc(100dvh - 48px); overflow-y:auto; overscroll-behavior:contain; z-index:250; transform:translateX(100%); visibility:hidden; }
 .page .sidebar.nav-open { transform:translateX(0); visibility:visible; } .page main .top-row { display:none; }
 .nav-backdrop:not([hidden]) { display:block; }
 .sidebar .nav-link { min-height:44px; padding:10px 14px !important; font-size:15px; color:#cbd5e1 !important; }
 .sidebar .nav-link.active { color:#fff !important; }
 .sidebar .nav-section-label { color:#b5c3d8; font-size:12px; padding-block:8px 4px; }
 .sidebar .sidebar-logout-btn { min-height:44px; padding:10px 0; color:#e2e8f0; }
 .mobile-topbar .quick-search-mobile { display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; }
 main :is(h1,h2,h3) { font-size:24px; line-height:1.3; overflow-wrap:anywhere; }
 main .btn, main .btn-sm, main .btn-lg { min-height:44px; padding:10px 12px; font-size:14px; line-height:1.4; white-space:normal; }
 main .order-actionbar .btn { min-height:44px; }
 main :is(.form-control,.form-select), main input:not([type=checkbox]):not([type=radio]):not([type=hidden]), main textarea { min-height:44px; font-size:16px !important; max-width:100%; }
 main :is(input[type=checkbox],input[type=radio]) { width:20px; height:20px; flex-shrink:0; accent-color:#2864d7; }
 main .form-check { min-height:44px; display:flex; gap:8px; align-items:center; padding:0; }
 main .form-check .form-check-input { margin:0; float:none; } main .form-check-label { flex:1; padding-block:8px; }
 main :is(summary,.instructor-section-heading > a:not(.btn)) { min-height:44px; padding-block:10px; }
 main .btn-group { flex-wrap:wrap; gap:4px; } main .btn-group > .btn { border-radius:8px !important; margin:0 !important; }
 main .workspace-order-tabs { width:100%; gap:6px !important; } main .workspace-order-tabs .btn { flex:1 0 auto; }
 main .card-header { padding:12px; flex-wrap:wrap; gap:8px; } main .card-body { padding:12px; } main .card-body.p-0 { padding:0; }
 main .text-warning { color:#805008 !important; } main .btn-outline-warning { color:#805008; border-color:#c89b45; }
 main .btn-dark { color:#fff; background:#2864d7; border-color:#2864d7; }
 main code { color:#233c60; background:#eef3f9; border-radius:4px; padding:2px 4px; }
 main .btn-outline-warning:hover { background:#fff1d8; color:#694008; }
 main .btn-outline-success { color:#19604d; border-color:#4e947c; } main .btn-outline-danger { color:#a82b39; border-color:#d88a93; }
 main .alert { line-height:1.6; overflow-wrap:anywhere; } main .badge, main .status-badge { white-space:normal; line-height:1.4; }
 main .instructor-section-heading { flex-wrap:wrap; align-items:center; gap:8px; }
 main .instructor-order-filters { flex-wrap:wrap; } main .instructor-order-filters a { display:flex; align-items:center; justify-content:center; flex:1 0 auto; }
 main .instructor-order-card-meta { flex-wrap:wrap; row-gap:6px; }
 main .instructor-order-card-name, main .instructor-weapon-line strong { overflow-wrap:anywhere; }
 main .order-back-link { display:inline-flex; align-items:center; min-height:44px; margin-bottom:8px; font-weight:600; text-decoration:none; }
 main .order-submit-actions { flex-wrap:wrap; } main .order-submit-actions > .btn-primary { flex:1 1 180px; } main .order-submit-actions > .btn-outline-secondary { flex:0 1 auto; }
 main .modal-dialog { margin:10px; max-width:calc(100% - 20px); } main .modal-content { max-height:calc(100dvh - 20px); }
 main .modal-header, main .modal-footer { flex-shrink:0; padding:12px; flex-wrap:wrap; gap:8px; }
 main .modal-header { flex-wrap:nowrap; align-items:flex-start; }
 main .modal-title { min-width:0; overflow-wrap:anywhere; font-size:18px; }
 main .weapon-picker-item { width:100%; min-height:48px; min-width:0; flex-wrap:wrap; gap:8px; text-align:right; overflow-wrap:anywhere; }
 main .weapon-picker-item .weapon-number { white-space:normal; overflow-wrap:anywhere; max-width:100%; }
 main .order-detail-screen .mobile-readable-table td { background:transparent !important; }
 main .modal-body { overflow-y:auto; overscroll-behavior:contain; padding:12px; } main .modal-footer .btn { flex:1 1 120px; margin:0; }
 main .modal .btn-close { box-sizing:content-box; width:24px; height:24px; padding:10px; }
 main .mobile-card-table { display:block; width:100%; margin:0; } main .mobile-card-table > thead { display:none; } main .mobile-card-table > tbody { display:block; }
 main .mobile-card-table > tbody > tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:14px; margin:0 0 10px; border:1px solid #dce5f0; border-radius:10px; background:#fff; }
 main .mobile-card-table > tbody > tr > td { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:0 !important; border:0; box-shadow:none; text-align:right !important; font-size:15px; overflow-wrap:anywhere; white-space:normal !important; }
 main .mobile-card-table > tbody > tr > td { background:transparent !important; }
 main .mobile-card-table > tbody > tr.table-warning { background:#fff8e8; border-color:#e9c98f; }
 main .mobile-card-table > tbody > tr > td[data-label]::before { content:attr(data-label); color:#52657f; font-size:12px; font-weight:600; margin-bottom:4px; }
 main .mobile-card-table > tbody > tr > td:first-child { grid-column:1 / -1; font-weight:650; }
 main .mobile-card-table > tbody > tr > td.mobile-wide { grid-column:1 / -1; }
 main .mobile-card-table > tbody > tr > td.mobile-actions { grid-column:1 / -1; flex-direction:row; flex-wrap:wrap; gap:8px; border-top:1px solid #e6ecf3; padding-top:10px !important; }
 main .mobile-card-table > tbody > tr > td.mobile-actions::before { display:none; } main .mobile-card-table .mobile-actions .btn { flex:1 1 100px; margin:0 !important; }
 main .mobile-card-table > tbody > tr > td[colspan] { grid-column:1 / -1; } main .mobile-card-table > tbody > tr > td[colspan]::before { display:none; }
 main .table-responsive:has(> .mobile-card-table) { border:0; border-radius:0; background:transparent; overflow:visible; }
 main .mobile-report-table { width:max-content; min-width:100%; max-width:none; table-layout:auto; }
 main .mobile-report-table :is(td,th), main .mobile-report-table .badge { white-space:nowrap; word-break:normal; overflow-wrap:normal; }
 main .mobile-report-table :is(td,th) { padding:10px 14px; }
 main .mobile-report-hint { display:block; color:#52657f; font-size:13px; margin:8px 0; }
 main .table-responsive:has(> .mobile-report-table) { overflow-x:auto; overscroll-behavior-x:contain; border-color:#c5d3e6; }
 main .inventory-mobile-table > tbody > tr { grid-template-areas:"number status" "model model" "type caliber" "assignment assignment" "actions actions"; gap:10px 14px; align-items:start; }
 main .inventory-mobile-table > tbody > tr > td[data-label="מספר כלי"] { grid-area:number; grid-column:auto; }
 main .inventory-mobile-table > tbody > tr > td[data-label="סטטוס"] { grid-area:status; justify-self:end; }
 main .inventory-mobile-table > tbody > tr > td[data-label="יצרן / דגם"] { grid-area:model; flex-direction:row; flex-wrap:wrap; align-items:baseline; gap:6px; }
 main .inventory-mobile-table > tbody > tr > td[data-label="יצרן / דגם"]::before { margin:0; }
 main .inventory-mobile-table > tbody > tr > td[data-label="סוג"] { grid-area:type; }
 main .inventory-mobile-table > tbody > tr > td[data-label="קליבר"] { grid-area:caliber; }
 main .inventory-mobile-table > tbody > tr > td[data-label="שיוך נוכחי"] { grid-area:assignment; }
 main .inventory-mobile-table > tbody > tr > td.inventory-assignment-empty { display:none; }
 main .inventory-mobile-table > tbody > tr > td.mobile-actions { grid-area:actions; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 main .inventory-mobile-table .mobile-actions .btn { min-width:0; width:100%; }
 main .inventory-mobile-table code, main .inventory-mobile-table .status-badge { white-space:nowrap; word-break:normal; overflow-wrap:normal; }
}
button.weapon-picker-item { background:#fff; color:inherit; font:inherit; border:0; border-bottom:1px solid #e2e8f0; }
@media(min-width:768px) { .mobile-report-hint { display:none; } }
@media(max-width:767.98px) {
 main .ammo-report-heading { flex-wrap:wrap; gap:12px; }
 main .table-responsive:has(> .ammo-phone-table) { overflow:visible; border:0; background:transparent; }
 main :is(.ammo-phone-table,.ammo-edit-table) { display:block; width:100%; min-width:0; max-width:100%; table-layout:auto; }
 main :is(.ammo-phone-table,.ammo-edit-table) > thead { display:none; }
 main :is(.ammo-phone-table,.ammo-edit-table) > :is(tbody,tfoot) { display:grid; gap:12px; width:100%; }
 main .ammo-phone-table > tfoot { margin-top:12px; }
 main :is(.ammo-phone-table,.ammo-edit-table) > :is(tbody,tfoot) > tr { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; padding:14px; border:1px solid #d8e1ec; border-radius:14px; background:#fff; }
 main :is(.ammo-phone-table,.ammo-edit-table) > :is(tbody,tfoot) > tr > td { display:flex; flex-direction:column; align-items:flex-start; grid-column:span 3; min-width:0; max-width:100%; padding:0 !important; border:0; background:transparent !important; box-shadow:none; text-align:start !important; white-space:normal !important; word-break:normal; overflow-wrap:anywhere; font-size:15px; line-height:1.5; }
 main :is(.ammo-phone-table,.ammo-edit-table) td[data-label]::before { content:attr(data-label); display:block; color:#52657f; font-size:12px; font-weight:600; margin-bottom:4px; direction:rtl; }
 main .ammo-phone-table td:is([data-label="שם פעילות / קורס"],[data-label="קורס"],[data-label="יתרות לפי קליבר"],[data-label="הזמנות משויכות"],[data-label="פעולות"]) { grid-column:1 / -1; }
 main .ammo-phone-table td:is([data-label="נלקחה"],[data-label="הוחזרה"],[data-label="נצרכה"]) { grid-column:span 2; padding-top:10px !important; border-top:1px solid #e6ecf3; font-size:17px; font-weight:650; }
 main .ammo-phone-table td[data-label="פעולות"]:not(:has(button)) { display:none; }
 main .ammo-phone-table td[data-label="פעולות"] .btn { width:100%; }
 main .ammo-phone-table > tfoot > tr { background:#edf3fb; }
 main .ammo-phone-table > tfoot td[colspan] { grid-column:1 / -1; font-weight:650; }
 main .ammo-phone-table > tfoot td:empty { display:none; }
 main .ammo-phone-table .badge { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
 main .ammo-phone-table td[data-label="יתרות לפי קליבר"] > div { max-width:100%; }
 main .ammo-edit-table td[data-label="קליבר"] { grid-column:1 / -1; }
 main .ammo-edit-table td[data-label="פעולות"] { grid-column:1 / -1; }
 main .ammo-edit-table td[data-label="פעולות"]:not(:has(button)) { display:none; }
 main .ammo-edit-table :is(input,select) { min-width:0; width:100%; }
 /* Explicit rows keep related fields together; table source order is retained on desktop. */
 main .ammo-activity-table > tbody > tr {
  grid-template-areas:"activity activity source" "date date number" "framework framework caliber" "instructor instructor instructor" "taken consumed returned" "actions actions actions";
  grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 12px;
 }
 main .ammo-activity-table > tbody > tr > td[data-label="שם פעילות / קורס"] { grid-area:activity; font-size:17px; font-weight:650; }
 main .ammo-activity-table > tbody > tr > td[data-label="מקור"] { grid-area:source; align-items:flex-end; }
 main .ammo-activity-table > tbody > tr > td[data-label="תאריך"] { grid-area:date; }
 main .ammo-activity-table > tbody > tr > td[data-label="מספר פעילות"] { grid-area:number; direction:rtl; }
 main .ammo-activity-table > tbody > tr > td[data-label="מסגרת"] { grid-area:framework; }
 main .ammo-activity-table > tbody > tr > td[data-label="קליבר"] { grid-area:caliber; }
 main .ammo-activity-table > tbody > tr > td[data-label="מדריך"] { grid-area:instructor; flex-direction:row; flex-wrap:wrap; align-items:baseline; gap:6px; padding-block:8px !important; border-top:1px solid #e6ecf3; }
 main .ammo-activity-table > tbody > tr > td[data-label="נלקחה"] { grid-area:taken; }
 main .ammo-activity-table > tbody > tr > td[data-label="נצרכה"] { grid-area:consumed; }
 main .ammo-activity-table > tbody > tr > td[data-label="הוחזרה"] { grid-area:returned; }
 main .ammo-activity-table > tbody > tr > td[data-label="פעולות"] { grid-area:actions; }
 main .ammo-phone-table > :is(tbody,tfoot) > tr > td:is([data-label="נלקחה"],[data-label="הוחזרה"],[data-label="נצרכה"]) { grid-column:span 2; padding-top:10px !important; border-top:1px solid #e6ecf3; font-size:18px; font-weight:650; }
 main .ammo-activity-table > tbody > tr > td[data-label="נלקחה"] { grid-column:1; grid-row:5; }
 main .ammo-activity-table > tbody > tr > td[data-label="נצרכה"] { grid-column:2; grid-row:5; }
 main .ammo-activity-table > tbody > tr > td[data-label="הוחזרה"] { grid-column:3; grid-row:5; }
 main .ammo-quota-table > tbody > tr {
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-areas:"course number" "opened framework" "orders orders" "balances balances" "consumed status";
  gap:10px 12px;
 }
 main .ammo-quota-table > tbody > tr > td[data-label="קורס"] { grid-area:course; font-size:17px; font-weight:650; }
 main .ammo-quota-table > tbody > tr > td[data-label="מספר קורס"] { grid-area:number; direction:rtl; align-items:flex-end; }
 main .ammo-quota-table > tbody > tr > td[data-label="תאריך פתיחה"] { grid-area:opened; direction:rtl; }
 main .ammo-quota-table > tbody > tr > td[data-label="מסגרת"] { grid-area:framework; }
 main .ammo-quota-table > tbody > tr > td[data-label="הזמנות משויכות"] { grid-area:orders; flex-direction:row; flex-wrap:wrap; align-items:baseline; gap:6px; }
 main .ammo-quota-table > tbody > tr > td[data-label="הזמנות משויכות"]::before { margin:0; }
 main .ammo-quota-table > tbody > tr > td[data-label="יתרות לפי קליבר"] { grid-area:balances; padding-block:10px !important; border-block:1px solid #e6ecf3; gap:6px; }
 main .ammo-quota-table > tbody > tr > td[data-label="יתרות לפי קליבר"] > div { width:100%; text-align:right; }
 main .ammo-quota-table > tbody > tr > td[data-label="נצרכה (נטו)"] { grid-area:consumed; font-size:18px; }
 main .ammo-quota-table > tbody > tr > td[data-label="סטטוס"] { grid-area:status; align-items:flex-end; }
 main .ammo-activity-table > tfoot > tr { grid-template-columns:repeat(3,minmax(0,1fr)); }
 main .ammo-activity-table > tfoot > tr > td[data-label="נלקחה"] { grid-column:1; grid-row:3; }
 main .ammo-activity-table > tfoot > tr > td[data-label="נצרכה"] { grid-column:2; grid-row:3; }
 main .ammo-activity-table > tfoot > tr > td[data-label="הוחזרה"] { grid-column:3; grid-row:3; }
 main .ammo-activity-table > tfoot > tr > td:not([colspan]):not([data-label]):not(:empty) { grid-column:1 / -1; }
 main .ammo-edit-table > tbody > tr > td[data-label="קליבר"], main .ammo-edit-table > tbody > tr > td[data-label="פעולות"] { grid-column:1 / -1; }
 main .mobile-card-table .mobile-actions > .d-flex { flex-wrap:wrap; width:100%; }
 main .mobile-card-table > tbody > tr > td:is([data-label="הערות"],[data-label="תיאור תקלה"]) { grid-column:1 / -1; }
 main .mobile-card-table :is(input,select) { min-width:0; width:100%; }
 main .mobile-card-table :is(.badge,.status-badge,code) { max-width:100%; white-space:normal; word-break:normal; overflow-wrap:normal; }
 main .orders-list-table > tbody > tr {
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-areas:"number status" "framework framework" "instructor instructor" "pickup updated" "items progress" "actions actions";
  gap:10px 14px;
 }
 main .orders-list-table > tbody > tr > td[data-label="מספר הזמנה"] { grid-area:number; font-weight:650; }
 main .orders-list-table > tbody > tr > td[data-label="סטטוס"] { grid-area:status; justify-self:end; }
 main .orders-list-table > tbody > tr > td[data-label="מסגרת אימון"] { grid-area:framework; }
 main .orders-list-table > tbody > tr > td[data-label="מדריך"] { grid-area:instructor; flex-direction:row; flex-wrap:wrap; align-items:baseline; gap:6px; padding-block:8px !important; border-block:1px solid #e6ecf3; }
 main .orders-list-table > tbody > tr > td[data-label="תאריך איסוף מבוקש"] { grid-area:pickup; }
 main .orders-list-table > tbody > tr > td[data-label="עודכן"] { grid-area:updated; }
 main .orders-list-table > tbody > tr > td[data-label="פריטים"] { grid-area:items; }
 main .orders-list-table > tbody > tr > td[data-label="התקדמות"] { grid-area:progress; }
 main .orders-list-table > tbody > tr > td[data-label="פעולות"] { grid-area:actions; }
 main :is(.orders-list-table,.orders-request-table) .mobile-actions .btn { width:100%; }
 main .orders-request-table > tbody > tr {
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-areas:"number quantity" "activity activity" "instructor instructor" "requester requested" "actions actions";
  gap:10px 14px;
 }
 main .orders-request-table > tbody > tr > td[data-label="#הזמנה"] { grid-area:number; }
 main .orders-request-table > tbody > tr > td[data-label="כמות מבוקשת"] { grid-area:quantity; }
 main .orders-request-table > tbody > tr > td[data-label="פעילות / מסגרת"] { grid-area:activity; }
 main .orders-request-table > tbody > tr > td[data-label="מדריך"] { grid-area:instructor; }
 main .orders-request-table > tbody > tr > td[data-label="הוגש ע\"י"] { grid-area:requester; }
 main .orders-request-table > tbody > tr > td[data-label="זמן הגשה"] { grid-area:requested; }
 main .orders-request-table > tbody > tr > td[data-label="פעולות"] { grid-area:actions; }
}
