/* Navigation is outlined; each page keeps its existing action buttons. */
#jb-page-navigation.jb-page-navigation{display:flex;align-items:stretch;justify-content:flex-start;flex-wrap:wrap;gap:10px;margin:0 0 24px;padding:0;clear:both;box-sizing:border-box}
#jb-page-navigation.jb-page-navigation>a.jb-navigation-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;margin:0!important;padding:10px 17px;border:1px solid #b590a5;border-radius:7px;background:#fff;color:#773151!important;font:600 16px/1.4 Arial,sans-serif;text-decoration:none!important;text-align:center;max-width:100%;white-space:normal;overflow-wrap:anywhere;box-shadow:none}
#jb-page-navigation.jb-page-navigation>a.jb-navigation-button:hover{background:#f6ecf1;border-color:#773151}
#jb-page-navigation.jb-page-navigation>a.jb-nav-home{border-color:#7c7c7c;color:#414141!important}
#jb-page-navigation.jb-page-navigation>a[aria-current="page"]{background:#f0e1e9;border-color:#773151;border-bottom-width:3px}
#jb-page-navigation.jb-page-navigation>a:focus-visible,a.back:focus-visible,a.back-link:focus-visible{outline:3px solid #1b64b0;outline-offset:3px}
#jb-page-navigation.jb-page-navigation>a[hidden]{display:none!important}
body>#jb-page-navigation.jb-page-navigation{max-width:1200px;margin:24px auto;padding:0 20px}
.jb-page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 24px}
a.back,a.back-link{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;padding:10px 17px;border:1px solid #b590a5;border-radius:7px;background:#fff;color:#773151!important;font:600 16px/1.4 Arial,sans-serif;text-decoration:none!important;text-align:center;max-width:100%;white-space:normal}
body>#jb-page-navigation.jb-receipt-navigation,body>.jb-receipt-actions{max-width:100%;box-sizing:border-box;margin:20px auto;padding:0;gap:10px}
body>.jb-receipt-language{max-width:100%;box-sizing:border-box;margin:0 auto 20px}
@media(max-width:480px){#jb-page-navigation.jb-page-navigation{gap:8px}#jb-page-navigation.jb-page-navigation>a.jb-navigation-button{flex:0 1 auto;padding:10px 13px;font-size:15px}}
@media print{#jb-page-navigation,.jb-page-actions,.jb-receipt-language,a.back,a.back-link{display:none!important}}
/* Compact shared controls and list presentation. Screen only: print is unchanged. */
@media print {
    .jb-list-label-short,.jb-card-caption,.jb-phone-order-sort { display:none!important; }
    .jb-bottom-numbers { display:contents; }
    .jb-bottom-numbers > summary { display:none; }
}
@media screen {
    body:not(:has(.invoice)) .jb-language-bar { gap:6px 10px; padding-top:6px; padding-bottom:6px; }
    body:not(:has(.invoice)) .jb-language-bar .jbs-header-search { margin-top:0; gap:6px; }
    body.jb-compact-list:not(:has(.invoice)) .container { margin-top:12px; }
    body.jb-compact-list:not(:has(.invoice)) #jb-list-actions {
        display:flex; flex-wrap:wrap; align-items:stretch; gap:8px; margin:0 0 10px;
    }
    body.jb-compact-list:not(:has(.invoice)) #jb-list-actions > a {
        display:inline-flex; align-items:center; justify-content:center; min-height:44px;
        margin:0; padding:9px 14px; border-radius:7px; box-sizing:border-box;
        font-size:16px; line-height:1.35; text-decoration:none;
    }
    body.jb-compact-list #jb-list-actions > .jb-list-dashboard { background:#fff; color:#444; border:1px solid #888; }
    body.jb-compact-list #jb-list-actions.jb-inventory-actions { flex-wrap:nowrap; }
    body.jb-compact-list .jb-list-label-short, .jb-card-caption, .jb-phone-order-sort { display:none; }
    body.jb-compact-list .jb-compact-pager { margin-bottom:8px; padding:6px 8px; gap:6px 10px; }
    body.jb-compact-list .jb-bottom-numbers { display:contents; }
    body.jb-compact-list .jb-bottom-numbers > summary { display:none; }
    body.jb-compact-list .jb-bottom-page-links { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
    body.jb-compact-list .jb-compact-bottom :is(.jb-bottom-summary,.jb-bottom-summary span,label span,.jb-bottom-page-links > a span,.jb-bottom-page-links > span span) { padding:0; margin:0; }
    body.jb-compact-list .jb-bottom-page-links > :is(a,span) { display:inline-flex; align-items:center; box-sizing:border-box; min-height:44px; padding:8px 12px; }
}
@media screen and (max-width:600px) {
    /* Equal touch targets, readable input text, account controls together. */
    body:not(:has(.invoice)) .jb-language-bar { padding:6px 10px; gap:6px; }
    body:not(:has(.invoice)) .jb-language-bar > label[for="jb-language"] {
        position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
        clip:rect(0,0,0,0); white-space:nowrap; border:0;
    }
    body:not(:has(.invoice)) .jb-language-bar #jb-language { flex:0 0 auto; width:auto; min-width:126px; height:44px; }
    body:not(:has(.invoice)) .jb-language-bar .jb-signout-button { height:44px; padding:8px 12px; }
    body:not(:has(.invoice)) .jb-language-bar .jbs-header-search {
        display:flex; flex-wrap:nowrap; gap:4px; flex-basis:100%; width:100%; min-width:0;
    }
    body:not(:has(.invoice)) .jb-language-bar .jbs-header-search #jbs-global-query {
        order:1; flex:1 1 0; width:0; min-width:60px; height:44px; padding:8px;
    }
    body:not(:has(.invoice)) .jb-language-bar .jbs-header-search #jbs-search-scope {
        order:0; flex:0 0 78px; width:78px; min-width:0; height:44px; padding:6px 2px;
    }
    body:not(:has(.invoice)) .jb-language-bar .jbs-header-search > button {
        flex:0 0 44px; width:44px; min-width:44px; height:44px; padding:6px; font-size:16px;
    }
    body:not(:has(.invoice)) .jb-language-bar .jbs-header-search > button[type="submit"] { order:2; }
    body:not(:has(.invoice)) .jb-language-bar .jbs-header-search > .jbs-search-clear { order:3; margin:0; }
    body.jb-compact-list:not(:has(.invoice)) .header { padding:10px; }
    body.jb-compact-list:not(:has(.invoice)) .header h1 { font-size:23px; }
    body.jb-compact-list:not(:has(.invoice)) .container { width:auto; margin:10px 10px 20px; padding:0; }
    body.jb-compact-list:not(:has(.invoice)) #jb-list-actions.jb-order-actions {
        display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); grid-auto-rows:1fr; gap:6px;
    }
    body.jb-compact-list:not(:has(.invoice)) #jb-list-actions.jb-order-actions > a { grid-column:span 2; }
    body.jb-compact-list:not(:has(.invoice)) #jb-list-actions.jb-order-actions > a:nth-child(n+4) { grid-column:span 3; }
    body.jb-compact-list:not(:has(.invoice)) #jb-list-actions.jb-order-actions > a:only-child { grid-column:1/-1; }
    body.jb-compact-list:not(:has(.invoice)) #jb-list-actions > a {
        min-width:0; padding:8px 5px; min-height:44px; font-size:15px; overflow-wrap:anywhere;
    }
    body.jb-compact-list:not(:has(.invoice)) #jb-list-actions.jb-inventory-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
    body.jb-compact-list .jb-list-label-full {
        position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important;
        overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important;
    }
    body.jb-compact-list .jb-list-label-short { display:inline; }
    body.jb-compact-list:not(:has(.invoice)) .jb-compact-pager {
        display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 6px; padding:6px; font-size:15px;
    }
    body.jb-compact-list .jb-compact-pager :is(.jb-orders-summary,.jb-list-summary) { margin:0; min-width:0; font-size:14px; }
    body.jb-compact-list .jb-compact-pager :is(.jb-orders-rows,.jb-list-rows) { flex-wrap:nowrap; gap:4px; font-size:14px; }
    body.jb-compact-list .jb-compact-pager :is(.jb-orders-rows,.jb-list-rows) select { width:65px; padding:6px; }
    body.jb-compact-list .jb-compact-pager :is(.jb-orders-page-controls,.jb-list-page-controls) {
        grid-column:1/-1; display:flex; flex-wrap:nowrap; gap:4px; width:100%; justify-content:space-between;
    }
    body.jb-compact-list .jb-compact-pager :is(.jb-orders-page-jump,.jb-list-page-jump) {
        flex:1 1 auto; min-width:0; flex-wrap:nowrap; justify-content:center; gap:4px;
    }
    body.jb-compact-list .jb-compact-pager :is(.jb-orders-page-jump,.jb-list-page-jump) > label {
        position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0);
    }
    body.jb-compact-list .jb-compact-pager :is(.jb-orders-page-button,.jb-list-page-button) {
        flex:0 0 44px; width:44px; height:44px; padding:6px; font-size:22px; line-height:1;
    }
    body.jb-compact-list .jb-compact-pager :is(.jb-orders-page-jump,.jb-list-page-jump) button { min-width:44px; padding:6px; }
    body.jb-compact-list :is(#jb-orders-pager,#jb-list-pager) input[type="number"] { width:56px; padding:6px; }
    body.jb-compact-list:not(:has(.invoice)) .jb-compact-bottom {
        display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 6px; padding:6px; font-size:15px;
    }
    body.jb-compact-list .jb-compact-bottom > form { display:flex; align-items:center; gap:4px; margin:0; }
    body.jb-compact-list .jb-compact-bottom > form select { width:65px; padding:6px; }
    body.jb-compact-list .jb-compact-bottom .jb-bottom-summary { font-size:14px; margin:0; padding:0; }
    body.jb-compact-list .jb-compact-bottom :is(.jb-list-label-short,[data-jb-compact-label]) { padding:0; display:inline; }
    body.jb-compact-list .jb-bottom-numbers { grid-column:1/-1; display:block; text-align:left; }
    body.jb-compact-list .jb-bottom-numbers > summary {
        display:list-item; list-style-position:inside; min-height:44px; box-sizing:border-box; padding:10px; cursor:pointer;
        border:1px solid #d7c4cf; border-radius:6px; background:#fff; font-size:15px;
    }
    body.jb-compact-list .jb-bottom-page-links { padding-top:6px; }
    body.jb-compact-list .jb-phone-order-sort { display:block; margin:0 0 8px; background:#fff; border:1px solid #e2cbd5; border-radius:7px; }
    body.jb-compact-list .jb-phone-order-sort > summary { min-height:44px; padding:10px; box-sizing:border-box; cursor:pointer; }
    body.jb-compact-list .jb-phone-order-sort nav { display:flex; flex-wrap:wrap; gap:6px; padding:0 10px 10px; }
    body.jb-compact-list .jb-phone-order-sort a { display:inline-flex; align-items:center; min-height:44px; padding:0 8px; color:#84355f; }
    body.jb-orders-layout:not(:has(.invoice)) .table-wrapper { overflow:visible; }
    body.jb-orders-layout:not(:has(.invoice)) .table-wrapper > table.jb-order-cards {
        display:block; width:100%; min-width:0; margin:0; border:0; background:transparent; box-shadow:none; white-space:normal;
    }
    body.jb-orders-layout .jb-order-cards > thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
    body.jb-orders-layout .jb-order-cards > tbody { display:grid; gap:10px; }
    body.jb-orders-layout .jb-order-cards > tbody > tr {
        display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6px 10px; padding:12px;
        background:#fff; border:1px solid #e2cbd5; border-radius:9px; box-shadow:0 1px 4px #0000000a;
    }
    body.jb-orders-layout:not(:has(.invoice)) .jb-order-cards > tbody > tr > td {
        display:block; min-width:0; width:auto; padding:0; border:0; text-align:left; white-space:normal; overflow-wrap:anywhere;
    }
    body.jb-orders-layout .jb-order-cards .jb-order-number { grid-column:1; grid-row:1; font-weight:700; }
    body.jb-orders-layout:not(:has(.invoice)) .jb-order-cards .jb-order-date { grid-column:2; grid-row:1; text-align:right; font-size:14px; color:#59525c; }
    body.jb-orders-layout .jb-order-cards .jb-order-customer { grid-column:1/-1; grid-row:2; font-weight:600; }
    body.jb-orders-layout .jb-order-cards .jb-order-city { grid-column:1/-1; grid-row:3; color:#59525c; }
    body.jb-orders-layout .jb-order-cards .jb-order-status { grid-column:1; grid-row:4; }
    body.jb-orders-layout:not(:has(.invoice)) .jb-order-cards .jb-order-total { grid-column:2; grid-row:4; text-align:right; font-weight:600; }
    body.jb-orders-layout .jb-order-cards .jb-order-returns { grid-column:1; grid-row:5; }
    body.jb-orders-layout .jb-order-cards .jb-order-view { grid-column:2; grid-row:5; align-self:end; }
    body.jb-orders-layout:not(:has(.invoice)) .jb-order-cards :is(.jb-order-creator,.jb-order-payment,.jb-no-return-link) { display:none; }
    body.jb-orders-layout .jb-card-caption { display:block; margin-bottom:2px; color:#655b65; font-size:14px; font-weight:400; }
    body.jb-orders-layout .jb-order-cards .status { max-width:100%; box-sizing:border-box; white-space:normal; }
    body.jb-orders-layout .jb-order-cards .jb-order-view a {
        display:flex; align-items:center; justify-content:center; min-height:44px; padding:4px 8px;
        background:#883d67; color:#fff; border-radius:6px; box-sizing:border-box; font-weight:600; text-decoration:none;
    }
    body.jb-orders-layout .jb-order-cards .return-history-link { display:inline-flex; align-items:center; min-height:44px; }
    body.jb-orders-layout .jb-order-cards .jb-order-empty > td { grid-column:1/-1; }
}

/* One phone-only header row. Tablet, desktop and print keep their existing layout. */
.jb-phone-signout-icon { display:none; }
@media screen and (max-width:600px) {
    body:not(:has(.invoice)) .jb-language-bar.jb-phone-header {
        flex-wrap:nowrap; justify-content:space-between; gap:4px; padding:4px 6px;
    }
    body:not(:has(.invoice)) .jb-phone-header #jb-language {
        order:0; flex:0 0 54px; width:54px; min-width:0; height:36px; min-height:36px;
        padding:2px; font-size:16px;
    }
    body:not(:has(.invoice)) .jb-phone-header .jb-signout-form { order:2; flex:0 0 36px; }
    body:not(:has(.invoice)) .jb-phone-header .jb-signout-button {
        width:36px; min-width:36px; height:36px; min-height:36px; padding:6px;
    }
    body:not(:has(.invoice)) .jb-phone-header .jb-signout-button > [data-jb-en] {
        position:absolute; width:1px; height:1px; padding:0; margin:-1px;
        overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
    }
    .jb-phone-header .jb-phone-signout-icon { display:inline-flex; width:20px; height:20px; }
    .jb-phone-header .jb-phone-signout-icon svg { display:block; width:20px; height:20px; }
    body:not(:has(.invoice)) .jb-phone-header .jbs-header-search {
        order:1; flex:1 1 0; width:0; min-width:0; max-width:none;
        flex-wrap:nowrap; gap:3px; margin:0;
    }
    body:not(:has(.invoice)) .jb-phone-header .jbs-header-search #jbs-global-query {
        flex:1 1 0; width:0; min-width:0; height:36px; min-height:36px;
        padding:5px 4px; font-size:16px; line-height:1.25;
    }
    body:not(:has(.invoice)) .jb-phone-header .jbs-header-search #jbs-search-scope {
        flex:0 0 58px; width:58px; min-width:0; height:36px; min-height:36px;
        padding:2px 0; font-size:13px;
    }
    body:not(:has(.invoice)) .jb-phone-header .jbs-header-search > button {
        flex:0 0 30px; width:30px; min-width:30px; height:36px; min-height:36px;
        padding:3px 1px; font-size:14px;
    }
    body:not(:has(.invoice)) .jb-phone-header .jbs-header-search > .jbs-search-clear {
        flex-basis:26px; width:26px; min-width:26px; font-size:20px;
    }
}

/* Packing-friendly Order Details on phones. Existing tablet/desktop/print stay intact. */
.jb-packing-jumps,.jb-packing-caption { display:none; }
@media screen and (max-width:600px) {
    body.jb-packing-view { padding-bottom:calc(70px + env(safe-area-inset-bottom, 0px)); }
    body.jb-packing-view:not(:has(.invoice)) .header { padding:10px; }
    body.jb-packing-view:not(:has(.invoice)) .header h1 { font-size:23px; }
    body.jb-packing-view:not(:has(.invoice)) .container { margin-top:10px!important; }
    body.jb-packing-view .jb-packing-jumps {
        display:flex; position:fixed; bottom:0; left:0; right:0; z-index:10; gap:4px; margin:0;
        padding:5px 10px calc(5px + env(safe-area-inset-bottom, 0px)); background:#f5f5f5;
        border-top:1px solid #e2cbd5; box-shadow:0 -2px 6px #00000010;
    }
    body.jb-packing-view .jb-packing-jumps a {
        display:flex; flex:1 1 0; align-items:center; justify-content:center; min-width:0;
        min-height:44px; padding:6px 3px; border:1px solid #b590a5; border-radius:6px;
        background:white; color:#773151; font-size:14px; line-height:1.3; font-weight:600;
        text-align:center; text-decoration:none; overflow-wrap:anywhere;
    }
    body.jb-packing-view :is(#jb-packing-products,#jb-packing-customer,#order-packages,#shipment-history,tr[id^="shipment-"]) { scroll-margin-top:12px; }
    body.jb-packing-view:not(:has(.invoice)) .section { margin-bottom:12px; padding:12px!important; min-width:0; }
    body.jb-packing-view .summary-grid { gap:12px; }
    body.jb-packing-view .summary-grid p { margin:6px 0; overflow-wrap:anywhere; }
    body.jb-packing-view .jb-packing-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
    body.jb-packing-view .jb-packing-actions > :is(a,form,span) { min-width:0; margin:0; }
    body.jb-packing-view .jb-packing-actions > .section { grid-column:1/-1; }
    body.jb-packing-view .jb-packing-actions .button { width:100%; height:100%; min-height:44px; padding:8px 6px; font-size:15px; overflow-wrap:anywhere; }
    body.jb-packing-view:not(:has(.invoice)) :is(.jb-packing-items,.jb-packing-shipments) {
        display:block; width:100%; min-width:0; overflow:visible; white-space:normal; border:0;
    }
    body.jb-packing-view :is(.jb-packing-items,.jb-packing-shipments) > thead {
        position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
        clip:rect(0,0,0,0); white-space:nowrap; border:0;
    }
    body.jb-packing-view :is(.jb-packing-items,.jb-packing-shipments) > tbody { display:grid; gap:10px; }
    body.jb-packing-view :is(.jb-packing-items,.jb-packing-shipments) > tbody > tr {
        display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:12px;
        background:#fff!important; border:1px solid #e2cbd5; border-radius:8px; min-width:0;
    }
    body.jb-packing-view:not(:has(.invoice)) :is(.jb-packing-items,.jb-packing-shipments) > tbody > tr > td {
        display:block; width:auto; min-width:0; border:0; padding:0; text-align:left;
        white-space:normal; overflow-wrap:anywhere; font-size:16px;
    }
    body.jb-packing-view .jb-packing-caption { display:block; color:#615860; font-size:13px; line-height:1.3; margin:0 0 3px; font-weight:400; }
    body.jb-packing-view .jb-packing-items :is(.jb-packing-cell-0,.jb-packing-cell-1,.jb-packing-cell-2) { grid-column:1/-1; }
    body.jb-packing-view .jb-packing-items .jb-packing-cell-0 { font-weight:700; font-size:18px!important; }
    body.jb-packing-view .jb-packing-items :is(.jb-packing-cell-3,.jb-packing-cell-4,.jb-packing-cell-5,.jb-packing-cell-6) {
        background:#f8f3f6; border-radius:5px; padding:7px!important; font-size:20px!important; font-weight:600;
    }
    body.jb-packing-view .jb-packing-items .jb-packing-cell-6 small { font-size:13px; }
    body.jb-packing-view :is(.jb-packing-items,.jb-packing-shipments) > tbody > [data-jb-packing-row="note"] { display:block; background:#faf6f8!important; }
    body.jb-packing-view .jb-packing-items > tbody > [data-jb-packing-row="total"] { grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:6px 0; border:0; border-radius:0; }
    body.jb-packing-view [data-jb-packing-row="total"] td:last-child { text-align:right!important; }
    body.jb-packing-view .jb-packing-shipments .jb-packing-cell-0 { font-weight:700; }
    body.jb-packing-view .jb-packing-shipments :is(.jb-packing-cell-3,.jb-packing-cell-7) { grid-column:1/-1; }
    body.jb-packing-view .jb-packing-shipments .shipment-print-actions { display:flex; flex-direction:column; gap:6px; }
    body.jb-packing-view .jb-packing-shipments .shipment-print-actions .button { min-height:44px; padding:8px; margin:0; }
    body.jb-packing-view .jbop-grid { gap:10px; margin-top:10px; }
    body.jb-packing-view .jbop-card { padding:12px; }
    body.jb-packing-view .jbop-tracking { padding:10px; overflow-wrap:anywhere; }
    body.jb-packing-view .jbop-panel .jbop-details { display:inline-flex; align-items:center; min-height:44px; }
    body.jb-packing-view .jbop-intro { font-size:14px; line-height:1.4; }
    body.jb-packing-view #order-notes :is(summary.button,form > button.button) { margin-right:0; }
}
