/* Login has its own layout; no application navigation is rendered here. */
.login-shell { min-height:100vh; min-height:100dvh; display:flex; align-items:center; justify-content:center; padding:16px; }
.login-shell .login-screen { width:100%; margin:0; }
.login-shell .login-column { padding:0; }
.login-shell .brand-logo-login { width:160px; margin:0 auto 16px; }
.login-shell .login-logo-area { margin:0; }
.login-shell .card-body { padding:24px !important; }
.login-shell .form-control { min-height:44px; font-size:16px; }
.login-shell .btn { min-height:44px; }
.login-shell .form-check-input { width:20px; height:20px; }
.new-order-screen .order-weapons { border:1px solid #e1e7f0; border-radius:10px; background:#fff; margin:0 0 12px; }
.new-order-screen .order-weapons > summary { cursor:pointer; padding:12px; font-weight:600; }
.new-order-screen .order-weapons > .card { border:0; box-shadow:none; margin-bottom:0 !important; }
.new-order-screen .order-weapons > .quick-add-row { margin:0; border:0; }
.order-options > summary { cursor:pointer; min-height:44px; padding:8px 0; font-weight:600; }
.order-actionbar, .new-order-actionbar { position:sticky; top:56px; z-index:20; background:#f4f6fa; border-bottom:1px solid #e1e7f0; padding:8px 0; margin-bottom:12px; display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; }
.order-actionbar h3, .new-order-actionbar h3 { margin:0 !important; }
.new-order-actionbar .order-submit-actions { margin:0 !important; }
.order-actionbar > .alert { width:100%; }
.order-detail-screen > .card { margin-bottom:12px !important; }
.order-detail-screen .stat-card { padding:10px; }
@media(min-width:1100px) {
    .order-detail-screen .ammo-overview-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; }
    .order-detail-screen .ammo-overview-grid .table { max-width:none !important; }
    .order-detail-screen .card-header { padding:10px 14px; }
    .order-detail-screen .card-body { padding:14px; }
    .order-detail-screen .table :is(td,th) { padding:8px 10px; }
}
@media(max-width:640.98px) {
    /* Keep navigation off canvas when closed, including after a stylesheet refresh. */
    .page .sidebar { position:fixed; top:48px; right:0; width:min(280px,100vw); height:calc(100dvh - 48px); overflow-y:auto; z-index:250; transform:translateX(100%); visibility:hidden; }
    .page .sidebar.nav-open { transform:translateX(0); visibility:visible; }
    .page main .top-row { display:none; }
    .mobile-topbar { display:flex; align-items:center; justify-content:space-between; padding:0 12px; height:48px; background:#1e293b; position:sticky; top:0; z-index:300; }
    .mobile-nav-toggle { min-width:44px; min-height:44px; background:transparent; color:#fff; border:1px solid #ffffff55; border-radius:6px; }
    .page main > .content { padding:12px !important; }
    .login-shell { padding:12px; }
    .login-shell .brand-logo-login { width:120px; margin-bottom:12px; }
    .login-shell .card-body { padding:20px !important; }
    .login-shell h4 { margin-bottom:16px !important; font-size:22px; }
    .login-shell .form-label { margin-bottom:4px; }
    .login-shell .mb-3 { margin-bottom:12px !important; }
    .login-shell p { margin:12px 0 0 !important; }
    .new-order-screen h3 { font-size:22px; margin-bottom:12px !important; }
    .new-order-screen > .card { margin-bottom:12px !important; }
    .new-order-screen .card-header { padding:8px 12px; }
    .new-order-screen .card-body { padding:12px; }
    .new-order-screen .row.g-3 { --bs-gutter-y:10px; --bs-gutter-x:10px; }
    .new-order-screen .form-label { margin-bottom:4px; font-size:14px; }
    .new-order-screen :is(input,select) { font-size:16px !important; min-height:44px; }
    .new-order-screen .btn { min-height:44px; }
    .new-order-screen .form-text { font-size:12px; line-height:1.4; margin-top:4px; }
    .new-order-screen .form-control-plaintext { padding:0; }
    .order-actionbar, .new-order-actionbar { top:48px; }
    .new-order-screen .order-submit-actions { padding:0; }
    .new-order-screen .order-submit-actions .btn-primary { flex:1; }
    .order-detail-screen .card-header { flex-wrap:wrap; gap:6px; }
    .order-detail-screen .card-body { padding:12px; }
    .order-detail-screen .table-responsive { overflow:visible; border:0; background:transparent; }
    .order-detail-screen .mobile-readable-table { display:block; width:100%; max-width:none !important; }
    .order-detail-screen .mobile-readable-table thead { display:none; }
    .order-detail-screen .mobile-readable-table tbody { display:block; }
    .order-detail-screen .mobile-readable-table tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; border:1px solid #e1e7f0; border-radius:10px; padding:12px; margin-bottom:10px; background:#fff; }
    .order-detail-screen .mobile-readable-table td { display:flex; flex-direction:column; gap:4px; padding:0 !important; border:0; box-shadow:none; text-align:right !important; font-size:15px !important; word-break:normal; overflow-wrap:normal; min-width:0; }
    .order-detail-screen .mobile-readable-table td:first-child { grid-column:1 / -1; }
    .order-detail-screen .mobile-readable-table td::before { content:attr(data-label); font-size:12px; line-height:1.4; font-weight:600; color:#607086; }
    .order-detail-screen .mobile-readable-table code { white-space:nowrap; display:inline-block; direction:ltr; }
    .order-detail-screen .mobile-readable-table td .btn { min-height:44px; white-space:normal; }
    .order-detail-screen .mobile-readable-table :is(input,select) { max-width:100%; min-height:44px; font-size:16px; }
}
@media(max-width:640.98px) {
    .order-detail-screen .ammo-overview-grid > .mb-3 { margin-bottom:10px !important; }
    .order-detail-screen .ammo-request-table tr { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:10px; margin-bottom:6px; }
    .order-detail-screen .ammo-request-table td:first-child { grid-column:auto; }
    .order-detail-screen .ammo-request-table td[data-label="סטייה"] { grid-column:1 / -1; }
    .order-detail-screen .ammo-balance-table tr { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:10px; margin-bottom:6px; }
    .order-detail-screen .ammo-balance-table td:first-child { flex-direction:row; align-items:center; justify-content:space-between; border-bottom:1px solid #edf0f5; padding-bottom:6px !important; }
    .order-detail-screen .ammo-overview-grid td { font-size:15px !important; gap:2px; font-variant-numeric:tabular-nums; }
    .order-detail-screen .ammo-overview-grid td::before { font-size:12px; font-weight:500; }
    .order-detail-screen .ammo-summary-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 12px; margin:0 0 12px; padding:8px 0; border-top:1px solid #e1e7f0; --bs-gutter-x:0; --bs-gutter-y:0; }
    .order-detail-screen .ammo-summary-row > div { width:auto; padding:0; margin:0; }
    .order-detail-screen .ammo-summary-row .stat-card { display:flex; flex-direction:row-reverse; align-items:center; justify-content:space-between; gap:6px; padding:3px 0; border:0; border-radius:0; background:transparent; box-shadow:none; }
    .order-detail-screen .ammo-summary-row .stat-number { font-size:16px !important; line-height:1.3; margin:0; white-space:nowrap; }
    .order-detail-screen .ammo-summary-row .stat-label { font-size:12px; line-height:1.4; text-align:right; }
}
@media(max-height:600px) and (max-width:640.98px) {
    .login-shell { align-items:flex-start; }
    .login-shell .brand-logo-login { width:80px; margin-bottom:8px; }
    .login-shell .card-body { padding:14px !important; }
}
