:root {
    --navy: #123b5d;
    --navy-dark: #0c2b45;
    --cyan: #00a6d6;
    --magenta: #d72670;
    --yellow: #f2c94c;

    --page-bg: #f4f6f8;
    --card-bg: #ffffff;
    --muted-bg: #eef2f5;
    --border: #d9e0e6;

    --text: #17212b;
    --text-secondary: #5c6773;
    --danger: #b42318;
    --success: #2e7d32;

    --sidebar-width: 250px;
    --radius: 10px;
    --shadow: 0 2px 10px rgba(20, 35, 50, 0.07);
}

* {
    box-sizing: border-box;
}

html,
body {
    min-height: 100%;
}

body {
    margin: 0;
    background: var(--page-bg);
    color: var(--text);
    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}

a {
    color: var(--navy);
}

.posys-layout {
    min-height: 100vh;
}

.posys-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: var(--sidebar-width);
    padding: 22px 16px;
    overflow-y: auto;
    background: var(--navy-dark);
    color: #ffffff;
}

.posys-brand {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 28px;
    padding: 0 8px;
}

.posys-brand-mark {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 10px;
    background: var(--cyan);
    color: #ffffff;
    font-size: 1.1rem;
    font-weight: 800;
}

.posys-brand-title {
    font-size: 1.1rem;
    font-weight: 750;
}

.posys-brand-subtitle {
    color: #b9c7d3;
    font-size: 0.75rem;
}

.posys-nav-section {
    margin-top: 24px;
    padding: 0 10px;
    color: #8fa4b5;
    font-size: 0.7rem;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.posys-nav {
    display: grid;
    gap: 5px;
    margin-top: 8px;
}

.posys-nav a {
    display: block;
    padding: 11px 12px;
    border-radius: 8px;
    color: #dbe6ee;
    text-decoration: none;
}

.posys-nav a:hover,
.posys-nav a.is-active {
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
}

.posys-main {
    min-height: 100vh;
    margin-left: var(--sidebar-width);
}

.posys-topbar {
    display: flex;
    min-height: 68px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 28px;
    border-bottom: 1px solid var(--border);
    background: #ffffff;
}

.posys-user {
    color: var(--text-secondary);
    font-size: 0.9rem;
}

.posys-content {
    width: min(1180px, calc(100% - 40px));
    margin: 28px auto;
}

.posys-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}

.posys-page-header h1 {
    margin: 0;
    font-size: 1.7rem;
}

.posys-page-header p {
    margin: 7px 0 0;
    color: var(--text-secondary);
}

.posys-card {
    padding: 24px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--card-bg);
    box-shadow: var(--shadow);
}

.posys-card + .posys-card {
    margin-top: 18px;
}

.posys-grid {
    display: grid;
    gap: 18px;
}

.posys-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.posys-form-field {
    margin-bottom: 18px;
}

.posys-form-field label {
    display: block;
    margin-bottom: 7px;
    font-weight: 650;
}

input,
select,
textarea {
    width: 100%;
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid #bdc8d1;
    border-radius: 7px;
    background: #ffffff;
    color: var(--text);
    font: inherit;
}

textarea {
    resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--cyan);
    outline: 3px solid rgba(0, 166, 214, 0.15);
}

.posys-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.posys-button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 10px 17px;
    border: 1px solid transparent;
    border-radius: 7px;
    background: var(--navy);
    color: #ffffff;
    font: inherit;
    font-weight: 650;
    text-decoration: none;
    cursor: pointer;
}

.posys-button:hover {
    background: var(--navy-dark);
}

.posys-button-secondary {
    border-color: var(--border);
    background: #ffffff;
    color: var(--text);
}

.posys-message {
    margin-bottom: 18px;
    padding: 13px 15px;
    border-left: 4px solid var(--success);
    border-radius: 6px;
    background: #edf8ef;
}

.errorlist {
    color: var(--danger);
}

.posys-detail-list {
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 13px 20px;
    margin: 0;
}

.posys-detail-list dt {
    color: var(--text-secondary);
    font-weight: 650;
}

.posys-detail-list dd {
    margin: 0;
}

.posys-job-number {
    font-family:
        "SFMono-Regular",
        Consolas,
        "Liberation Mono",
        monospace;
    letter-spacing: 0.02em;
}

.posys-badge {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border-radius: 999px;
    background: var(--muted-bg);
    font-size: 0.78rem;
    font-weight: 700;
}

.status-job-created {
    background: #e6edf2;
    color: #31495c;
}

.status-artwork-preparation {
    background: #def6fb;
    color: #006d88;
}

.status-awaiting-client-artwork-approval {
    background: #fff5cc;
    color: #755800;
}

.status-client-artwork-changes-required {
    background: #ffead1;
    color: #8a4800;
}

.status-artwork-approved-by-client,
.status-completed {
    background: #e4f5e7;
    color: #23672a;
}

.status-ready-for-production,
.status-in-production {
    background: #e3ebff;
    color: #274f9c;
}

.status-quality-check {
    background: #eee7ff;
    color: #6040a5;
}

.status-ready-for-collection,
.status-out-for-delivery {
    background: #daf4ef;
    color: #126c5d;
}

.status-on-hold {
    background: #fff0d7;
    color: #885600;
}

.status-cancelled {
    background: #fde8e7;
    color: #a42820;
}

@media (max-width: 820px) {
    .posys-sidebar {
        position: static;
        width: 100%;
    }

    .posys-main {
        margin-left: 0;
    }

    .posys-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .posys-grid-2 {
        grid-template-columns: 1fr;
    }

    .posys-detail-list {
        grid-template-columns: 1fr;
    }

    .posys-page-header {
        display: block;
    }
}


.posys-action-summary {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 20px;
}

.posys-action-card {
    display: grid;
    gap: 6px;
    min-height: 118px;
    align-content: center;
    padding: 20px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--muted-bg);
    color: var(--text);
    text-align: center;
    text-decoration: none;
}

.posys-action-card:hover {
    border-color: var(--cyan);
    background: #ffffff;
}

.posys-action-count {
    color: var(--navy);
    font-size: 2rem;
    font-weight: 800;
}

.posys-section-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.posys-section-header h2 {
    margin: 0;
}

.posys-section-header p {
    margin: 6px 0 0;
    color: var(--text-secondary);
}

.posys-table-wrap {
    overflow-x: auto;
}

.posys-table {
    width: 100%;
    border-collapse: collapse;
}

.posys-table th,
.posys-table td {
    padding: 13px 12px;
    border-bottom: 1px solid var(--border);
    vertical-align: top;
    text-align: left;
}

.posys-table th {
    background: var(--muted-bg);
    font-size: 0.82rem;
}

@media (max-width: 820px) {
    .posys-action-summary {
        grid-template-columns: 1fr;
    }

    .posys-section-header {
        display: block;
    }
}

/* Current Jobs dashboard summary */

.posys-job-summary-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    margin-top: 22px;
}

.posys-job-summary-card {
    display: flex;
    min-height: 118px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 8px;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #ffffff;
    color: var(--text);
    text-decoration: none;
    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease,
        transform 0.15s ease;
}

.posys-job-summary-card:visited {
    color: var(--text);
}

.posys-job-summary-card:hover {
    border-color: var(--cyan);
    box-shadow: 0 8px 20px rgba(10, 41, 66, 0.12);
    transform: translateY(-2px);
}

.posys-job-summary-card:focus {
    border-color: var(--cyan);
    outline: 3px solid rgba(0, 166, 214, 0.16);
}

.posys-job-summary-count {
    display: block;
    font-size: 2rem;
    font-weight: 750;
    line-height: 1;
    color: var(--navy);
}

.posys-job-summary-card span:last-child {
    display: block;
    font-weight: 650;
    line-height: 1.3;
    color: var(--text);
}

.posys-button,
.posys-button:visited {
    color: #ffffff;
    text-decoration: none;
}

.posys-button:hover {
    color: #ffffff;
}

.posys-button-secondary,
.posys-button-secondary:visited {
    border-color: var(--navy);
    background: var(--navy);
    color: #ffffff;
}

.posys-button-secondary:hover,
.posys-button-secondary:focus {
    border-color: var(--navy);
    background: var(--navy);
    color: #ffffff;
}

@media (max-width: 980px) {
    .posys-job-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .posys-job-summary-grid {
        grid-template-columns: 1fr;
    }

    .posys-job-summary-card {
        min-height: 96px;
    }
}


/* Final Current Jobs button text override */
a.posys-button.posys-button-secondary,
a.posys-button.posys-button-secondary:link,
a.posys-button.posys-button-secondary:visited,
a.posys-button.posys-button-secondary:hover,
a.posys-button.posys-button-secondary:focus,
a.posys-button.posys-button-secondary:active {
    background: var(--navy) !important;
    border-color: var(--navy) !important;
    color: #ffffff !important;
    text-decoration: none !important;
}


/* Current Jobs button hover highlight */
a.posys-button.posys-button-secondary,
a.posys-button.posys-button-secondary:link,
a.posys-button.posys-button-secondary:visited {
    background: var(--navy) !important;
    border-color: var(--navy) !important;
    color: #ffffff !important;
    text-decoration: none !important;
    transition:
        background 0.15s ease,
        border-color 0.15s ease,
        box-shadow 0.15s ease,
        transform 0.15s ease;
}

a.posys-button.posys-button-secondary:hover,
a.posys-button.posys-button-secondary:focus {
    background: var(--cyan) !important;
    border-color: var(--cyan) !important;
    color: #ffffff !important;
    box-shadow: 0 6px 16px rgba(0, 166, 214, 0.28);
    transform: translateY(-1px);
}

a.posys-button.posys-button-secondary:active {
    transform: translateY(0);
}

.posys-category-list {
    display: grid;
    gap: 1rem;
}

.posys-category-card {
    display: grid;
    grid-template-columns: 4rem minmax(0, 1fr) 2rem;
    align-items: center;
    gap: 1.25rem;
    min-height: 6rem;
    padding: 1rem 1.25rem;
    border: 1px solid #e4e8ef;
    border-radius: 1rem;
    background: #ffffff;
    color: inherit;
    text-decoration: none;
    box-shadow: 0 0.4rem 1.1rem rgba(15, 23, 42, 0.08);
    transition:
        transform 160ms ease,
        box-shadow 160ms ease,
        border-color 160ms ease;
}

.posys-category-card:hover,
.posys-category-card:focus-visible {
    transform: translateY(-2px);
    border-color: #aeb9ca;
    box-shadow: 0 0.7rem 1.5rem rgba(15, 23, 42, 0.12);
}

.posys-category-card-icon {
    display: grid;
    place-items: center;
    width: 4rem;
    height: 4rem;
    border-radius: 0.8rem;
    background: #f5f7fa;
}

.posys-category-icon {
    width: 3rem;
    height: 3rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/*
 * Product-specific line icons use lighter optical strokes
 * so their perceived weight matches the simpler category
 * icon family.
 */
.posys-category-icon.posys-product-optical-icon {
    stroke-width: 1.2;
}

.posys-category-card-content {
    display: grid;
    gap: 0.35rem;
}

.posys-category-card-content strong {
    font-size: 1.05rem;
    line-height: 1.3;
}

.posys-category-card-content small {
    color: #667085;
    line-height: 1.4;
}

.posys-category-card-arrow {
    font-size: 2rem;
    line-height: 1;
    text-align: center;
    color: #667085;
}

@media (max-width: 640px) {
    .posys-category-card {
        grid-template-columns: 3.25rem minmax(0, 1fr) 1.5rem;
        gap: 0.8rem;
        min-height: 5rem;
        padding: 0.85rem;
    }

    .posys-category-card-icon {
        width: 3.25rem;
        height: 3.25rem;
    }

    .posys-category-icon {
        width: 2.45rem;
        height: 2.45rem;
    }
}

/* Required field marker */
.posys-required {
    color: #dc3545;
    font-weight: 700;
    margin-left: 2px;
}

/* Job Specification layout */
.posys-specification-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 24px;
    align-items: start;
}

.posys-specification-grid .posys-form-field {
    min-width: 0;
}

@media (max-width: 700px) {
    .posys-specification-grid {
        grid-template-columns: 1fr;
    }
}

.posys-sticker-yield-panel {
    grid-column: 1 / -1;
    border: 1px solid #d8dee8;
    border-radius: 8px;
    padding: 16px;
    margin: 4px 0 12px;
}

.posys-sticker-yield-panel h3 {
    margin-top: 0;
}

.posys-sticker-yield-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 6px 0;
}

.posys-sticker-yield-row strong {
    text-align: right;
}

#posys-sticker-yield-panel {
    grid-column: 1 / -1;
    margin-top: -4px;
    margin-bottom: 18px;
    background: #f8fafc;
}

#posys-sticker-yield-panel h3 {
    margin-bottom: 12px;
}

#posys-sticker-yield-panel small {
    display: block;
    margin-top: 10px;
}

.posys-item-spec-summary {
    display: block;
    margin-top: 6px;
    line-height: 1.5;
}

.posys-item-production-summary {
    margin-top: 8px;
    padding: 8px 10px;
    border: 1px solid #d8dee8;
    border-radius: 6px;
    line-height: 1.55;
}

.posys-production-status {
    margin-top: 4px;
    font-weight: 600;
}

.posys-production-short {
    color: #b42318;
}

.posys-production-over {
    color: #875a00;
}

.posys-production-matched {
    color: #26734d;
}


/* ==========================================================
   POSYS CMYK ACTION SYSTEM
   ========================================================== */

:root {
    --posys-cyan: #00a6d6;
    --posys-cyan-dark: #0087ae;

    --posys-magenta: #d72670;
    --posys-magenta-dark: #ae1e5b;

    --posys-yellow: #f2c94c;
    --posys-yellow-dark: #d5a900;

    --posys-key: #17212b;
    --posys-key-dark: #0c1117;

    --posys-danger: #b42318;
    --posys-danger-dark: #8f1c13;
}


/* Shared action component */

.button,
.posys-button,
button.button,
a.button {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    gap: 6px;

    padding: 9px 16px;

    border: 1px solid var(--posys-cyan);
    border-radius: 7px;

    background: var(--posys-cyan);
    color: #ffffff !important;

    font: inherit;
    font-weight: 650;
    line-height: 1.2;

    text-decoration: none !important;
    cursor: pointer;

    transition:
        background 0.15s ease,
        border-color 0.15s ease,
        box-shadow 0.15s ease,
        transform 0.15s ease;
}

.button:hover,
.button:focus,
.posys-button:hover,
.posys-button:focus,
a.button:hover,
a.button:focus {
    border-color: var(--posys-cyan-dark);
    background: var(--posys-cyan-dark);
    color: #ffffff !important;

    box-shadow:
        0 5px 14px rgba(0, 166, 214, 0.22);

    transform: translateY(-1px);
}

.button:active,
.posys-button:active {
    transform: translateY(0);
}


/* Neutral / K */

.button-secondary,
.posys-button-secondary {
    border-color: var(--posys-key);
    background: var(--posys-key);
    color: #ffffff !important;
}

.button-secondary:hover,
.button-secondary:focus,
.posys-button-secondary:hover,
.posys-button-secondary:focus {
    border-color: var(--posys-key-dark);
    background: var(--posys-key-dark);
}


/* Magenta / design */

.button-design {
    border-color: var(--posys-magenta);
    background: var(--posys-magenta);
    color: #ffffff !important;
}

.button-design:hover,
.button-design:focus {
    border-color: var(--posys-magenta-dark);
    background: var(--posys-magenta-dark);
}


/* Yellow / warning */

.button-warning {
    border-color: var(--posys-yellow);
    background: var(--posys-yellow);
    color: var(--posys-key) !important;
}

.button-warning:hover,
.button-warning:focus {
    border-color: var(--posys-yellow-dark);
    background: var(--posys-yellow-dark);
    color: var(--posys-key) !important;
}


/* Destructive */

.button-danger {
    border-color: var(--posys-danger);
    background: var(--posys-danger);
    color: #ffffff !important;
}

.button-danger:hover,
.button-danger:focus {
    border-color: var(--posys-danger-dark);
    background: var(--posys-danger-dark);
}


/* Compact table/action button */

.button-small {
    min-height: 32px;
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 0.88rem;
}


/* Button grouping */

.posys-action-group {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
}


/* ==========================================================
   PRODUCT / SERVICE TABLE
   ========================================================== */

.posys-product-table {
    width: 100%;
    margin-top: 16px;
    border-collapse: collapse;
}

.posys-product-table th,
.posys-product-table td {
    padding: 11px 10px;
    vertical-align: top;
    border-bottom: 1px solid var(--border);
    text-align: left;
}

.posys-product-table th {
    background: var(--muted-bg);
    font-weight: 700;
}

.posys-product-table-main-row.is-removed {
    opacity: 0.7;
}

.posys-product-detail-row td {
    padding-top: 0;
    padding-bottom: 14px;
}

.posys-product-detail {
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #ffffff;
}

.posys-product-detail-spec {
    line-height: 1.5;
}

.posys-item-production-summary {
    margin-top: 8px;
    padding: 9px 11px;
    border-left: 4px solid var(--posys-cyan);
    border-radius: 5px;
    background: var(--muted-bg);
}

.posys-production-short {
    color: var(--danger);
}

.posys-production-over {
    color: #8a6300;
}

.posys-production-matched {
    color: var(--success);
}

@media (max-width: 760px) {
    .posys-product-table {
        min-width: 760px;
    }

    .posys-table-wrap {
        overflow-x: auto;
    }

    .button-small {
        min-height: 36px;
    }
}


/* ==========================================================
   JOB DETAIL UI REFINEMENT
   ========================================================== */

.posys-job-information-actions {
    margin-top: 24px;
    padding-top: 2px;
    gap: 12px;
}


/* ----------------------------------------------------------
   Product / Service child specification
   ---------------------------------------------------------- */

.posys-product-detail-row td {
    padding-top: 0;
    padding-bottom: 16px;
    background: #ffffff;
}

.posys-product-detail-row .posys-product-detail-spacer {
    width: 120px;
    padding: 0;
    border-bottom: 1px solid var(--border);
}

.posys-product-detail {
    margin: 0;
    padding: 11px 14px;

    border: 0;
    border-left: 3px solid var(--posys-cyan);
    border-radius: 0;

    background: #f8fafc;
}

.posys-product-detail-spec {
    line-height: 1.55;
}

.posys-product-detail-spec strong {
    display: inline-block;
    margin-right: 4px;
}

.posys-item-production-summary {
    margin-top: 9px;
    padding: 9px 12px;

    border: 0;
    border-left: 3px solid var(--posys-yellow);

    background: #ffffff;
}


/* ----------------------------------------------------------
   Shared operational data tables
   ---------------------------------------------------------- */

.posys-data-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;

    background: #ffffff;
}

.posys-data-table thead th {
    padding: 11px 14px;

    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);

    background: var(--muted-bg);

    color: var(--text);
    font-weight: 700;
    text-align: left;
    white-space: nowrap;
}

.posys-data-table thead th:first-child {
    border-left: 1px solid var(--border);
    border-top-left-radius: 7px;
}

.posys-data-table thead th:last-child {
    border-right: 1px solid var(--border);
    border-top-right-radius: 7px;
}

.posys-data-table tbody td {
    padding: 12px 14px;

    border-bottom: 1px solid var(--border);

    vertical-align: top;
    line-height: 1.45;
}

.posys-data-table tbody td:first-child {
    border-left: 1px solid var(--border);
}

.posys-data-table tbody td:last-child {
    border-right: 1px solid var(--border);
}

.posys-data-table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 7px;
}

.posys-data-table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 7px;
}


/* Stage history */

.posys-stage-history-table th:first-child,
.posys-stage-history-table td:first-child {
    white-space: nowrap;
}

.posys-stage-history-table td:nth-child(2),
.posys-stage-history-table td:nth-child(3) {
    font-weight: 600;
}


/* Stage duration */

.posys-stage-duration-table th:nth-child(2),
.posys-stage-duration-table td:nth-child(2),
.posys-stage-duration-table th:nth-child(3),
.posys-stage-duration-table td:nth-child(3) {
    white-space: nowrap;
}

.posys-stage-duration-table td:last-child {
    font-weight: 700;
    white-space: nowrap;
}


/* Mobile */

@media (max-width: 760px) {
    .posys-stage-table {
        min-width: 760px;
    }

    .posys-product-detail-row
    .posys-product-detail-spacer {
        width: 90px;
    }

    .posys-product-detail {
        padding: 10px 12px;
    }
}


/* =========================================================
   POSYS item team assignment
   ========================================================= */

.posys-team-selector {
    margin-top: 8px;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #fff;
}

.posys-team-selector > div {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
}

.posys-team-selector label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    cursor: pointer;
    margin: 0;
}

.posys-team-selector input[type="checkbox"] {
    width: auto;
    min-width: 18px;
    height: 18px;
    margin: 0;
}

.posys-empty-assignment {
    margin-top: 8px;
    padding: 14px 16px;
    border: 1px dashed var(--border);
    border-radius: 8px;
    background: var(--muted-bg);
    line-height: 1.5;
}

.posys-empty-assignment small {
    opacity: 0.75;
}


/* =========================================================
   Printaland sidebar branding
   ========================================================= */

.posys-brand-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    overflow: hidden;
}

.posys-brand-logo {
    display: block;
    width: 50px;
    height: 50px;
    object-fit: contain;
}

@media (max-width: 768px) {
    .posys-brand-mark {
        width: 46px;
        height: 46px;
    }

    .posys-brand-logo {
        width: 42px;
        height: 42px;
    }
}


/* =========================================================
   POSYS SAFE CMYK BRANDING
   Layout structure is intentionally untouched.
   ========================================================= */

.posys-sidebar .posys-brand {
    position: relative;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 14px 18px;
    margin-bottom: 8px;
    overflow: hidden;
}

.posys-sidebar .posys-brand::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    border-radius: 4px;
    background: linear-gradient(
        90deg,
        #00aeef 0%,
        #ec008c 35%,
        #fff200 70%,
        #231f20 100%
    );
}

.posys-sidebar .posys-brand-mark {
    flex: 0 0 76px;
    width: 76px;
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    border-radius: 16px;
    background: #ffffff;
    box-shadow:
        0 6px 16px rgba(0, 0, 0, 0.16),
        inset 0 0 0 1px rgba(10, 42, 65, 0.08);
    overflow: hidden;
}

.posys-sidebar .posys-brand-logo {
    display: block;
    width: 64px;
    height: 64px;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.posys-sidebar .posys-brand-title {
    font-size: 1.65rem;
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: 0.01em;
}

.posys-sidebar .posys-brand-subtitle {
    margin-top: 4px;
    font-size: 0.92rem;
    line-height: 1.25;
}

@media (max-width: 768px) {
    .posys-sidebar .posys-brand {
        gap: 12px;
        padding: 13px 12px 15px;
    }

    .posys-sidebar .posys-brand-mark {
        flex-basis: 64px;
        width: 64px;
        height: 64px;
        border-radius: 14px;
    }

    .posys-sidebar .posys-brand-logo {
        width: 52px;
        height: 52px;
    }

    .posys-sidebar .posys-brand-title {
        font-size: 1.4rem;
    }

    .posys-sidebar .posys-brand-subtitle {
        font-size: 0.84rem;
    }
}


/* =========================================================
   Printaland logo clarity
   Zooms the artwork inside the source PNG whitespace.
   ========================================================= */

.posys-sidebar .posys-brand-mark {
    overflow: hidden;
    background: #ffffff;
}

.posys-sidebar .posys-brand-logo {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: contain;
    transform: scale(2.65);
    transform-origin: center;
}


/* Printaland logo tile contrast adjustment */
.posys-sidebar .posys-brand-mark {
    background: #dcebf3;
}


/* Printaland logo tile - darker contrast */
.posys-sidebar .posys-brand-mark {
    background: #9fb8c7;
}


/* Printaland logo tile - darker contrast level 3 */
.posys-sidebar .posys-brand-mark {
    background: #7895a7;
}


/* ============================================================
   POSYS logo refinement - darker tile + larger Printaland logo
   ============================================================ */

.posys-sidebar .posys-brand {
    align-items: center;
    gap: 18px;
}

.posys-sidebar .posys-brand-mark {
    width: 116px;
    height: 116px;
    min-width: 116px;
    min-height: 116px;
    padding: 10px;
    border-radius: 18px;
    background: #5f7f92;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

.posys-sidebar .posys-brand-logo {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.posys-sidebar .posys-brand-title {
    font-size: 1.15rem;
    line-height: 1.1;
}

.posys-sidebar .posys-brand-subtitle {
    font-size: 0.95rem;
    line-height: 1.25;
}


/* =========================================================
   Printaland logo final fit
   Keep original tile size, reduce artwork inside.
   ========================================================= */

.posys-sidebar .posys-brand-mark {
    flex: 0 0 76px;
    width: 76px;
    height: 76px;
    min-width: 76px;
    min-height: 76px;
    padding: 7px;
    border-radius: 16px;
    background: #5f7f92;
    overflow: hidden;
    box-sizing: border-box;
}

.posys-sidebar .posys-brand-logo {
    display: block;
    width: 62px;
    height: 62px;
    max-width: 62px;
    max-height: 62px;
    object-fit: contain;

    /* Override the previous logo zoom */
    transform: scale(0.88);
    transform-origin: center;
}

.posys-sidebar .posys-brand {
    gap: 15px;
}

@media (max-width: 768px) {
    .posys-sidebar .posys-brand-mark {
        flex-basis: 64px;
        width: 64px;
        height: 64px;
        min-width: 64px;
        min-height: 64px;
        padding: 6px;
    }

    .posys-sidebar .posys-brand-logo {
        width: 52px;
        height: 52px;
        max-width: 52px;
        max-height: 52px;
        transform: scale(0.88);
    }
}


/* Printaland logo - 70x70 tile */
.posys-sidebar .posys-brand-mark {
    flex: 0 0 70px;
    width: 70px;
    height: 70px;
    min-width: 70px;
    min-height: 70px;
    padding: 6px;
    border-radius: 15px;
    background: #5f7f92;
    overflow: hidden;
    box-sizing: border-box;
}

.posys-sidebar .posys-brand-logo {
    display: block;
    width: 58px;
    height: 58px;
    max-width: 58px;
    max-height: 58px;
    object-fit: contain;
    transform: none;
}


/* Printaland logo - no tile */
.posys-sidebar .posys-brand-mark {
    flex: 0 0 70px;
    width: 70px;
    height: 70px;
    min-width: 70px;
    min-height: 70px;

    padding: 0;
    margin: 0;

    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;

    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
}

.posys-sidebar .posys-brand-logo {
    display: block;
    width: 70px;
    height: 70px;
    max-width: 70px;
    max-height: 70px;
    object-fit: contain;
    transform: none;
}


/* Printaland logo - enlarged, no tile */
.posys-sidebar .posys-brand-mark {
    flex: 0 0 90px;
    width: 90px;
    height: 90px;
    min-width: 90px;
    min-height: 90px;

    padding: 0;
    margin: 0;

    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;

    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
}

.posys-sidebar .posys-brand-logo {
    display: block;
    width: 90px;
    height: 90px;
    max-width: 90px;
    max-height: 90px;
    object-fit: contain;
    transform: none;
}

.posys-sidebar .posys-brand {
    gap: 16px;
}


/* ============================================================
   POSYS UI Refinement
   Current Jobs / Main operational interface
   2026-08-07
   ============================================================ */


/* ------------------------------------------------------------
   1. MAIN APP LAYOUT
   ------------------------------------------------------------ */

.posys-layout {
    background: #f4f7f9;
}

.posys-sidebar {
    width: 280px;
}

.posys-main {
    min-width: 0;
}

.posys-content {
    padding: 32px 34px 48px;
}


/* ------------------------------------------------------------
   2. BRAND AREA
   ------------------------------------------------------------ */

.posys-sidebar .posys-brand {
    gap: 14px;
    padding-top: 20px;
    padding-bottom: 26px;
    align-items: center;
}

.posys-sidebar .posys-brand-mark {
    flex: 0 0 90px;
    width: 90px;
    height: 90px;
    min-width: 90px;
    min-height: 90px;
    padding: 0;
    margin: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
}

.posys-sidebar .posys-brand-logo {
    width: 90px;
    height: 90px;
    max-width: 90px;
    max-height: 90px;
    object-fit: contain;
    transform: none;
}

.posys-sidebar .posys-brand-title {
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: 0.01em;
}

.posys-sidebar .posys-brand-subtitle {
    margin-top: 5px;
    font-size: 0.9rem;
    line-height: 1.35;
    opacity: 0.92;
}


/* ------------------------------------------------------------
   3. SIDEBAR NAVIGATION
   ------------------------------------------------------------ */

.posys-sidebar .posys-nav {
    padding-left: 14px;
    padding-right: 14px;
}

.posys-sidebar .posys-nav a {
    min-height: 46px;
    padding: 11px 13px;
    margin: 2px 0;
    border-radius: 9px;
    display: flex;
    align-items: center;
    transition:
        background-color 0.16s ease,
        transform 0.16s ease;
}

.posys-sidebar .posys-nav a:hover {
    background: rgba(255, 255, 255, 0.09);
    transform: translateX(2px);
}

.posys-sidebar .posys-nav a.active,
.posys-sidebar .posys-nav a[aria-current="page"] {
    background: rgba(255, 255, 255, 0.13);
    font-weight: 700;
}

.posys-sidebar .posys-nav-section-title,
.posys-sidebar .posys-nav-heading {
    margin-top: 25px;
    margin-bottom: 7px;
    padding-left: 11px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.095em;
}


/* ------------------------------------------------------------
   4. TOP BAR
   ------------------------------------------------------------ */

.posys-topbar {
    min-height: 76px;
    padding-left: 34px;
    padding-right: 34px;
    display: flex;
    align-items: center;
}


/* ------------------------------------------------------------
   5. PAGE TITLE HIERARCHY
   ------------------------------------------------------------ */

.posys-content h1 {
    margin-top: 8px;
    margin-bottom: 8px;
    font-size: clamp(2rem, 2.5vw, 2.55rem);
    line-height: 1.12;
    letter-spacing: -0.025em;
}

.posys-content h1 + p {
    margin-top: 0;
    margin-bottom: 26px;
    max-width: 850px;
    font-size: 1.02rem;
    line-height: 1.55;
    color: #5b6875;
}


/* ------------------------------------------------------------
   6. CARDS
   ------------------------------------------------------------ */

.posys-content .card,
.posys-content .panel,
.posys-content .posys-card {
    border: 1px solid #dce4ea;
    border-radius: 14px;
    box-shadow: 0 3px 12px rgba(15, 42, 61, 0.045);
    background: #ffffff;
}

.posys-content .card + .card,
.posys-content .panel + .panel,
.posys-content .posys-card + .posys-card {
    margin-top: 24px;
}

.posys-content .card {
    padding: 27px 30px;
}

.posys-content .card h2,
.posys-content .card h3,
.posys-content .panel h2,
.posys-content .panel h3,
.posys-content .posys-card h2,
.posys-content .posys-card h3 {
    margin-top: 0;
    margin-bottom: 22px;
    letter-spacing: -0.015em;
}


/* ------------------------------------------------------------
   7. SEARCH / FILTER FORM
   ------------------------------------------------------------ */

.posys-content form {
    width: 100%;
}

.posys-content form label {
    display: block;
    margin-bottom: 6px;
    color: #243746;
    font-size: 0.92rem;
    font-weight: 650;
}

.posys-content form input[type="text"],
.posys-content form input[type="search"],
.posys-content form input[type="date"],
.posys-content form input[type="number"],
.posys-content form input[type="email"],
.posys-content form select,
.posys-content form textarea {
    width: 100%;
    min-height: 48px;
    padding: 10px 13px;
    border: 1px solid #bdcbd6;
    border-radius: 9px;
    background: #ffffff;
    box-sizing: border-box;
    font: inherit;
    color: #172b3a;
    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease;
}

.posys-content form textarea {
    min-height: 100px;
}

.posys-content form input:focus,
.posys-content form select:focus,
.posys-content form textarea:focus {
    outline: none;
    border-color: #00a7d7;
    box-shadow: 0 0 0 3px rgba(0, 167, 215, 0.12);
}


/*
   Current filter forms in POSYS commonly use paragraphs or
   direct form groups. This creates a responsive two-column
   layout without changing Django field definitions.
*/

.posys-content form .filter-grid,
.posys-content .search-filter-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr);
    gap: 18px 20px;
    align-items: end;
}

.posys-content form p {
    margin-top: 0;
    margin-bottom: 16px;
}


/* ------------------------------------------------------------
   8. BUTTONS
   ------------------------------------------------------------ */

.posys-content button,
.posys-content .button,
.posys-content .btn {
    min-height: 44px;
    padding: 9px 18px;
    border-radius: 9px;
    font-weight: 700;
    transition:
        transform 0.12s ease,
        box-shadow 0.12s ease,
        opacity 0.12s ease;
}

.posys-content button:hover,
.posys-content .button:hover,
.posys-content .btn:hover {
    transform: translateY(-1px);
}

.posys-content button[type="submit"] {
    min-width: 132px;
}


/* ------------------------------------------------------------
   9. JOB TABLE
   ------------------------------------------------------------ */

.posys-content table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: #ffffff;
    font-size: 0.94rem;
}

.posys-content table thead th {
    padding: 14px 16px;
    background: #edf3f6;
    border-top: 1px solid #dce4ea;
    border-bottom: 1px solid #d4dee5;
    color: #1b3242;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.015em;
    text-align: left;
    white-space: nowrap;
}

.posys-content table tbody td {
    padding: 15px 16px;
    border-bottom: 1px solid #e5ebef;
    vertical-align: middle;
}

.posys-content table tbody tr {
    transition: background-color 0.12s ease;
}

.posys-content table tbody tr:hover {
    background: #f8fbfc;
}

.posys-content table tbody tr:last-child td {
    border-bottom: 0;
}


/* ------------------------------------------------------------
   10. BADGES / STATUS CHIPS
   ------------------------------------------------------------ */

.posys-content .badge,
.posys-content .status-badge,
.posys-content .status-chip {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 0.76rem;
    font-weight: 750;
    line-height: 1.2;
}


/* ------------------------------------------------------------
   11. CARD / TABLE SPACING
   ------------------------------------------------------------ */

.posys-content table + *,
.posys-content .table-responsive + * {
    margin-top: 18px;
}

.posys-content .table-responsive {
    width: 100%;
    overflow-x: auto;
    border-radius: 10px;
}


/* ------------------------------------------------------------
   12. DESKTOP CONTENT WIDTH
   ------------------------------------------------------------ */

@media (min-width: 1200px) {
    .posys-content {
        max-width: 1500px;
    }
}


/* ------------------------------------------------------------
   13. TABLET
   ------------------------------------------------------------ */

@media (max-width: 1000px) {

    .posys-sidebar {
        width: 240px;
    }

    .posys-content {
        padding: 26px 24px 40px;
    }

    .posys-topbar {
        padding-left: 24px;
        padding-right: 24px;
    }

    .posys-content form .filter-grid,
    .posys-content .search-filter-grid {
        grid-template-columns: 1fr;
    }
}


/* ------------------------------------------------------------
   14. MOBILE
   ------------------------------------------------------------ */

@media (max-width: 768px) {

    .posys-content {
        padding: 20px 15px 32px;
    }

    .posys-topbar {
        min-height: 64px;
        padding-left: 16px;
        padding-right: 16px;
    }

    .posys-content h1 {
        font-size: 1.75rem;
    }

    .posys-content .card {
        padding: 21px 17px;
        border-radius: 12px;
    }

    .posys-content form .filter-grid,
    .posys-content .search-filter-grid {
        display: block;
    }

    .posys-content form input[type="text"],
    .posys-content form input[type="search"],
    .posys-content form input[type="date"],
    .posys-content form input[type="number"],
    .posys-content form input[type="email"],
    .posys-content form select {
        min-height: 46px;
    }

    .posys-content table {
        min-width: 720px;
    }
}


/* ============================================================
   POSYS - Job-first Artwork Search
   ============================================================ */

.posys-product-table .posys-action-group {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.posys-product-table .button.button-small {
    min-height: 34px;
    padding: 6px 10px;
    border-radius: 7px;
    font-size: 0.80rem;
    line-height: 1.15;
    white-space: nowrap;
}

.posys-product-table td:last-child {
    white-space: nowrap;
}

.posys-artwork-step {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 20px;
}

.posys-artwork-step h2 {
    margin-bottom: 4px !important;
}

.posys-artwork-step p {
    margin: 0;
    color: #60717e;
}

.posys-artwork-step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #08a9d5;
    color: #ffffff;
    font-weight: 800;
}

.posys-artwork-job-search {
    display: grid;
    grid-template-columns: minmax(300px, 1fr) auto;
    gap: 12px;
    align-items: end;
    max-width: 760px;
}

.posys-artwork-job-search .posys-form-field {
    margin-bottom: 0;
}

.posys-artwork-selected-job,
.posys-artwork-destination {
    margin: 12px 0 20px;
    padding: 13px 15px;
    border: 1px solid #d9e4ea;
    border-radius: 9px;
    background: #f7fafb;
}

.posys-artwork-selected-job {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.posys-artwork-selected-job .button {
    margin-left: auto;
}

.posys-artwork-action-cell {
    width: 1%;
    white-space: nowrap;
    text-align: right;
}

.posys-artwork-source-card {
    padding: 14px 16px;
    border: 1px solid #cddce5;
    border-left: 3px solid #08a9d5;
    border-radius: 8px;
    background: #f7fafc;
    line-height: 1.55;
}

.posys-artwork-source-card small {
    display: block;
    margin-top: 4px;
    color: #667985;
}

.posys-artwork-empty,
.posys-empty-state {
    padding: 14px 16px;
    border: 1px dashed #c5d3dc;
    border-radius: 8px;
    background: #fafcfd;
    color: #667985;
}

.posys-artwork-buttons {
    margin-top: 10px;
}

.posys-artwork-note {
    margin-top: 16px;
    color: #60717e;
}

@media (max-width: 768px) {
    .posys-artwork-job-search {
        grid-template-columns: 1fr;
    }

    .posys-product-table .posys-action-group {
        flex-wrap: wrap;
    }

    .posys-artwork-selected-job .button {
        margin-left: 0;
    }
}


/* ============================================================
   POSYS Product Table Final Cleanup
   ============================================================ */

.posys-product-table {
    table-layout: auto;
}

.posys-product-table th,
.posys-product-table td {
    vertical-align: top;
}

.posys-product-table th:first-child,
.posys-product-table td:first-child {
    width: 110px;
    white-space: nowrap;
}

.posys-product-table th:nth-last-child(2),
.posys-product-table td:nth-last-child(2) {
    width: 110px;
    white-space: nowrap;
}

.posys-product-table th:last-child,
.posys-product-table td:last-child {
    width: 1%;
    white-space: nowrap;
}

.posys-product-table .posys-action-group {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.posys-product-table .button.button-small {
    min-height: 32px;
    padding: 5px 9px;
    margin: 0;
    border-radius: 7px;
    font-size: 0.78rem;
    line-height: 1.1;
    white-space: nowrap;
}

.posys-product-detail-row td {
    padding-top: 4px;
    padding-bottom: 16px;
}

.posys-product-detail {
    padding: 10px 14px;
    border-left: 3px solid #d5e2e9;
    background: #f8fafb;
    border-radius: 0 7px 7px 0;
    color: #425563;
    line-height: 1.55;
}

.posys-product-detail strong {
    color: #243746;
}

@media (max-width: 900px) {
    .posys-product-table .posys-action-group {
        flex-wrap: wrap;
    }
}


/* ============================================================
   POSYS Stage Category Visual System
   ============================================================ */

.posys-stage-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 150px;
    padding: 7px 10px;
    border: 1px solid transparent;
    border-radius: 9px;
    line-height: 1.15;
}

.posys-stage-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
}

.posys-stage-icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.posys-stage-copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.posys-stage-copy strong {
    font-size: 0.83rem;
    font-weight: 800;
}

.posys-stage-copy small {
    font-size: 0.74rem;
    opacity: 0.82;
}

/* Order */
.posys-stage-order {
    color: #38536a;
    background: #edf3f7;
    border-color: #ccdbe5;
}

/* Design */
.posys-stage-design {
    color: #007f9f;
    background: #e7f8fc;
    border-color: #b6e6f0;
}

/* Production */
.posys-stage-production {
    color: #8a2a82;
    background: #f7eaf6;
    border-color: #e8c5e4;
}

/* Ready for Delivery */
.posys-stage-delivery {
    color: #946400;
    background: #fff6d9;
    border-color: #efd98e;
}

/* Completed */
.posys-stage-completed {
    color: #256a3b;
    background: #eaf7ee;
    border-color: #b9dfc5;
}

/* Cancelled */
.posys-stage-cancelled {
    color: #9a3030;
    background: #fcecec;
    border-color: #efbcbc;
}


/* Compact display inside dense tables */
table .posys-stage-badge {
    min-width: 132px;
    padding: 6px 8px;
}

table .posys-stage-icon {
    flex-basis: 21px;
    width: 21px;
    height: 21px;
}

table .posys-stage-icon svg {
    width: 16px;
    height: 16px;
}


/* Optional visual stage flow */
.posys-stage-flow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
}

.posys-stage-flow-step {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 9px;
    border-radius: 999px;
    font-size: 0.76rem;
    font-weight: 700;
    background: #eef3f6;
    color: #5c6f7d;
}

.posys-stage-flow-arrow {
    color: #9aaab5;
    font-size: 0.8rem;
}

@media (max-width: 768px) {
    .posys-stage-badge {
        min-width: 0;
    }

    .posys-stage-flow-arrow {
        display: none;
    }
}


/* Stage history entry before first workflow state */
.posys-stage-new {
    display: inline-flex;
    align-items: center;
    min-height: 31px;
    padding: 6px 10px;
    border: 1px solid #d9e0e5;
    border-radius: 9px;
    background: #f5f7f8;
    color: #667681;
    font-size: 0.78rem;
    font-weight: 700;
}


/* ============================================================
   POSYS Job Summary Stage
   Created -> In Progress -> Completed / Cancelled
   ============================================================ */

.posys-job-stage {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 11px;
    border: 1px solid transparent;
    border-radius: 9px;
    white-space: nowrap;
    line-height: 1.1;
}

.posys-job-stage-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
}

.posys-job-stage-icon svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.posys-job-stage strong {
    font-size: 0.82rem;
    font-weight: 800;
}


/* Created */
.posys-job-stage-created {
    color: #38536a;
    background: #edf3f7;
    border-color: #ccdbe5;
}


/* In Progress */
.posys-job-stage-in_progress {
    color: #08728c;
    background: #e7f7fa;
    border-color: #b7e1e9;
}


/* Completed */
.posys-job-stage-completed {
    color: #256a3b;
    background: #eaf7ee;
    border-color: #b9dfc5;
}


/* Cancelled */
.posys-job-stage-cancelled {
    color: #9a3030;
    background: #fcecec;
    border-color: #efbcbc;
}


table .posys-job-stage {
    padding: 6px 9px;
}


/* ============================================================
   POSYS Product Workflow Audit
   ============================================================ */

.posys-item-stage-audit {
    margin-top: 12px;
    border-top: 1px solid rgba(100, 116, 139, 0.22);
    padding-top: 10px;
}

.posys-item-stage-audit > summary {
    cursor: pointer;
    font-weight: 750;
    font-size: 0.86rem;
    user-select: none;
}

.posys-item-stage-audit-body {
    padding-top: 12px;
}

.posys-item-stage-audit-body h4 {
    margin: 14px 0 8px;
}

.posys-item-stage-audit-body h4:first-child {
    margin-top: 0;
}


/* ============================================================
   POSYS Current Jobs - Compact Search / Filter Row
   ============================================================ */

.posys-filter-row {
    display: grid;
    grid-template-columns:
        minmax(280px, 2.4fr)
        minmax(180px, 1fr)
        minmax(150px, 0.8fr)
        minmax(170px, 0.9fr)
        auto
        auto;
    gap: 12px;
    align-items: end;
}

.posys-filter-row .form-row {
    margin: 0;
    min-width: 0;
}

.posys-filter-row label {
    display: block;
    margin-bottom: 6px;
}

.posys-filter-row input,
.posys-filter-row select {
    width: 100%;
    min-width: 0;
}

.posys-filter-actions {
    display: flex;
    align-items: flex-end;
    gap: 8px;
}

.posys-filter-actions .button {
    white-space: nowrap;
}


/* Tablet */
@media (max-width: 1100px) {
    .posys-filter-row {
        grid-template-columns:
            minmax(240px, 2fr)
            minmax(170px, 1fr)
            minmax(150px, 1fr);
    }

    .posys-filter-actions {
        grid-column: span 3;
    }
}


/* Mobile */
@media (max-width: 700px) {
    .posys-filter-row {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .posys-filter-actions {
        display: flex;
        width: 100%;
    }

    .posys-filter-actions .button {
        flex: 1;
    }
}


/* ============================================================
   POSYS Current Jobs - Refined Search / Filter Row
   ============================================================ */

.posys-filter-row {
    display: grid;
    grid-template-columns:
        minmax(320px, 1.8fr)
        minmax(180px, 1.05fr)
        minmax(150px, 0.9fr)
        minmax(170px, 1fr)
        auto;
    gap: 14px;
    align-items: end;
    width: 100%;
}


/* Search + dropdown fields */

.posys-filter-row .form-row {
    margin: 0;
    min-width: 0;
}

.posys-filter-row .form-row label {
    display: block;
    margin-bottom: 6px;
    font-size: 0.92rem;
    font-weight: 700;
}

.posys-filter-row input,
.posys-filter-row select {
    width: 100%;
    min-width: 0;
    height: 52px;
}


/* Buttons stay together */

.posys-filter-actions {
    display: flex;
    align-items: stretch;
    gap: 8px;
    white-space: nowrap;
}

.posys-filter-actions .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding-left: 22px;
    padding-right: 22px;
    margin: 0;
}


/* Reduce empty space inside Search and Filters card */

.posys-card:has(.posys-filter-row) {
    padding-top: 28px;
    padding-bottom: 28px;
}

.posys-card:has(.posys-filter-row) h2 {
    margin-top: 0;
    margin-bottom: 24px;
}


/* Medium desktop / laptop */

@media (max-width: 1250px) {
    .posys-filter-row {
        grid-template-columns:
            minmax(280px, 1.7fr)
            minmax(160px, 1fr)
            minmax(140px, 0.9fr)
            minmax(160px, 1fr)
            auto;
        gap: 10px;
    }

    .posys-filter-actions .button {
        padding-left: 16px;
        padding-right: 16px;
    }
}


/* Tablet */

@media (max-width: 1000px) {
    .posys-filter-row {
        grid-template-columns:
            minmax(240px, 2fr)
            minmax(170px, 1fr)
            minmax(150px, 1fr);
    }

    .posys-filter-actions {
        grid-column: span 3;
    }
}


/* Mobile */

@media (max-width: 700px) {
    .posys-filter-row {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .posys-filter-actions {
        width: 100%;
    }

    .posys-filter-actions .button {
        flex: 1;
    }
}


/* ============================================================
   POSYS Current Jobs
   Final fluid filter row - prevents horizontal overflow
   ============================================================ */

.posys-card:has(.posys-filter-row) {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
}


/* IMPORTANT:
   Every column may shrink below its content width.
   This prevents the filter row from pushing outside
   the POSYS main content area.
*/
.posys-filter-row {
    display: grid;

    grid-template-columns:
        minmax(0, 2fr)
        minmax(0, 1.15fr)
        minmax(0, 0.95fr)
        minmax(0, 1.05fr)
        minmax(0, 1.45fr);

    gap: 12px;
    align-items: end;

    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}


/* Individual fields */

.posys-filter-row .form-row {
    width: 100%;
    min-width: 0;
    margin: 0;
}

.posys-filter-row .form-row label {
    display: block;

    margin: 0 0 6px;

    font-size: 0.9rem;
    font-weight: 700;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.posys-filter-row input,
.posys-filter-row select {
    display: block;

    width: 100%;
    max-width: 100%;
    min-width: 0;

    height: 52px;

    box-sizing: border-box;
}


/* Apply + Clear share one grid column */

.posys-filter-actions {
    display: grid;
    grid-template-columns:
        minmax(0, 1.55fr)
        minmax(0, 0.85fr);

    gap: 8px;

    width: 100%;
    min-width: 0;
}

.posys-filter-actions .button {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;
    min-width: 0;
    min-height: 52px;

    margin: 0;
    padding: 10px 12px;

    box-sizing: border-box;

    white-space: nowrap;
}


/* Slightly tighter filter card */

.posys-card:has(.posys-filter-row) {
    padding-top: 24px;
    padding-bottom: 24px;
}

.posys-card:has(.posys-filter-row) h2 {
    margin-top: 0;
    margin-bottom: 20px;
}


/* ------------------------------------------------------------
   Smaller desktop / laptop
   ------------------------------------------------------------ */

@media (max-width: 1150px) {

    .posys-filter-row {
        grid-template-columns:
            minmax(0, 1.8fr)
            minmax(0, 1fr)
            minmax(0, 0.85fr)
            minmax(0, 0.95fr)
            minmax(0, 1.25fr);

        gap: 8px;
    }

    .posys-filter-actions {
        gap: 6px;
    }

    .posys-filter-actions .button {
        padding-left: 8px;
        padding-right: 8px;
        font-size: 0.9rem;
    }
}


/* ------------------------------------------------------------
   Tablet
   ------------------------------------------------------------ */

@media (max-width: 900px) {

    .posys-filter-row {
        grid-template-columns:
            minmax(0, 1.6fr)
            minmax(0, 1fr);

        gap: 12px;
    }

    .posys-filter-actions {
        grid-column: 1 / -1;

        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 0.55fr);
    }
}


/* ------------------------------------------------------------
   Mobile
   ------------------------------------------------------------ */

@media (max-width: 600px) {

    .posys-filter-row {
        display: flex;
        flex-direction: column;

        gap: 10px;

        width: 100%;
    }

    .posys-filter-row .form-row {
        width: 100%;
    }

    .posys-filter-actions {
        display: grid;

        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 0.7fr);

        width: 100%;
    }
}


/* ============================================================
   POSYS Product Workflow UX - 0041
   ============================================================ */

.posys-next-step {
    margin-top: 6px;
    font-size: 0.78rem;
    line-height: 1.35;
    color: #526273;
}

.posys-next-step strong {
    font-weight: 800;
}

.posys-stage-hold {
    color: #875d12;
    background: #fff7df;
    border-color: #ead494;
}


/* ============================================================
   POSYS Product Table - Compact Action Column
   ============================================================ */

/*
   Prevent Actions from forcing the product table wider
   than the available content area.
*/
.posys-product-table {
    width: 100%;
    max-width: 100%;
    table-layout: fixed;
}


/* Item number */
.posys-product-table th:nth-child(1),
.posys-product-table td:nth-child(1) {
    width: 9%;
}


/* Product / Service gets most of the available room */
.posys-product-table th:nth-child(2),
.posys-product-table td:nth-child(2) {
    width: 31%;
}


/* Required Date */
.posys-product-table th:nth-child(3),
.posys-product-table td:nth-child(3) {
    width: 15%;
}


/* Status */
.posys-product-table th:nth-child(4),
.posys-product-table td:nth-child(4) {
    width: 20%;
}


/* Actions */
.posys-product-table th:nth-child(5),
.posys-product-table td:nth-child(5) {
    width: 25%;
}


/* Allow content to wrap instead of expanding columns */
.posys-product-table th,
.posys-product-table td {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: normal;
}


/* ------------------------------------------------------------
   Product action buttons
   ------------------------------------------------------------ */

.posys-product-table .posys-action-group {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    gap: 7px;

    width: 100%;
    max-width: 230px;
    min-width: 0;
}


/*
   The first available workflow action is the main action:
   Submit Revision / Start Artwork / Client Decision etc.
*/
.posys-product-table .posys-action-group > :first-child {
    grid-column: 1 / -1;
}


/* All action buttons fit their grid cell */
.posys-product-table .posys-action-group .button {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;
    max-width: 100%;
    min-width: 0;

    min-height: 36px;

    margin: 0;
    padding: 7px 8px;

    font-size: 0.78rem;
    line-height: 1.15;
    text-align: center;

    white-space: normal;

    box-sizing: border-box;
}


/*
   Keep long labels such as:
   Cancel Product / Manage Team
   safely inside their cells.
*/
.posys-product-table .posys-action-group a {
    overflow-wrap: anywhere;
}


/* ------------------------------------------------------------
   Product table spacing
   ------------------------------------------------------------ */

.posys-product-table-main-row > td {
    vertical-align: top;
}

.posys-product-table-main-row > td:last-child {
    padding-left: 12px;
    padding-right: 12px;
}


/* ------------------------------------------------------------
   Medium screen
   ------------------------------------------------------------ */

@media (max-width: 1150px) {

    .posys-product-table th:nth-child(1),
    .posys-product-table td:nth-child(1) {
        width: 10%;
    }

    .posys-product-table th:nth-child(2),
    .posys-product-table td:nth-child(2) {
        width: 30%;
    }

    .posys-product-table th:nth-child(3),
    .posys-product-table td:nth-child(3) {
        width: 14%;
    }

    .posys-product-table th:nth-child(4),
    .posys-product-table td:nth-child(4) {
        width: 20%;
    }

    .posys-product-table th:nth-child(5),
    .posys-product-table td:nth-child(5) {
        width: 26%;
    }

    .posys-product-table .posys-action-group {
        max-width: 210px;
        gap: 6px;
    }

    .posys-product-table .posys-action-group .button {
        padding: 6px;
        font-size: 0.74rem;
    }
}


/* ------------------------------------------------------------
   Narrow screen
   Keep table within page rather than horizontal scrolling
   ------------------------------------------------------------ */

@media (max-width: 850px) {

    .posys-product-table th:nth-child(1),
    .posys-product-table td:nth-child(1) {
        width: 11%;
    }

    .posys-product-table th:nth-child(2),
    .posys-product-table td:nth-child(2) {
        width: 29%;
    }

    .posys-product-table th:nth-child(3),
    .posys-product-table td:nth-child(3) {
        width: 14%;
    }

    .posys-product-table th:nth-child(4),
    .posys-product-table td:nth-child(4) {
        width: 20%;
    }

    .posys-product-table th:nth-child(5),
    .posys-product-table td:nth-child(5) {
        width: 26%;
    }

    .posys-product-table .posys-action-group {
        grid-template-columns: 1fr;
        max-width: none;
    }

    .posys-product-table .posys-action-group > :first-child {
        grid-column: auto;
    }

    .posys-product-table .posys-action-group .button {
        min-height: 34px;
    }
}


/* ============================================================
   POSYS Final Product Action Layout
   ============================================================ */

.posys-product-table .posys-action-group {
    display: flex;
    flex-direction: column;
    gap: 7px;

    width: 100%;
    max-width: 190px;
    min-width: 0;
}


/* Visible next action */

.posys-primary-product-action {
    width: 100%;
    min-width: 0;
}

.posys-primary-product-action > .button {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-width: 0;

    min-height: 38px;

    margin: 0;
    padding: 7px 8px;

    box-sizing: border-box;

    text-align: center;
    white-space: normal;
}


/* Two valid delivery choices from QC */

.posys-primary-choice {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    gap: 5px;

    width: 100%;
}

.posys-primary-choice .button {
    width: 100%;
    min-width: 0;

    margin: 0;
    padding: 6px;

    box-sizing: border-box;

    white-space: normal;
}


/* Actions dropdown */

.posys-product-secondary-actions {
    width: 100%;
    min-width: 0;
}

.posys-product-secondary-actions > summary {
    list-style: none;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;

    min-height: 35px;

    padding: 6px 10px;

    box-sizing: border-box;

    border: 1px solid #ccd7e0;
    border-radius: 8px;

    background: #f5f7f9;
    color: #17324a;

    cursor: pointer;

    font-size: 0.76rem;
    font-weight: 750;
}

.posys-product-secondary-actions > summary::-webkit-details-marker {
    display: none;
}

.posys-product-secondary-actions > summary::after {
    content: "▾";
    margin-left: 6px;
}

.posys-product-secondary-actions[open] > summary::after {
    content: "▴";
}


/* Secondary buttons appear only when Actions opens */

.posys-product-secondary-actions-menu {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    gap: 5px;

    margin-top: 6px;

    width: 100%;
}

.posys-product-secondary-actions-menu .button {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-width: 0;

    min-height: 32px;

    margin: 0;
    padding: 5px 6px;

    box-sizing: border-box;

    font-size: 0.7rem;
    line-height: 1.15;

    text-align: center;
    white-space: normal;
}


@media (max-width: 850px) {

    .posys-product-table .posys-action-group {
        max-width: none;
    }

    .posys-product-secondary-actions-menu,
    .posys-primary-choice {
        grid-template-columns: 1fr;
    }
}


/* ============================================================
   POSYS Product Actions - Auto-hide secondary Actions control
   ============================================================ */

/*
   Desktop:
   Show only the primary/next workflow action by default.
   Reveal secondary Actions when the user interacts with the row.
*/

@media (hover: hover) and (pointer: fine) {

    .posys-product-table-main-row
    .posys-product-secondary-actions {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;

        max-height: 0;
        overflow: hidden;

        margin-top: 0;

        transform: translateY(-3px);

        transition:
            opacity 0.16s ease,
            transform 0.16s ease,
            max-height 0.16s ease;
    }


    /* Reveal when hovering anywhere on the product row */

    .posys-product-table-main-row:hover
    .posys-product-secondary-actions {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;

        max-height: 220px;

        transform: translateY(0);
    }


    /* Also reveal for keyboard navigation */

    .posys-product-table-main-row:focus-within
    .posys-product-secondary-actions {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;

        max-height: 220px;

        transform: translateY(0);
    }


    /*
       If Actions is already open, keep it visible even if
       pointer leaves the row temporarily.
    */

    .posys-product-table-main-row
    .posys-product-secondary-actions[open] {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;

        max-height: 320px;

        transform: translateY(0);
    }
}


/*
   Touch devices:
   No hover behavior. Keep Actions visible so users can access it.
*/

@media (hover: none), (pointer: coarse) {

    .posys-product-secondary-actions {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;

        max-height: none;

        transform: none;
    }
}


/* ============================================================
   POSYS Product Actions
   Actions button always visible.
   Menu opens by click and closes on mouseleave via JS.
   ============================================================ */

.posys-product-table-main-row
.posys-product-secondary-actions {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;

    max-height: none !important;

    overflow: visible !important;

    margin-top: 0;

    transform: none !important;
}


/* Actions button itself is always visible */

.posys-product-secondary-actions > summary {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;

    cursor: pointer;
}


/*
   Native <details> handles the submenu:
   closed = menu hidden
   open   = menu visible
*/

.posys-product-secondary-actions:not([open])
.posys-product-secondary-actions-menu {
    display: none;
}


.posys-product-secondary-actions[open]
.posys-product-secondary-actions-menu {
    display: grid;
}


/* ============================================================
   POSYS Product Section Header
   ============================================================ */

.posys-product-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;

    margin-bottom: 18px;
}

.posys-product-section-header h2 {
    margin: 0;
}

.posys-add-product-button {
    flex: 0 0 auto;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 38px;

    padding-left: 14px;
    padding-right: 14px;

    white-space: nowrap;
}


/* Mobile */

@media (max-width: 700px) {

    .posys-product-section-header {
        flex-direction: column;
        align-items: stretch;
    }

    .posys-add-product-button {
        width: 100%;
    }
}

/* Booklet Job Specification groups */
.posys-specification-section {
    margin-top: 24px;
}

.posys-specification-section:first-of-type {
    margin-top: 18px;
}

.posys-specification-section > h3 {
    margin: 0 0 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid currentColor;
}

/* Large Format automatic print-area calculation */
.posys-large-format-area-panel {
    grid-column: 1 / -1;
    padding: 16px;
    border: 1px solid currentColor;
    border-radius: 8px;
}

.posys-large-format-area-panel h3 {
    margin-top: 0;
    margin-bottom: 12px;
}

.posys-large-format-area-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 8px 0;
}

.posys-large-format-area-row strong {
    white-space: nowrap;
}


/* =========================================================
   POSYS PRINTALAND DASHBOARD V1
   ========================================================= */

.posys-dashboard-breadcrumb {
    display: grid;
    gap: 2px;
}

.posys-dashboard-breadcrumb span {
    color: var(--text-secondary);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.posys-dashboard-breadcrumb strong {
    color: var(--text);
    font-size: 1.1rem;
}


.posys-dashboard-shell {
    display: grid;
    gap: 22px;
}


/* HERO */

.posys-dashboard-hero {
    position: relative;
    isolation: isolate;

    display: grid;
    grid-template-columns:
        minmax(0, 1.55fr)
        minmax(250px, 0.65fr);

    min-height: 360px;

    overflow: hidden;

    padding: 42px;

    border-radius: 22px;

    background:
        radial-gradient(
            circle at 84% 20%,
            rgba(236, 0, 140, 0.22),
            transparent 29%
        ),
        linear-gradient(
            125deg,
            #761414 0%,
            #b71920 42%,
            #e2212a 100%
        );

    box-shadow:
        0 18px 42px
        rgba(74, 18, 21, 0.18);

    color: #ffffff;
}


.posys-dashboard-hero::before {
    content: "";

    position: absolute;
    z-index: -1;

    right: -85px;
    bottom: -210px;

    width: 520px;
    height: 520px;

    border:
        34px solid
        rgba(0, 174, 239, 0.09);

    border-radius: 50%;
}


.posys-dashboard-hero::after {
    content: "";

    position: absolute;
    z-index: -1;

    top: 0;
    right: 0;

    width: 44%;
    height: 100%;

    opacity: 0.22;

    background-image:
        radial-gradient(
            circle,
            rgba(255,255,255,0.52) 1.5px,
            transparent 1.7px
        );

    background-size: 17px 17px;

    mask-image:
        linear-gradient(
            to left,
            #000,
            transparent
        );
}


.posys-dashboard-hero-copy {
    position: relative;
    z-index: 2;

    display: flex;
    flex-direction: column;
    justify-content: center;

    max-width: 700px;
}


.posys-dashboard-eyebrow {
    margin-bottom: 18px;

    color: rgba(255,255,255,0.82);

    font-size: 0.8rem;
    font-weight: 850;
    letter-spacing: 0.12em;
}


.posys-dashboard-hero h1 {
    margin: 0;

    color: #ffffff;

    font-size:
        clamp(
            2.4rem,
            4.4vw,
            4.55rem
        );

    font-weight: 850;
    line-height: 0.98;
    letter-spacing: -0.035em;
}


.posys-dashboard-hero-copy > p {
    max-width: 670px;

    margin: 23px 0 0;

    color: rgba(255,255,255,0.9);

    font-size: 1.08rem;
    line-height: 1.65;
}


.posys-dashboard-role {
    display: inline-flex;
    align-self: flex-start;

    align-items: center;

    gap: 13px;

    margin-top: 28px;
    padding: 10px 15px;

    border:
        1px solid
        rgba(255,255,255,0.34);

    border-radius: 12px;

    background:
        rgba(69, 8, 11, 0.24);

    backdrop-filter:
        blur(5px);
}


.posys-dashboard-role strong {
    text-transform: capitalize;
}


.posys-dashboard-role span {
    color:
        rgba(255,255,255,0.82);

    font-size: 0.86rem;
}


.posys-dashboard-hero-brand {
    position: relative;
    z-index: 2;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    gap: 16px;
}


.posys-dashboard-logo-card {
    display: grid;
    place-items: center;

    width: min(100%, 285px);
    aspect-ratio: 1.18 / 1;

    padding: 25px;

    border-radius: 24px;

    background: #ffffff;

    box-shadow:
        0 24px 50px
        rgba(63, 5, 9, 0.27);
}


.posys-dashboard-logo-card img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;
}


.posys-dashboard-cmyk-dots {
    display: flex;
    gap: 7px;
}


.posys-dashboard-cmyk-dots span {
    width: 10px;
    height: 10px;

    border-radius: 50%;
}


.posys-dashboard-cmyk-dots span:nth-child(1) {
    background: #00aeef;
}

.posys-dashboard-cmyk-dots span:nth-child(2) {
    background: #ec008c;
}

.posys-dashboard-cmyk-dots span:nth-child(3) {
    background: #fff200;
}

.posys-dashboard-cmyk-dots span:nth-child(4) {
    background: #231f20;
}


.posys-dashboard-hero-pattern {
    position: absolute;
    z-index: 0;

    right: 10%;
    bottom: -14px;

    width: 55%;
    height: 120px;

    opacity: 0.24;

    border-top:
        1px solid
        rgba(255,255,255,0.6);

    border-radius: 50%;

    transform:
        rotate(-6deg);
}


/* KPI CARDS */

.posys-dashboard-kpis {
    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    gap: 16px;
}


.posys-dashboard-kpi {
    display: flex;

    min-width: 0;
    min-height: 138px;

    align-items: center;

    gap: 16px;

    padding: 20px;

    border:
        1px solid
        var(--border);

    border-radius: 17px;

    background: #ffffff;

    box-shadow:
        0 8px 25px
        rgba(20,35,50,0.06);

    color: var(--text);

    text-decoration: none;

    transition:
        transform 0.15s ease,
        box-shadow 0.15s ease,
        border-color 0.15s ease;
}


.posys-dashboard-kpi:visited {
    color: var(--text);
}


.posys-dashboard-kpi:hover {
    border-color:
        rgba(220, 31, 38, 0.35);

    box-shadow:
        0 13px 30px
        rgba(20,35,50,0.1);

    transform:
        translateY(-2px);
}


.posys-dashboard-kpi-icon {
    display: grid;

    flex: 0 0 58px;

    width: 58px;
    height: 58px;

    place-items: center;

    border-radius: 50%;

    font-size: 1.15rem;
    font-weight: 850;
}


.posys-dashboard-kpi-red {
    background: #fde7e8;
    color: #d91f27;
}

.posys-dashboard-kpi-magenta {
    background: #fae2ef;
    color: #d72670;
}

.posys-dashboard-kpi-cyan {
    background: #def4fb;
    color: #008fc1;
}

.posys-dashboard-kpi-yellow {
    background: #fff6cf;
    color: #9c7900;
}


.posys-dashboard-kpi-copy {
    display: grid;
    gap: 4px;

    min-width: 0;
}


.posys-dashboard-kpi-label {
    color: #657382;

    font-size: 0.72rem;
    font-weight: 850;

    letter-spacing: 0.045em;
    text-transform: uppercase;
}


.posys-dashboard-kpi-copy strong {
    color: #d51f27;

    font-size: 2rem;
    line-height: 1;
}


.posys-dashboard-kpi-copy small {
    color: var(--text-secondary);

    line-height: 1.35;
}


/* QUICK ACCESS */

.posys-dashboard-section-heading {
    margin-top: 4px;
}


.posys-dashboard-section-heading > span,
.posys-dashboard-small-label {
    color: #768696;

    font-size: 0.72rem;
    font-weight: 850;

    letter-spacing: 0.1em;
    text-transform: uppercase;
}


.posys-dashboard-section-heading h2 {
    margin: 5px 0 0;

    font-size: 1.72rem;
}


.posys-dashboard-quick-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 18px;
}


.posys-dashboard-quick-card {
    position: relative;

    display: grid;

    grid-template-columns:
        68px
        minmax(0, 1fr);

    gap: 20px;

    min-height: 245px;

    overflow: hidden;

    padding: 25px;

    border:
        1px solid
        var(--border);

    border-radius: 18px;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #fbfcfd
        );

    box-shadow:
        0 10px 28px
        rgba(20,35,50,0.06);
}


.posys-dashboard-quick-card::after {
    content: "";

    position: absolute;

    right: -24px;
    bottom: -24px;

    width: 145px;
    height: 145px;

    opacity: 0.22;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            currentColor 1.5px,
            transparent 1.8px
        );

    background-size:
        13px 13px;
}


.posys-dashboard-quick-icon {
    position: relative;
    z-index: 1;

    display: grid;

    width: 58px;
    height: 58px;

    place-items: center;

    border-radius: 14px;

    background: #d91f27;
    color: #ffffff;

    font-size: 1.55rem;
    font-weight: 850;
}


.posys-dashboard-quick-design
.posys-dashboard-quick-icon {
    background: var(--posys-magenta);
}


.posys-dashboard-quick-production
.posys-dashboard-quick-icon {
    background: var(--posys-cyan);
}


.posys-dashboard-quick-admin
.posys-dashboard-quick-icon {
    background: var(--posys-key);
}


.posys-dashboard-quick-body {
    position: relative;
    z-index: 1;
}


.posys-dashboard-quick-body h3 {
    margin: 2px 0 8px;

    font-size: 1.32rem;
}


.posys-dashboard-quick-body p {
    max-width: 520px;

    margin: 0;

    color: var(--text-secondary);

    line-height: 1.55;
}


.posys-dashboard-tags {
    display: flex;
    flex-wrap: wrap;

    gap: 8px;

    margin-top: 18px;
}


.posys-dashboard-tags span {
    padding: 6px 10px;

    border-radius: 999px;

    background: #f2f5f7;

    color: #52606d;

    font-size: 0.74rem;
    font-weight: 700;
}


.posys-dashboard-quick-jobs
.posys-dashboard-tags span:first-child {
    background: #fde8e8;
    color: #bd2026;
}


.posys-dashboard-primary-link {
    display: inline-flex;

    min-height: 43px;

    align-items: center;

    gap: 28px;

    margin-top: 19px;
    padding: 10px 17px;

    border-radius: 9px;

    background: #d91f27;
    color: #ffffff !important;

    font-weight: 750;

    text-decoration: none;
}


.posys-dashboard-quick-design
.posys-dashboard-primary-link {
    background: var(--posys-magenta);
}


.posys-dashboard-quick-production
.posys-dashboard-primary-link {
    background: var(--posys-cyan-dark);
}


.posys-dashboard-quick-admin
.posys-dashboard-primary-link {
    background: var(--posys-key);
}


.posys-dashboard-primary-link:hover {
    filter: brightness(0.94);
}


.posys-dashboard-overview {
    margin-top: 6px !important;
}


/* TABLE / EXISTING WORKFLOW SECTIONS */

.posys-dashboard-shell
+ .posys-card {
    margin-top: 22px;
}


/* TABLET */

@media (max-width: 1100px) {

    .posys-dashboard-kpis {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    .posys-dashboard-hero {
        grid-template-columns:
            minmax(0, 1.35fr)
            minmax(210px, 0.65fr);

        padding: 34px;
    }

}


/* MOBILE */

@media (max-width: 820px) {

    .posys-dashboard-hero {
        grid-template-columns: 1fr;

        min-height: 0;

        padding: 28px 24px;
    }

    .posys-dashboard-hero-brand {
        margin-top: 20px;

        align-items: flex-start;
    }

    .posys-dashboard-logo-card {
        width: 160px;

        padding: 16px;

        border-radius: 16px;
    }

    .posys-dashboard-kpis {
        grid-template-columns: 1fr 1fr;
    }

    .posys-dashboard-quick-grid {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 560px) {

    .posys-dashboard-shell {
        gap: 16px;
    }

    .posys-dashboard-hero {
        padding: 24px 19px;

        border-radius: 16px;
    }

    .posys-dashboard-hero h1 {
        font-size: 2.35rem;
    }

    .posys-dashboard-hero-copy > p {
        font-size: 0.96rem;
    }

    .posys-dashboard-role {
        align-items: flex-start;
        flex-direction: column;

        gap: 3px;
    }

    .posys-dashboard-kpis {
        grid-template-columns: 1fr;

        gap: 11px;
    }

    .posys-dashboard-kpi {
        min-height: 105px;

        padding: 16px;
    }

    .posys-dashboard-kpi-icon {
        flex-basis: 48px;

        width: 48px;
        height: 48px;
    }

    .posys-dashboard-quick-card {
        grid-template-columns: 52px 1fr;

        min-height: 0;

        gap: 14px;

        padding: 19px;
    }

    .posys-dashboard-quick-icon {
        width: 48px;
        height: 48px;

        border-radius: 12px;

        font-size: 1.25rem;
    }

}



/* =========================================================
   POSYS DASHBOARD HERO REFINEMENT
   ========================================================= */

.posys-dashboard-hero {
    min-height: 315px;

    padding:
        34px
        38px;
}


/* Keep all hero paragraph text readable on red. */

.posys-dashboard-hero
.posys-dashboard-hero-copy
> p {
    position: relative;

    z-index: 2;

    max-width: 680px;

    margin-top: 20px;

    color:
        rgba(
            255,
            255,
            255,
            0.92
        ) !important;

    font-size: 1.02rem;

    line-height: 1.65;
}


/* Slightly tighter hero heading. */

.posys-dashboard-hero h1 {
    max-width: 720px;

    font-size:
        clamp(
            2.6rem,
            4vw,
            4rem
        );

    line-height: 1.02;
}


/* Make role badge cleaner. */

.posys-dashboard-role {
    margin-top: 24px;

    padding:
        9px
        14px;

    background:
        rgba(
            94,
            9,
            13,
            0.32
        );
}


/* Refine logo area. */

.posys-dashboard-hero-brand {
    justify-content: center;

    padding:
        8px
        0;
}


.posys-dashboard-logo-card {
    width: min(
        100%,
        250px
    );

    aspect-ratio: 1 / 1;

    padding: 28px;

    border-radius: 24px;

    background:
        rgba(
            255,
            255,
            255,
            0.98
        );

    box-shadow:
        0 20px 44px
        rgba(
            67,
            4,
            8,
            0.24
        );
}


.posys-dashboard-logo-card img {
    width: 100%;
    height: 100%;

    object-fit: contain;

    /*
     * The supplied Printaland logo contains
     * light gray artwork. A little extra
     * contrast helps it remain readable
     * without altering the source image.
     */
    filter:
        contrast(1.16)
        saturate(1.08);
}


/* Give CMYK markers a little more breathing room. */

.posys-dashboard-cmyk-dots {
    margin-top: 2px;

    gap: 8px;
}


.posys-dashboard-cmyk-dots span {
    width: 11px;
    height: 11px;
}


/* Reduce visual competition from hero patterns. */

.posys-dashboard-hero::before {
    opacity: 0.7;
}


.posys-dashboard-hero::after {
    opacity: 0.13;
}


.posys-dashboard-hero-pattern {
    opacity: 0.14;
}


/* Tablet */

@media (max-width: 1100px) {

    .posys-dashboard-hero {
        min-height: 300px;

        padding:
            30px
            30px;
    }

    .posys-dashboard-logo-card {
        width: 220px;
    }

}


/* Mobile */

@media (max-width: 820px) {

    .posys-dashboard-hero {
        min-height: 0;

        padding:
            26px
            22px;
    }

    .posys-dashboard-logo-card {
        width: 145px;

        padding: 15px;

        border-radius: 16px;
    }

}


@media (max-width: 560px) {

    .posys-dashboard-hero h1 {
        font-size: 2.25rem;
    }

    .posys-dashboard-hero
    .posys-dashboard-hero-copy
    > p {
        font-size: 0.94rem;

        line-height: 1.55;
    }

}



/* =========================================================
   POSYS PRINTALAND SIGN IN
   ========================================================= */

.posys-login-page {
    margin: 0;
    min-height: 100vh;
    background: #f4f6f8;
}


.posys-login-shell {
    display: grid;
    grid-template-columns:
        minmax(390px, 0.95fr)
        minmax(430px, 1.05fr);
    min-height: 100vh;
}


/* BRAND PANEL */

.posys-login-brand-panel {
    position: relative;
    overflow: hidden;
    min-height: 100vh;
    padding: 54px;

    background:
        radial-gradient(
            circle at 88% 18%,
            rgba(236, 0, 140, 0.24),
            transparent 29%
        ),
        linear-gradient(
            138deg,
            #681215 0%,
            #aa181d 48%,
            #e2222a 100%
        );

    color: #ffffff;
}


.posys-login-brand-panel::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;

    background:
        linear-gradient(
            90deg,
            #00aeef 0%,
            #ec008c 34%,
            #fff200 68%,
            #231f20 100%
        );
}


.posys-login-brand-panel::after {
    content: "";
    position: absolute;
    right: -250px;
    bottom: -230px;
    width: 610px;
    height: 610px;

    border:
        55px solid
        rgba(255,255,255,0.075);

    border-radius: 50%;
}


.posys-login-brand-pattern {
    position: absolute;
    top: 0;
    right: 0;
    width: 55%;
    height: 100%;
    opacity: 0.13;

    background-image:
        radial-gradient(
            circle,
            #ffffff 1.4px,
            transparent 1.6px
        );

    background-size: 17px 17px;

    mask-image:
        linear-gradient(
            90deg,
            transparent,
            #000
        );
}


.posys-login-brand-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;

    min-height:
        calc(
            100vh - 108px
        );
}


.posys-login-brand-top {
    display: flex;
    align-items: center;
    gap: 18px;
}


.posys-login-logo-box {
    display: grid;
    flex: 0 0 86px;
    width: 86px;
    height: 86px;
    place-items: center;
    padding: 10px;
    border-radius: 20px;
    background: #ffffff;

    box-shadow:
        0 18px 36px
        rgba(55, 2, 5, 0.22);
}


.posys-login-logo-box img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;

    filter:
        contrast(1.12)
        saturate(1.06);
}


.posys-login-system-name {
    font-size: 2rem;
    font-weight: 850;
}


.posys-login-system-subtitle {
    margin-top: 3px;
    color: rgba(255,255,255,0.76);
    font-size: 0.96rem;
}


.posys-login-brand-message {
    margin: auto 0;
    max-width: 620px;
    padding: 80px 0;
}


.posys-login-eyebrow {
    display: block;
    margin-bottom: 20px;
    color: rgba(255,255,255,0.72);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.12em;
}


.posys-login-brand-message h1 {
    margin: 0;
    color: #ffffff;

    font-size:
        clamp(
            2.8rem,
            5vw,
            5.4rem
        );

    font-weight: 850;
    line-height: 0.98;
    letter-spacing: -0.045em;
}


.posys-login-brand-message p {
    max-width: 560px;
    margin: 28px 0 0;
    color: rgba(255,255,255,0.9);
    font-size: 1.08rem;
    line-height: 1.65;
}


.posys-login-cmyk {
    display: flex;
    gap: 8px;
}


.posys-login-cmyk span {
    width: 12px;
    height: 12px;
    border-radius: 50%;
}


.posys-login-cmyk span:nth-child(1) {
    background: #00aeef;
}

.posys-login-cmyk span:nth-child(2) {
    background: #ec008c;
}

.posys-login-cmyk span:nth-child(3) {
    background: #fff200;
}

.posys-login-cmyk span:nth-child(4) {
    background: #231f20;
}


/* LOGIN FORM */

.posys-login-form-panel {
    display: grid;
    place-items: center;
    padding: 48px;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f7f9fa
        );
}


.posys-login-form-wrap {
    width: min(100%, 480px);
}


.posys-login-mobile-brand {
    display: none;
}


.posys-login-heading > span {
    color: #788795;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.11em;
}


.posys-login-heading h2 {
    margin: 8px 0 0;
    color: #17212b;
    font-size: 2.35rem;
    letter-spacing: -0.025em;
}


.posys-login-heading p {
    margin: 10px 0 0;
    color: #66727e;
    font-size: 1rem;
    line-height: 1.55;
}


.posys-login-form {
    display: grid;
    gap: 20px;
    margin-top: 34px;
}


.posys-login-field {
    display: grid;
    gap: 8px;
}


.posys-login-field label {
    color: #17212b;
    font-size: 0.9rem;
    font-weight: 750;
}


.posys-login-field input {
    width: 100%;
    min-height: 56px;
    padding: 12px 15px;
    border: 1px solid #bdc8d1;
    border-radius: 10px;
    background: #ffffff;
    color: #17212b;
    font: inherit;
}


.posys-login-field input:focus {
    border-color: #d92027;
    outline: 3px solid rgba(217,32,39,0.11);
}


.posys-login-submit {
    display: flex;
    width: 100%;
    min-height: 56px;
    align-items: center;
    justify-content: space-between;
    margin-top: 4px;
    padding: 12px 18px;
    border: 0;
    border-radius: 10px;

    background:
        linear-gradient(
            105deg,
            #c81920,
            #e3232b
        );

    color: #ffffff;
    font: inherit;
    font-size: 1rem;
    font-weight: 800;
    cursor: pointer;

    box-shadow:
        0 12px 24px
        rgba(190, 24, 31, 0.2);
}


.posys-login-submit:hover {
    filter: brightness(0.97);
    transform: translateY(-1px);
}


.posys-login-error {
    display: grid;
    gap: 3px;
    margin-top: 22px;
    padding: 13px 15px;
    border: 1px solid #f1b9b6;
    border-radius: 9px;
    background: #fff0ef;
    color: #94211a;
    font-size: 0.88rem;
}


.posys-login-security-note {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 22px;
    color: #697681;
    font-size: 0.82rem;
}


.posys-login-lock {
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    border-radius: 50%;
    background: #e6f6fb;
    color: #008db8;
    font-size: 0.72rem;
    font-weight: 900;
}


.posys-login-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 56px;
    color: #909aa3;
    font-size: 0.76rem;
}


/* TOPBAR ACCOUNT */

.posys-topbar-account {
    display: flex;
    align-items: center;
    gap: 10px;
}


.posys-topbar-avatar {
    display: grid;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 50%;
    background: #d91f27;
    color: #ffffff;
    font-weight: 850;
}


.posys-topbar-user-copy {
    display: grid;
    min-width: 100px;
    gap: 1px;
}


.posys-topbar-user-copy strong {
    color: var(--text);
    font-size: 0.85rem;
    line-height: 1.2;
}


.posys-topbar-user-copy span {
    color: var(--text-secondary);
    font-size: 0.72rem;
    text-transform: capitalize;
}


.posys-topbar-signout-form {
    margin: 0;
}


.posys-topbar-signout {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #ffffff;
    color: #394654;
    font: inherit;
    font-size: 0.8rem;
    text-decoration: none;
    cursor: pointer;
}


.posys-topbar-signout:hover {
    border-color: #d91f27;
    color: #bd1c22;
}


/* RESPONSIVE */

@media (max-width: 900px) {

    .posys-login-shell {
        grid-template-columns: 1fr;
    }

    .posys-login-brand-panel {
        min-height: auto;
        padding: 28px 26px;
    }

    .posys-login-brand-content {
        min-height: 0;
    }

    .posys-login-brand-top {
        display: none;
    }

    .posys-login-brand-message {
        margin: 0;
        padding: 12px 0;
    }

    .posys-login-brand-message h1 {
        font-size: 2.7rem;
    }

    .posys-login-brand-message p {
        margin-top: 15px;
        font-size: 0.94rem;
    }

    .posys-login-cmyk {
        margin-top: 20px;
    }

    .posys-login-form-panel {
        min-height: calc(100vh - 300px);
        padding: 36px 26px;
    }

    .posys-login-mobile-brand {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 34px;
    }

    .posys-login-mobile-brand img {
        width: 52px;
        height: 52px;
        object-fit: contain;
    }

    .posys-login-mobile-brand div {
        display: grid;
        gap: 2px;
    }

    .posys-login-mobile-brand strong {
        font-size: 1.2rem;
    }

    .posys-login-mobile-brand span {
        color: #697681;
        font-size: 0.78rem;
    }

}


@media (max-width: 560px) {

    .posys-login-brand-panel {
        padding: 24px 20px;
    }

    .posys-login-eyebrow {
        margin-bottom: 12px;
        font-size: 0.68rem;
    }

    .posys-login-brand-message h1 {
        font-size: 2.15rem;
    }

    .posys-login-form-panel {
        padding: 30px 20px;
    }

    .posys-login-heading h2 {
        font-size: 1.85rem;
    }

    .posys-login-footer {
        margin-top: 38px;
    }

    .posys-topbar-user-copy {
        display: none;
    }

}


/* POSYS sidebar logo tile */
.posys-sidebar-logo-tile {
    width: 132px;
    height: 132px;
    background: #ffffff;
    border-radius: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem auto;
    padding: 14px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
}

.posys-sidebar-logo-image {
    max-width: 100%;
    max-height: 100%;
    width: 104px;
    height: auto;
    object-fit: contain;
    display: block;
}

/* Slightly tighter sidebar brand block */
.posys-sidebar-brand,
.posys-sidebar-header,
.posys-app-sidebar-brand {
    text-align: center;
}

@media (max-width: 768px) {
    .posys-sidebar-logo-tile {
        width: 108px;
        height: 108px;
        border-radius: 18px;
        padding: 12px;
    }

    .posys-sidebar-logo-image {
        width: 84px;
    }
}


/* =========================================================
   POSYS SIDEBAR BRAND ORIENTATION - FINAL
   ========================================================= */

.posys-sidebar .posys-brand {
    display: flex !important;
    flex-direction: row !important;

    align-items: center !important;
    justify-content: flex-start !important;

    gap: 18px !important;

    padding:
        16px
        14px
        22px !important;

    margin-bottom: 14px !important;

    text-align: left !important;
}


/* White logo tile */

.posys-sidebar .posys-sidebar-logo-tile {
    display: flex !important;

    flex: 0 0 108px !important;

    width: 108px !important;
    height: 108px !important;

    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;

    padding: 10px !important;

    border-radius: 20px !important;

    background: #ffffff !important;

    box-shadow:
        0 10px 24px
        rgba(0, 0, 0, 0.16) !important;
}


/* Actual Printaland logo */

.posys-sidebar
.posys-sidebar-logo-image,
.posys-sidebar
.posys-brand-logo {
    display: block !important;

    width: 90px !important;
    height: 90px !important;

    max-width: 90px !important;
    max-height: 90px !important;

    object-fit: contain !important;

    margin: 0 !important;
}


/* POSYS text block */

.posys-sidebar
.posys-brand
> div:last-child {
    display: flex !important;

    flex-direction: column !important;

    justify-content: center !important;

    min-width: 0;

    padding-top: 1px;
}


.posys-sidebar
.posys-brand-title {
    margin: 0 !important;

    color: #ffffff !important;

    font-size: 1.72rem !important;

    font-weight: 850 !important;

    line-height: 1.05 !important;

    letter-spacing: 0.01em;
}


.posys-sidebar
.posys-brand-subtitle {
    margin-top: 7px !important;

    color: #b9c7d3 !important;

    font-size: 0.92rem !important;

    line-height: 1.35 !important;
}


/* Keep CMYK strip clean above brand */

.posys-sidebar
.posys-brand::before {
    top: 0 !important;

    left: 0 !important;
    right: 0 !important;

    height: 4px !important;
}


/* Tablet / smaller sidebar */

@media (max-width: 900px) {

    .posys-sidebar
    .posys-brand {
        gap: 14px !important;

        padding:
            14px
            12px
            18px !important;
    }


    .posys-sidebar
    .posys-sidebar-logo-tile {
        flex-basis: 88px !important;

        width: 88px !important;
        height: 88px !important;

        padding: 9px !important;

        border-radius: 17px !important;
    }


    .posys-sidebar
    .posys-sidebar-logo-image,
    .posys-sidebar
    .posys-brand-logo {
        width: 72px !important;
        height: 72px !important;

        max-width: 72px !important;
        max-height: 72px !important;
    }


    .posys-sidebar
    .posys-brand-title {
        font-size: 1.48rem !important;
    }


    .posys-sidebar
    .posys-brand-subtitle {
        font-size: 0.84rem !important;
    }

}


/* Mobile */

@media (max-width: 560px) {

    .posys-sidebar
    .posys-brand {
        gap: 12px !important;
    }


    .posys-sidebar
    .posys-sidebar-logo-tile {
        flex-basis: 74px !important;

        width: 74px !important;
        height: 74px !important;

        padding: 8px !important;

        border-radius: 15px !important;
    }


    .posys-sidebar
    .posys-sidebar-logo-image,
    .posys-sidebar
    .posys-brand-logo {
        width: 60px !important;
        height: 60px !important;

        max-width: 60px !important;
        max-height: 60px !important;
    }


    .posys-sidebar
    .posys-brand-title {
        font-size: 1.3rem !important;
    }


    .posys-sidebar
    .posys-brand-subtitle {
        margin-top: 4px !important;

        font-size: 0.76rem !important;
    }

}



/* =========================================================
   POSYS LOGO SIZE REFINEMENT
   Left sidebar smaller / hero logo larger
   ========================================================= */


/* LEFT SIDEBAR TILE */

.posys-sidebar
.posys-sidebar-logo-tile {
    flex: 0 0 92px !important;

    width: 92px !important;
    height: 92px !important;

    padding: 9px !important;

    border-radius: 18px !important;
}


/* LEFT SIDEBAR LOGO */

.posys-sidebar
.posys-sidebar-logo-image,
.posys-sidebar
.posys-brand-logo {
    width: 74px !important;
    height: 74px !important;

    max-width: 74px !important;
    max-height: 74px !important;

    object-fit: contain !important;
}


/* Slightly rebalance the sidebar brand spacing */

.posys-sidebar
.posys-brand {
    gap: 15px !important;
}


.posys-sidebar
.posys-brand-title {
    font-size: 1.62rem !important;
}


.posys-sidebar
.posys-brand-subtitle {
    margin-top: 6px !important;
}


/* ---------------------------------------------------------
   RIGHT DASHBOARD HERO LOGO
   Keep tile unchanged; enlarge artwork inside it.
   --------------------------------------------------------- */

.posys-dashboard-logo-card {
    padding: 14px !important;
}


.posys-dashboard-logo-card img {
    width: 100% !important;
    height: 100% !important;

    max-width: none !important;
    max-height: none !important;

    object-fit: contain !important;

    transform: scale(1.12);

    transform-origin: center;
}


/* Tablet */

@media (max-width: 900px) {

    .posys-sidebar
    .posys-sidebar-logo-tile {
        flex-basis: 82px !important;

        width: 82px !important;
        height: 82px !important;

        padding: 8px !important;
    }


    .posys-sidebar
    .posys-sidebar-logo-image,
    .posys-sidebar
    .posys-brand-logo {
        width: 66px !important;
        height: 66px !important;

        max-width: 66px !important;
        max-height: 66px !important;
    }


    .posys-dashboard-logo-card img {
        transform: scale(1.08);
    }

}


/* Mobile */

@media (max-width: 560px) {

    .posys-sidebar
    .posys-sidebar-logo-tile {
        flex-basis: 70px !important;

        width: 70px !important;
        height: 70px !important;

        padding: 7px !important;

        border-radius: 14px !important;
    }


    .posys-sidebar
    .posys-sidebar-logo-image,
    .posys-sidebar
    .posys-brand-logo {
        width: 56px !important;
        height: 56px !important;

        max-width: 56px !important;
        max-height: 56px !important;
    }


    .posys-dashboard-logo-card img {
        transform: scale(1.04);
    }

}


/* POSYS sidebar subtitle single-line refinement */
.posys-sidebar .posys-brand-subtitle {
    white-space: nowrap !important;
    font-size: 0.82rem !important;
    line-height: 1.2 !important;
}



/* =========================================================
   POSYS BRAND WORDING FIT - FINAL
   ========================================================= */

/*
 * Sidebar:
 *
 * POSYS
 * Printaland Operating System
 *
 * Keep subtitle on one line without clipping.
 */

.posys-sidebar
.posys-brand {
    gap: 13px !important;
}


.posys-sidebar
.posys-brand
> div:last-child {
    flex: 1 1 auto !important;

    min-width: 0 !important;

    overflow: visible !important;
}


.posys-sidebar
.posys-brand-title {
    white-space: nowrap !important;
}


.posys-sidebar
.posys-brand-subtitle {
    display: block !important;

    width: max-content !important;
    max-width: none !important;

    margin-top: 6px !important;

    white-space: nowrap !important;

    overflow: visible !important;
    text-overflow: clip !important;

    font-size: 0.73rem !important;

    line-height: 1.2 !important;

    letter-spacing: -0.01em !important;
}


/*
 * Slightly reduce tile again only if required
 * for horizontal breathing room.
 */
.posys-sidebar
.posys-sidebar-logo-tile {
    flex-basis: 86px !important;

    width: 86px !important;
    height: 86px !important;
}


.posys-sidebar
.posys-sidebar-logo-image,
.posys-sidebar
.posys-brand-logo {
    width: 69px !important;
    height: 69px !important;

    max-width: 69px !important;
    max-height: 69px !important;
}


/*
 * Tablet/mobile:
 * allow subtitle to remain readable.
 */
@media (max-width: 900px) {

    .posys-sidebar
    .posys-brand-subtitle {
        font-size: 0.7rem !important;
    }

}


@media (max-width: 560px) {

    .posys-sidebar
    .posys-brand-subtitle {
        white-space: normal !important;

        width: auto !important;

        max-width: 150px !important;

        font-size: 0.7rem !important;
    }

}



/* =========================================================
   POSYS SIDEBAR BRAND SPACING - V2
   ========================================================= */

/*
 * Final orientation:
 *
 * [ LOGO ]   POSYS
 *            Printaland Operating
 *            System
 */

.posys-sidebar
.posys-brand {
    display: flex !important;

    align-items: center !important;
    justify-content: flex-start !important;

    gap: 18px !important;

    padding:
        18px
        18px
        28px !important;

    margin-bottom: 20px !important;
}


/* Keep current tile size, but give it proper room. */

.posys-sidebar
.posys-sidebar-logo-tile {
    flex: 0 0 86px !important;

    width: 86px !important;
    height: 86px !important;

    margin: 0 !important;
}


/* Brand text column */

.posys-sidebar
.posys-brand
> div:last-child {
    display: flex !important;
    flex-direction: column !important;

    justify-content: center !important;

    flex: 1 1 auto !important;

    min-width: 0 !important;

    overflow: visible !important;
}


/* POSYS */

.posys-sidebar
.posys-brand-title {
    margin: 0 !important;

    white-space: nowrap !important;

    font-size: 1.65rem !important;

    line-height: 1.05 !important;

    letter-spacing: 0.01em !important;
}


/* Printaland Operating / System */

.posys-sidebar
.posys-brand-subtitle {
    display: flex !important;
    flex-direction: column !important;

    gap: 2px !important;

    width: auto !important;
    max-width: 145px !important;

    margin-top: 8px !important;

    white-space: normal !important;

    overflow: visible !important;

    color: #b9c7d3 !important;

    font-size: 0.78rem !important;

    line-height: 1.25 !important;

    letter-spacing: 0 !important;
}


.posys-sidebar
.posys-brand-subtitle
> span {
    display: block !important;

    white-space: nowrap !important;
}


/*
 * More separation between branding and
 * first navigation section.
 */

.posys-sidebar
.posys-brand
+ .posys-nav-section {
    margin-top: 4px !important;
}


/*
 * Give sidebar sections a slightly cleaner rhythm.
 */

.posys-sidebar
.posys-nav-section {
    margin-bottom: 10px !important;
}


.posys-sidebar
.posys-nav {
    margin-bottom: 24px !important;
}


/* Tablet */

@media (max-width: 900px) {

    .posys-sidebar
    .posys-brand {
        gap: 14px !important;

        padding:
            15px
            14px
            22px !important;

        margin-bottom: 16px !important;
    }

    .posys-sidebar
    .posys-brand-title {
        font-size: 1.48rem !important;
    }

    .posys-sidebar
    .posys-brand-subtitle {
        font-size: 0.72rem !important;

        max-width: 132px !important;
    }

}


/* Mobile */

@media (max-width: 560px) {

    .posys-sidebar
    .posys-brand {
        gap: 12px !important;

        padding:
            13px
            12px
            18px !important;
    }

    .posys-sidebar
    .posys-brand-subtitle {
        font-size: 0.68rem !important;
    }

}


/* =========================================================
   POSYS SIDEBAR BRAND SPACING SYSTEM ROW FINAL
   ========================================================= */

/*
 * Final layout:
 *
 * [ LOGO ]   POSYS
 *            Printaland Operating
 *            System
 */

.posys-sidebar
.posys-brand {
    display: flex !important;
    flex-direction: row !important;

    align-items: center !important;
    justify-content: flex-start !important;

    gap: 16px !important;

    padding:
        18px
        16px
        25px !important;

    margin-bottom: 18px !important;

    text-align: left !important;
}


/*
 * Keep the current compact logo tile.
 */

.posys-sidebar
.posys-sidebar-logo-tile {
    flex: 0 0 86px !important;

    width: 86px !important;
    height: 86px !important;

    margin: 0 !important;

    padding: 8px !important;
}


.posys-sidebar
.posys-sidebar-logo-image,
.posys-sidebar
.posys-brand-logo {
    width: 69px !important;
    height: 69px !important;

    max-width: 69px !important;
    max-height: 69px !important;

    object-fit: contain !important;
}


/*
 * Text column.
 */

.posys-sidebar
.posys-brand
> div:last-child {
    display: flex !important;
    flex-direction: column !important;

    justify-content: center !important;

    flex: 1 1 auto !important;

    min-width: 0 !important;

    overflow: visible !important;
}


.posys-sidebar
.posys-brand-title {
    margin: 0 !important;

    color: #ffffff !important;

    white-space: nowrap !important;

    font-size: 1.62rem !important;

    font-weight: 850 !important;

    line-height: 1.05 !important;
}


/*
 * Two controlled subtitle rows.
 */

.posys-sidebar
.posys-brand-subtitle {
    display: flex !important;
    flex-direction: column !important;

    gap: 2px !important;

    width: auto !important;
    max-width: none !important;

    margin-top: 8px !important;

    color: #b9c7d3 !important;

    font-size: 0.77rem !important;

    line-height: 1.22 !important;

    white-space: normal !important;

    overflow: visible !important;

    text-overflow: clip !important;
}


.posys-sidebar
.posys-brand-subtitle
> span {
    display: block !important;

    white-space: nowrap !important;
}


/*
 * Better separation between branding
 * and the Operations navigation.
 */

.posys-sidebar
.posys-brand
+ .posys-nav-section {
    margin-top: 5px !important;
}


.posys-sidebar
.posys-nav-section {
    margin-bottom: 10px !important;
}


.posys-sidebar
.posys-nav {
    margin-bottom: 24px !important;
}


/* Tablet */

@media (max-width: 900px) {

    .posys-sidebar
    .posys-brand {
        gap: 13px !important;

        padding:
            15px
            13px
            21px !important;
    }


    .posys-sidebar
    .posys-brand-title {
        font-size: 1.46rem !important;
    }


    .posys-sidebar
    .posys-brand-subtitle {
        font-size: 0.71rem !important;
    }

}


/* Mobile */

@media (max-width: 560px) {

    .posys-sidebar
    .posys-brand {
        gap: 11px !important;

        padding:
            13px
            11px
            18px !important;
    }


    .posys-sidebar
    .posys-brand-subtitle {
        font-size: 0.67rem !important;
    }

}



/* =========================================================
   POSYS DASHBOARD HEADER ALIGNMENT
   Align breadcrumb with dashboard content edge
   ========================================================= */

/*
 * Desktop:
 *
 * The dashboard content cards already have an
 * inner horizontal gutter. Match the topbar
 * breadcrumb to that same visual line.
 */

.posys-topbar {
    padding-left: 30px !important;
    padding-right: 24px !important;
}


/*
 * Ensure the breadcrumb itself has no
 * additional accidental left offset.
 */

.posys-dashboard-breadcrumb {
    margin-left: 0 !important;
    padding-left: 0 !important;
}


/*
 * Keep dashboard content gutter consistent.
 */

.posys-content {
    padding-left: 30px !important;
    padding-right: 30px !important;
}


/*
 * Tablet
 */

@media (max-width: 900px) {

    .posys-topbar {
        padding-left: 22px !important;
        padding-right: 20px !important;
    }

    .posys-content {
        padding-left: 22px !important;
        padding-right: 22px !important;
    }

}


/*
 * Mobile
 */

@media (max-width: 560px) {

    .posys-topbar {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .posys-content {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

}



/* =========================================================
   POSYS DASHBOARD BREADCRUMB ALIGNMENT ONLY
   ========================================================= */

/*
 * Move only:
 *
 * OVERVIEW
 * Dashboard
 *
 * Do not move dashboard content or cards.
 */

.posys-dashboard-breadcrumb {
    margin-left: 25px !important;
    padding-left: 0 !important;
}


/*
 * Leave main content positioning unchanged.
 */

@media (max-width: 900px) {

    .posys-dashboard-breadcrumb {
        margin-left: 18px !important;
    }

}


@media (max-width: 560px) {

    .posys-dashboard-breadcrumb {
        margin-left: 10px !important;
    }

}



/* =========================================================
   POSYS DASHBOARD BREADCRUMB ALIGNMENT ONLY
   ========================================================= */

/*
 * Move only:
 *
 * OVERVIEW
 * Dashboard
 *
 * Do not move dashboard content or cards.
 */

.posys-dashboard-breadcrumb {
    margin-left: 25px !important;
    padding-left: 0 !important;
}


/*
 * Leave main content positioning unchanged.
 */

@media (max-width: 900px) {

    .posys-dashboard-breadcrumb {
        margin-left: 18px !important;
    }

}


@media (max-width: 560px) {

    .posys-dashboard-breadcrumb {
        margin-left: 10px !important;
    }

}



/* =========================================================
   POSYS DASHBOARD HERO - FINAL CYAN
   ========================================================= */

.posys-dashboard-hero {
    background:
        radial-gradient(
            circle at 86% 18%,
            rgba(236, 0, 140, 0.13),
            transparent 30%
        ),
        linear-gradient(
            125deg,
            #00677f 0%,
            #008eac 45%,
            #00aeef 100%
        ) !important;

    box-shadow:
        0 18px 42px
        rgba(0, 97, 121, 0.20) !important;
}


/* Large circular background accent */

.posys-dashboard-hero::before {
    border-color:
        rgba(255,255,255,0.11) !important;
}


/* Dotted print pattern */

.posys-dashboard-hero::after {
    opacity: 0.14 !important;
}


/* Keep all hero wording white */

.posys-dashboard-hero h1,
.posys-dashboard-eyebrow,
.posys-dashboard-hero-copy > p {
    color: #ffffff !important;
}


/* Access-level badge */

.posys-dashboard-role {
    background:
        rgba(0, 76, 94, 0.32) !important;

    border-color:
        rgba(255,255,255,0.38) !important;
}


/* Keep logo tile white */

.posys-dashboard-logo-card {
    background: #ffffff !important;

    box-shadow:
        0 22px 46px
        rgba(0, 70, 88, 0.22) !important;
}


/* Curved decorative line */

.posys-dashboard-hero-pattern {
    border-color:
        rgba(255,255,255,0.30) !important;

    opacity: 0.17 !important;
}



/* =========================================================
   POSYS LOGIN PAGE - CYAN THEME
   Match Dashboard Hero
   ========================================================= */


/* LEFT LOGIN BRAND PANEL */

.posys-login-brand-panel {
    background:
        radial-gradient(
            circle at 88% 18%,
            rgba(236, 0, 140, 0.14),
            transparent 30%
        ),
        linear-gradient(
            138deg,
            #005f76 0%,
            #008dab 48%,
            #00aeef 100%
        ) !important;

    color: #ffffff !important;
}


/* Keep CMYK strip at the top */

.posys-login-brand-panel::before {
    background:
        linear-gradient(
            90deg,
            #00aeef 0%,
            #ec008c 34%,
            #fff200 68%,
            #231f20 100%
        ) !important;
}


/* Large circular motif */

.posys-login-brand-panel::after {
    border-color:
        rgba(
            255,
            255,
            255,
            0.09
        ) !important;
}


/* Dot pattern */

.posys-login-brand-pattern {
    opacity: 0.14 !important;
}


/* Brand wording */

.posys-login-system-name,
.posys-login-brand-message h1 {
    color: #ffffff !important;
}


.posys-login-system-subtitle {
    color:
        rgba(
            255,
            255,
            255,
            0.82
        ) !important;
}


.posys-login-eyebrow {
    color:
        rgba(
            255,
            255,
            255,
            0.78
        ) !important;
}


.posys-login-brand-message p {
    color:
        rgba(
            255,
            255,
            255,
            0.92
        ) !important;
}


/* Refine logo tile shadow for cyan */

.posys-login-logo-box {
    background: #ffffff !important;

    box-shadow:
        0 18px 38px
        rgba(
            0,
            69,
            87,
            0.22
        ) !important;
}


/*
 * Keep Sign In button Printaland red.
 * This provides a strong action contrast
 * against the cyan branding.
 */

.posys-login-submit {
    background:
        linear-gradient(
            105deg,
            #c81920,
            #e3232b
        ) !important;
}


/* Mobile keeps same cyan theme */

@media (max-width: 900px) {

    .posys-login-brand-panel {
        background:
            linear-gradient(
                125deg,
                #00677f,
                #00aeef
            ) !important;
    }

}



/* =========================================================
   POSYS JOB DETAIL MOBILE PRODUCT CARDS
   ========================================================= */


/*
 * Desktop header spacing.
 */

.posys-products-services-section
> :first-child {
    margin-top: 0;
}


/*
 * Keep Add Product / Service aligned cleanly.
 */

.posys-products-services-section
.button {
    white-space: nowrap;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 700px) {

    /*
     * Reduce card padding on phone.
     */

    .posys-products-services-section {
        padding:
            18px 16px !important;
    }


    /*
     * Header area stacks vertically.
     */

    .posys-products-services-section
    > div:first-child {
        display: flex !important;

        flex-direction: column !important;

        align-items: stretch !important;

        gap: 14px !important;
    }


    .posys-products-services-section
    > div:first-child
    h2 {
        margin-bottom: 0 !important;
    }


    /*
     * Full-width Add Product button.
     */

    .posys-products-services-section
    > div:first-child
    .button {
        width: 100% !important;

        justify-content: center !important;

        text-align: center !important;
    }


    /*
     * Convert desktop table to stacked cards.
     */

    .posys-products-table,
    .posys-products-table tbody,
    .posys-products-table tr,
    .posys-products-table td {
        display: block !important;

        width: 100% !important;
    }


    .posys-products-table {
        border: 0 !important;

        background: transparent !important;
    }


    /*
     * Hide desktop column headings.
     */

    .posys-products-table thead {
        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;
    }


    /*
     * Each product becomes its own card.
     */

    .posys-products-table tbody tr {
        margin:
            0
            0
            16px !important;

        padding:
            14px
            15px !important;

        border:
            1px solid
            #d9e1e8 !important;

        border-radius:
            12px !important;

        background:
            #ffffff !important;

        box-shadow:
            0 4px 14px
            rgba(13, 43, 69, 0.06);
    }


    /*
     * Individual fields.
     */

    .posys-products-table tbody td {
        display: grid !important;

        grid-template-columns:
            minmax(92px, 0.38fr)
            minmax(0, 1fr) !important;

        gap: 10px !important;

        align-items: start !important;

        padding:
            8px
            0 !important;

        border:
            0 !important;

        text-align: left !important;
    }


    .posys-products-table tbody td
    + td {
        border-top:
            1px solid
            #edf1f4 !important;
    }


    /*
     * Mobile labels based on current five columns:
     *
     * Item
     * Product / Service
     * Required date
     * Status
     * Actions
     */

    .posys-products-table tbody
    td:nth-child(1)::before {
        content: "Item";
    }

    .posys-products-table tbody
    td:nth-child(2)::before {
        content: "Product / Service";
    }

    .posys-products-table tbody
    td:nth-child(3)::before {
        content: "Required date";
    }

    .posys-products-table tbody
    td:nth-child(4)::before {
        content: "Status";
    }

    .posys-products-table tbody
    td:nth-child(5)::before {
        content: "Actions";
    }


    .posys-products-table tbody
    td::before {
        color: #607080;

        font-size: 0.72rem;

        font-weight: 800;

        letter-spacing: 0.04em;

        text-transform: uppercase;
    }


    /*
     * Product name gets more emphasis.
     */

    .posys-products-table tbody
    td:nth-child(2) {
        font-weight: 700;
    }


    /*
     * Action buttons wrap properly instead of
     * extending beyond mobile viewport.
     */

    .posys-products-table tbody
    td:nth-child(5)
    > * {
        min-width: 0 !important;

        max-width: 100% !important;
    }


    .posys-products-table tbody
    td:nth-child(5)
    .button,
    .posys-products-table tbody
    td:nth-child(5)
    button {
        width: auto;

        max-width: 100%;

        white-space: normal;
    }


    /*
     * Details/action menus stay inside viewport.
     */

    .posys-products-table details {
        max-width: 100% !important;
    }


    .posys-products-table
    .posys-product-secondary-actions {
        max-width: 100% !important;
    }

}


/* Very small phone */

@media (max-width: 430px) {

    .posys-products-table tbody td {
        grid-template-columns:
            84px
            minmax(0, 1fr) !important;

        gap: 8px !important;
    }


    .posys-products-services-section {
        padding:
            16px 12px !important;
    }

}



/* =========================================================
   POSYS TOPBAR PAGE TITLE ALIGNMENT
   ========================================================= */

/*
 * Move only the left-side page title in the top bar.
 * Keep account/profile/sign-out controls unchanged.
 */

.posys-topbar
.posys-topbar-title,
.posys-topbar
.posys-page-context,
.posys-topbar
.posys-topbar-heading {
    margin-left: 28px !important;
}


/*
 * Tablet
 */

@media (max-width: 900px) {

    .posys-topbar
    .posys-topbar-title,
    .posys-topbar
    .posys-page-context,
    .posys-topbar
    .posys-topbar-heading {
        margin-left: 20px !important;
    }

}


/*
 * Mobile
 */

@media (max-width: 560px) {

    .posys-topbar
    .posys-topbar-title,
    .posys-topbar
    .posys-page-context,
    .posys-topbar
    .posys-topbar-heading {
        margin-left: 12px !important;
    }

}



/* =========================================================
   POSYS STANDARD TWO LINE TOPBAR HEADER
   Same structure as Dashboard
   ========================================================= */

.posys-dashboard-breadcrumb {
    display: flex !important;
    flex-direction: column !important;

    align-items: flex-start !important;
    justify-content: center !important;

    gap: 2px !important;

    margin-left: 25px !important;
    padding: 0 !important;
}


.posys-dashboard-breadcrumb > span {
    display: block !important;

    color: #637384 !important;

    font-size: 0.72rem !important;

    font-weight: 800 !important;

    line-height: 1.1 !important;

    letter-spacing: 0.08em !important;

    text-transform: uppercase !important;
}


.posys-dashboard-breadcrumb > strong {
    display: block !important;

    margin: 0 !important;

    color: #081c2c !important;

    font-size: 1.05rem !important;

    font-weight: 750 !important;

    line-height: 1.2 !important;
}


/* Tablet */

@media (max-width: 900px) {

    .posys-dashboard-breadcrumb {
        margin-left: 18px !important;
    }

}


/* Mobile */

@media (max-width: 560px) {

    .posys-dashboard-breadcrumb {
        margin-left: 10px !important;
    }

    .posys-dashboard-breadcrumb > span {
        font-size: 0.66rem !important;
    }

    .posys-dashboard-breadcrumb > strong {
        font-size: 0.98rem !important;
    }

}



/* =========================================================
   POSYS GLOBAL MOBILE SHELL V1
   ========================================================= */


/* Desktop: button and overlay remain hidden */

.posys-mobile-menu-button,
.posys-mobile-sidebar-overlay {
    display: none;
}


/* Topbar context can shrink correctly */

.posys-topbar-context {
    min-width: 0;
}


/* =========================================================
   TABLET / MOBILE
   ========================================================= */

@media (max-width: 900px) {

    /*
     * Main application takes full viewport width.
     */

    .posys-layout {
        display: block !important;

        min-height: 100vh;
    }


    .posys-main {
        width: 100% !important;

        min-width: 0 !important;

        margin-left: 0 !important;
    }


    /*
     * Sidebar becomes off-canvas.
     */

    .posys-sidebar {
        position: fixed !important;

        top: 0 !important;
        bottom: 0 !important;
        left: 0 !important;

        z-index: 1200 !important;

        width: min(
            84vw,
            320px
        ) !important;

        height: 100vh !important;

        overflow-y: auto !important;

        transform:
            translateX(-105%) !important;

        transition:
            transform
            0.24s
            ease !important;

        box-shadow:
            18px 0 42px
            rgba(3, 24, 39, 0.22) !important;

        overscroll-behavior:
            contain;
    }


    body.posys-mobile-nav-open
    .posys-sidebar {
        transform:
            translateX(0) !important;
    }


    /*
     * Dark page overlay.
     */

    .posys-mobile-sidebar-overlay {
        display: block;

        position: fixed;

        inset: 0;

        z-index: 1150;

        width: 100%;
        height: 100%;

        margin: 0;
        padding: 0;

        border: 0;

        background:
            rgba(
                3,
                22,
                36,
                0.48
            );

        opacity: 0;

        visibility: hidden;

        pointer-events: none;

        transition:
            opacity
            0.2s
            ease,
            visibility
            0.2s
            ease;
    }


    body.posys-mobile-nav-open
    .posys-mobile-sidebar-overlay {
        opacity: 1;

        visibility: visible;

        pointer-events: auto;
    }


    body.posys-mobile-nav-open {
        overflow: hidden;
    }


    /*
     * Mobile topbar.
     */

    .posys-topbar {
        display: grid !important;

        grid-template-columns:
            auto
            minmax(0, 1fr)
            auto !important;

        align-items: center !important;

        gap: 12px !important;

        min-height: 68px !important;

        padding:
            10px
            16px !important;

        position: sticky !important;

        top: 0 !important;

        z-index: 1000 !important;

        background:
            rgba(
                255,
                255,
                255,
                0.97
            ) !important;

        backdrop-filter:
            blur(10px);

        border-bottom:
            1px solid
            #e3e8ed !important;
    }


    /*
     * Hamburger.
     */

    .posys-mobile-menu-button {
        display: inline-flex !important;

        flex-direction: column;

        align-items: center;
        justify-content: center;

        gap: 4px;

        width: 42px;
        height: 42px;

        margin: 0;
        padding: 0;

        border:
            1px solid
            #dbe2e8;

        border-radius:
            10px;

        background:
            #ffffff;

        cursor: pointer;
    }


    .posys-mobile-menu-button span {
        display: block;

        width: 19px;
        height: 2px;

        border-radius: 2px;

        background:
            #0d273a;

        transition:
            transform
            0.2s
            ease,
            opacity
            0.2s
            ease;
    }


    body.posys-mobile-nav-open
    .posys-mobile-menu-button
    span:nth-child(1) {
        transform:
            translateY(6px)
            rotate(45deg);
    }


    body.posys-mobile-nav-open
    .posys-mobile-menu-button
    span:nth-child(2) {
        opacity: 0;
    }


    body.posys-mobile-nav-open
    .posys-mobile-menu-button
    span:nth-child(3) {
        transform:
            translateY(-6px)
            rotate(-45deg);
    }


    /*
     * Breadcrumb/header.
     *
     * Remove desktop manual margin because the
     * hamburger establishes the mobile gutter.
     */

    .posys-topbar-context {
        min-width: 0;
        overflow: hidden;
    }


    .posys-dashboard-breadcrumb {
        margin-left: 0 !important;

        min-width: 0;
    }


    .posys-dashboard-breadcrumb > span,
    .posys-dashboard-breadcrumb > strong {
        max-width: 100%;

        overflow: hidden;

        text-overflow: ellipsis;

        white-space: nowrap;
    }


    /*
     * Account.
     */

    .posys-user {
        min-width: 0;
    }


    .posys-topbar-account {
        gap: 8px !important;
    }


    .posys-topbar-user-copy {
        display: none !important;
    }


    .posys-topbar-avatar {
        width: 36px !important;
        height: 36px !important;

        flex-basis: 36px !important;
    }


    .posys-topbar-signout {
        min-height: 36px !important;

        padding:
            7px
            10px !important;

        font-size:
            0.76rem !important;
    }


    /*
     * Main content.
     */

    .posys-content {
        width: 100% !important;

        max-width: none !important;

        margin: 0 !important;

        padding:
            20px
            18px
            36px !important;

        overflow-x: hidden;
    }


    /*
     * Common page headers.
     */

    .posys-page-header {
        display: flex !important;

        flex-direction: column !important;

        align-items: stretch !important;

        gap: 14px !important;
    }


    .posys-page-header
    > div {
        min-width: 0;
    }


    .posys-page-header h1 {
        font-size:
            clamp(
                1.55rem,
                7vw,
                2rem
            ) !important;

        line-height:
            1.12 !important;
    }


    .posys-page-header
    .button,
    .posys-page-header
    .posys-button {
        width: 100%;

        justify-content: center;

        text-align: center;
    }


    /*
     * Common cards.
     */

    .posys-card {
        max-width: 100% !important;

        overflow-x: hidden;
    }


    /*
     * Forms.
     */

    .posys-form-grid,
    .posys-specification-grid,
    .posys-filter-row {
        grid-template-columns:
            minmax(0, 1fr) !important;
    }


    input,
    select,
    textarea {
        max-width: 100%;
    }


    /*
     * Buttons/action groups wrap.
     */

    .posys-actions {
        display: flex !important;

        flex-wrap: wrap !important;

        gap: 8px !important;
    }

}


/* =========================================================
   SMALL PHONE
   ========================================================= */

@media (max-width: 560px) {

    .posys-topbar {
        gap: 9px !important;

        min-height: 64px !important;

        padding:
            9px
            12px !important;
    }


    .posys-mobile-menu-button {
        width: 39px;
        height: 39px;

        border-radius: 9px;
    }


    .posys-topbar-avatar {
        width: 34px !important;
        height: 34px !important;

        flex-basis: 34px !important;
    }


    /*
     * On narrow phones, Sign out remains available
     * but becomes compact.
     */

    .posys-topbar-signout {
        padding:
            6px
            8px !important;

        font-size:
            0.7rem !important;
    }


    .posys-content {
        padding:
            16px
            12px
            32px !important;
    }


    .posys-dashboard-breadcrumb > span {
        font-size:
            0.62rem !important;
    }


    .posys-dashboard-breadcrumb > strong {
        font-size:
            0.94rem !important;
    }


    .posys-card {
        padding:
            16px
            14px !important;
    }

}



/* =========================================================
   POSYS MOBILE DASHBOARD V2
   ========================================================= */


/* ---------------------------------------------------------
   TABLET / MOBILE
   --------------------------------------------------------- */

@media (max-width: 900px) {

    /*
     * Dashboard shell.
     */

    .posys-dashboard-shell {
        width: 100% !important;

        margin: 0 !important;

        padding: 0 !important;
    }


    /*
     * HERO
     *
     * Stack wording and logo vertically.
     */

    .posys-dashboard-hero {
        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr) !important;

        gap: 24px !important;

        min-height: 0 !important;

        padding:
            28px
            26px !important;

        border-radius:
            18px !important;

        overflow: hidden;
    }


    .posys-dashboard-hero-copy {
        max-width: 100% !important;

        order: 1;
    }


    .posys-dashboard-hero-brand {
        display: flex !important;

        justify-content: flex-start !important;

        align-items: center !important;

        order: 2;
    }


    .posys-dashboard-eyebrow {
        margin-bottom: 12px !important;

        font-size: 0.72rem !important;

        letter-spacing: 0.08em !important;
    }


    .posys-dashboard-hero h1 {
        margin:
            0
            0
            14px !important;

        font-size:
            clamp(
                2rem,
                8vw,
                3rem
            ) !important;

        line-height:
            1.03 !important;
    }


    .posys-dashboard-hero-copy > p {
        max-width: 560px !important;

        margin-bottom: 18px !important;

        font-size: 0.95rem !important;

        line-height: 1.55 !important;
    }


    /*
     * Access badge.
     */

    .posys-dashboard-role {
        display: inline-flex !important;

        flex-direction: column !important;

        align-items: flex-start !important;

        width: auto !important;

        max-width: 100% !important;

        padding:
            10px
            14px !important;

        border-radius:
            10px !important;
    }


    /*
     * Logo tile.
     */

    .posys-dashboard-logo-card {
        width: 150px !important;
        height: 150px !important;

        min-width: 150px !important;

        padding: 12px !important;

        border-radius:
            20px !important;
    }


    .posys-dashboard-logo-card img {
        width: 100% !important;
        height: 100% !important;

        max-width: none !important;
        max-height: none !important;

        object-fit: contain !important;

        transform: scale(1.08) !important;
    }


    /*
     * KPI cards.
     */

    .posys-dashboard-kpi-grid,
    .posys-dashboard-stats,
    .posys-kpi-grid {
        display: grid !important;

        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            ) !important;

        gap: 12px !important;
    }


    .posys-dashboard-kpi-card,
    .posys-dashboard-stat-card,
    .posys-kpi-card {
        min-width: 0 !important;

        padding:
            16px
            15px !important;

        border-radius:
            12px !important;
    }


    /*
     * Dashboard sections.
     */

    .posys-dashboard-section {
        margin-top:
            22px !important;
    }


    .posys-dashboard-section-header {
        display: flex !important;

        flex-direction: column !important;

        align-items: stretch !important;

        gap: 12px !important;
    }


    /*
     * Quick Access.
     */

    .posys-dashboard-quick-grid,
    .posys-dashboard-actions-grid {
        display: grid !important;

        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            ) !important;

        gap: 12px !important;
    }


    .posys-dashboard-quick-grid
    a,
    .posys-dashboard-actions-grid
    a {
        min-height: 74px !important;

        padding:
            14px !important;

        display: flex !important;

        align-items: center !important;

        justify-content: flex-start !important;

        white-space: normal !important;

        text-align: left !important;
    }


    /*
     * Current Job Overview.
     *
     * Prevent the dashboard from expanding wider
     * than the mobile viewport.
     */

    .posys-dashboard-job-overview,
    .posys-dashboard-current-jobs {
        max-width: 100% !important;

        overflow-x: auto !important;

        -webkit-overflow-scrolling: touch;
    }


    .posys-dashboard-job-overview table,
    .posys-dashboard-current-jobs table {
        min-width: 680px;
    }


    /*
     * Summary/card grids.
     */

    .posys-summary-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            ) !important;

        gap: 10px !important;
    }

}


/* ---------------------------------------------------------
   SMALL PHONE
   --------------------------------------------------------- */

@media (max-width: 560px) {

    /*
     * Hero becomes compact.
     */

    .posys-dashboard-hero {
        gap: 20px !important;

        padding:
            24px
            18px !important;

        border-radius:
            15px !important;
    }


    .posys-dashboard-eyebrow {
        font-size:
            0.65rem !important;
    }


    .posys-dashboard-hero h1 {
        font-size:
            clamp(
                1.85rem,
                10vw,
                2.55rem
            ) !important;
    }


    .posys-dashboard-hero-copy > p {
        font-size:
            0.88rem !important;

        line-height:
            1.5 !important;
    }


    /*
     * Logo tile still visible, but not oversized.
     */

    .posys-dashboard-logo-card {
        width: 118px !important;
        height: 118px !important;

        min-width: 118px !important;

        padding: 9px !important;

        border-radius:
            17px !important;
    }


    .posys-dashboard-logo-card img {
        transform:
            scale(1.07) !important;
    }


    /*
     * One-column KPI layout on narrow screens.
     */

    .posys-dashboard-kpi-grid,
    .posys-dashboard-stats,
    .posys-kpi-grid {
        grid-template-columns:
            minmax(0, 1fr) !important;
    }


    /*
     * Quick access also one column.
     */

    .posys-dashboard-quick-grid,
    .posys-dashboard-actions-grid {
        grid-template-columns:
            minmax(0, 1fr) !important;
    }


    .posys-dashboard-quick-grid
    a,
    .posys-dashboard-actions-grid
    a {
        min-height:
            60px !important;
    }


    /*
     * General dashboard cards.
     */

    .posys-dashboard-shell
    .posys-card {
        padding:
            16px
            14px !important;

        border-radius:
            12px !important;
    }


    /*
     * Summary statistics.
     */

    .posys-summary-grid {
        grid-template-columns:
            minmax(0, 1fr) !important;
    }

}


/* ---------------------------------------------------------
   VERY SMALL PHONE
   --------------------------------------------------------- */

@media (max-width: 390px) {

    .posys-dashboard-hero {
        padding:
            21px
            15px !important;
    }


    .posys-dashboard-logo-card {
        width: 104px !important;
        height: 104px !important;

        min-width: 104px !important;
    }


    .posys-dashboard-role {
        width: 100% !important;
    }

}



/* =========================================================
   POSYS CURRENT JOBS MOBILE V1
   ========================================================= */


@media (max-width: 900px) {

    /*
     * Search & filters.
     */

    .posys-current-jobs-filter-form
    .posys-filter-row {
        display: grid !important;

        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            ) !important;

        gap:
            14px !important;
    }


    .posys-current-jobs-filter-form
    .form-row {
        min-width: 0 !important;

        margin: 0 !important;
    }


    .posys-current-jobs-filter-form
    input,
    .posys-current-jobs-filter-form
    select {
        width: 100% !important;

        max-width: none !important;
    }


    /*
     * Filter action buttons.
     */

    .posys-current-jobs-filter-form
    .posys-actions {
        margin-top:
            16px !important;

        display: flex !important;

        flex-wrap: wrap !important;

        gap: 8px !important;
    }


    /*
     * Keep table constrained before mobile-card
     * breakpoint.
     */

    .posys-current-jobs-table {
        max-width: 100% !important;
    }

}


/* =========================================================
   PHONE - TABLE BECOMES JOB CARDS
   ========================================================= */

@media (max-width: 700px) {

    /*
     * Filters become one column.
     */

    .posys-current-jobs-filter-form
    .posys-filter-row {
        grid-template-columns:
            minmax(0, 1fr) !important;

        gap:
            13px !important;
    }


    .posys-current-jobs-filter-form
    .posys-actions {
        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr) !important;

        gap: 8px !important;
    }


    .posys-current-jobs-filter-form
    .posys-actions
    .button,
    .posys-current-jobs-filter-form
    .posys-actions
    .posys-button,
    .posys-current-jobs-filter-form
    .posys-actions
    button,
    .posys-current-jobs-filter-form
    .posys-actions
    a {
        width: 100% !important;

        min-height: 42px !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        text-align: center !important;
    }


    /*
     * Remove traditional table behavior.
     */

    .posys-current-jobs-table,
    .posys-current-jobs-table tbody,
    .posys-current-jobs-table tr,
    .posys-current-jobs-table td {
        display: block !important;

        width: 100% !important;

        max-width: 100% !important;
    }


    .posys-current-jobs-table {
        border: 0 !important;

        background:
            transparent !important;

        overflow:
            visible !important;
    }


    /*
     * Desktop headings remain available to
     * accessibility tools but are visually hidden.
     */

    .posys-current-jobs-table
    thead {
        position: absolute !important;

        width: 1px !important;
        height: 1px !important;

        margin: -1px !important;
        padding: 0 !important;

        overflow: hidden !important;

        clip:
            rect(
                0,
                0,
                0,
                0
            ) !important;

        white-space:
            nowrap !important;

        border: 0 !important;
    }


    /*
     * One job = one card.
     */

    .posys-current-jobs-table
    tbody
    tr {
        margin:
            0
            0
            14px !important;

        padding:
            6px
            15px !important;

        border:
            1px solid
            #dce3e9 !important;

        border-radius:
            13px !important;

        background:
            #ffffff !important;

        box-shadow:
            0
            4px
            14px
            rgba(
                8,
                35,
                55,
                0.06
            ) !important;

        overflow:
            hidden !important;
    }


    /*
     * Each database field becomes:
     *
     * LABEL | VALUE
     *
     * Labels come automatically from the desktop
     * table heading via JavaScript.
     */

    .posys-current-jobs-table
    tbody
    td {
        display: grid !important;

        grid-template-columns:
            minmax(
                88px,
                0.34fr
            )
            minmax(
                0,
                1fr
            ) !important;

        gap:
            10px !important;

        align-items:
            start !important;

        padding:
            10px
            0 !important;

        border:
            0 !important;

        text-align:
            left !important;

        overflow-wrap:
            anywhere;
    }


    .posys-current-jobs-table
    tbody
    td
    + td {
        border-top:
            1px solid
            #edf1f4 !important;
    }


    /*
     * Dynamic heading.
     */

    .posys-current-jobs-table
    tbody
    td::before {
        content:
            attr(
                data-mobile-label
            );

        display:
            block;

        color:
            #657483;

        font-size:
            0.68rem;

        font-weight:
            800;

        line-height:
            1.3;

        letter-spacing:
            0.045em;

        text-transform:
            uppercase;
    }


    /*
     * Job number links / names.
     */

    .posys-current-jobs-table
    tbody
    td
    a {
        max-width:
            100%;

        overflow-wrap:
            anywhere;
    }


    /*
     * Stage badges remain compact.
     */

    .posys-current-jobs-table
    .posys-stage-badge,
    .posys-current-jobs-table
    .posys-status-badge {
        max-width:
            100%;

        white-space:
            normal !important;
    }


    /*
     * Buttons/action menus.
     */

    .posys-current-jobs-table
    .button,
    .posys-current-jobs-table
    .posys-button,
    .posys-current-jobs-table
    button {
        max-width:
            100% !important;

        white-space:
            normal !important;
    }


    .posys-current-jobs-table
    .posys-actions {
        display:
            flex !important;

        flex-wrap:
            wrap !important;

        gap:
            6px !important;

        margin:
            0 !important;
    }


    /*
     * Details/dropdown actions should never
     * overflow the phone viewport.
     */

    .posys-current-jobs-table
    details {
        max-width:
            100% !important;
    }

}


/* =========================================================
   SMALL PHONE
   ========================================================= */

@media (max-width: 430px) {

    .posys-current-jobs-filter-form
    .posys-actions {
        grid-template-columns:
            minmax(0, 1fr) !important;
    }


    .posys-current-jobs-table
    tbody
    tr {
        padding:
            5px
            12px !important;

        border-radius:
            11px !important;
    }


    .posys-current-jobs-table
    tbody
    td {
        grid-template-columns:
            minmax(
                80px,
                0.32fr
            )
            minmax(
                0,
                1fr
            ) !important;

        gap:
            8px !important;

        padding:
            9px
            0 !important;
    }


    .posys-current-jobs-table
    tbody
    td::before {
        font-size:
            0.64rem;
    }

}



/* =========================================================
   POSYS CREATE JOB MOBILE V1 FIXED
   Also applies safely to Edit Job because both share
   jobs/job_form.html.
   ========================================================= */


@media (max-width: 900px) {

    .posys-create-job-form {
        width: 100% !important;
        max-width: 100% !important;
    }


    .posys-create-job-field {
        width: 100% !important;

        max-width: 100% !important;

        margin-bottom: 16px !important;
    }


    .posys-create-job-field label {
        display: block !important;

        margin-bottom: 6px !important;

        font-weight: 700 !important;

        line-height: 1.3 !important;
    }


    .posys-create-job-field input,
    .posys-create-job-field select,
    .posys-create-job-field textarea {
        display: block !important;

        width: 100% !important;

        max-width: 100% !important;

        box-sizing: border-box !important;
    }


    .posys-create-job-field input,
    .posys-create-job-field select {
        min-height: 44px !important;
    }


    .posys-create-job-field textarea {
        min-height: 120px !important;

        resize: vertical;
    }


    .posys-create-job-field small {
        display: block;

        margin-top: 5px;

        overflow-wrap: anywhere;
    }


    .posys-create-job-field
    .errorlist {
        margin-top: 6px !important;

        padding-left: 18px !important;

        overflow-wrap: anywhere;
    }


    .posys-create-job-actions {
        display: flex !important;

        flex-wrap: wrap !important;

        gap: 9px !important;

        margin-top: 20px !important;
    }


    .posys-create-job-actions
    .button,
    .posys-create-job-actions
    .posys-button,
    .posys-create-job-actions
    button,
    .posys-create-job-actions
    a {
        min-height: 44px !important;

        display: inline-flex !important;

        align-items: center !important;

        justify-content: center !important;
    }

}


@media (max-width: 560px) {

    /*
     * Keep form text at 16px to avoid
     * browser zoom on mobile input focus.
     */

    .posys-create-job-field input,
    .posys-create-job-field select,
    .posys-create-job-field textarea {
        font-size: 16px !important;
    }


    .posys-create-job-field input,
    .posys-create-job-field select {
        min-height: 46px !important;
    }


    .posys-create-job-field textarea {
        min-height: 130px !important;
    }


    .posys-create-job-actions {
        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr) !important;
    }


    .posys-create-job-actions
    .button,
    .posys-create-job-actions
    .posys-button,
    .posys-create-job-actions
    button,
    .posys-create-job-actions
    a {
        width: 100% !important;

        min-height: 46px !important;
    }

}



/* =========================================================
   POSYS JOB DETAIL MOBILE V2
   ========================================================= */


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    /*
     * Job number heading.
     */

    .posys-job-information-card
    + * {
        max-width: 100%;
    }


    /*
     * Job information.
     */

    .posys-job-information-card
    .posys-detail-list {
        display: grid !important;

        grid-template-columns:
            minmax(130px, 0.32fr)
            minmax(0, 1fr) !important;

        gap:
            0 !important;

        width:
            100% !important;
    }


    .posys-job-information-card
    .posys-detail-list
    dt,
    .posys-job-information-card
    .posys-detail-list
    dd {
        margin: 0 !important;

        padding:
            10px
            0 !important;

        border-bottom:
            1px solid
            #edf1f4;
    }


    .posys-job-information-card
    .posys-detail-list
    dt {
        padding-right:
            16px !important;

        color:
            #667685;

        font-weight:
            700;
    }


    .posys-job-information-card
    .posys-detail-list
    dd {
        min-width: 0;

        overflow-wrap:
            anywhere;
    }


    /*
     * Edit job action.
     */

    .posys-job-information-actions {
        margin-top:
            16px !important;
    }


    /*
     * Repeat information.
     */

    .posys-repeat-order-card {
        max-width:
            100% !important;
    }


    /*
     * Reused-file status summary.
     */

    .posys-repeat-order-card
    .posys-summary-grid {
        display: grid !important;

        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            ) !important;

        gap:
            10px !important;
    }


    /*
     * Controlled files.
     */

    .posys-controlled-files-card {
        max-width:
            100% !important;
    }


    .posys-controlled-files-card
    > .button {
        margin-bottom:
            16px;
    }

}


/* =========================================================
   PHONE
   ========================================================= */

@media (max-width: 700px) {

    /*
     * Main page job number.
     */

    .posys-content
    > h1:first-child {
        margin:
            0
            0
            16px !important;

        font-size:
            1.55rem !important;

        line-height:
            1.15 !important;

        overflow-wrap:
            anywhere;
    }


    /*
     * Cards use phone-friendly spacing.
     */

    .posys-job-information-card,
    .posys-repeat-order-card,
    .posys-controlled-files-card {
        padding:
            18px
            15px !important;
    }


    /*
     * Job Information becomes vertical:
     *
     * TITLE
     * value
     *
     * JOB STAGE
     * value
     */

    .posys-job-information-card
    .posys-detail-list {
        display:
            block !important;
    }


    .posys-job-information-card
    .posys-detail-list
    dt {
        padding:
            11px
            0
            3px !important;

        border:
            0 !important;

        color:
            #657584;

        font-size:
            0.68rem;

        font-weight:
            800;

        letter-spacing:
            0.045em;

        text-transform:
            uppercase;
    }


    .posys-job-information-card
    .posys-detail-list
    dd {
        padding:
            0
            0
            11px !important;

        border-bottom:
            1px solid
            #edf1f4 !important;

        line-height:
            1.45;
    }


    .posys-job-information-actions {
        display:
            grid !important;

        grid-template-columns:
            minmax(0, 1fr) !important;

        width:
            100%;
    }


    .posys-job-information-actions
    .button {
        width:
            100% !important;

        min-height:
            44px;

        justify-content:
            center;

        text-align:
            center;
    }


    /*
     * Repeat status cards.
     */

    .posys-repeat-order-card
    .posys-summary-grid {
        grid-template-columns:
            minmax(0, 1fr) !important;
    }


    /*
     * -----------------------------------------------------
     * ITEM LINEAGE TABLE -> MOBILE CARDS
     * -----------------------------------------------------
     */

    .posys-item-lineage-table,
    .posys-item-lineage-table
    tbody,
    .posys-item-lineage-table
    tr,
    .posys-item-lineage-table
    td {
        display:
            block !important;

        width:
            100% !important;
    }


    .posys-item-lineage-table
    thead {
        position:
            absolute !important;

        width:
            1px !important;

        height:
            1px !important;

        overflow:
            hidden !important;

        clip:
            rect(
                0,
                0,
                0,
                0
            ) !important;
    }


    .posys-item-lineage-table
    tbody
    tr {
        margin:
            0
            0
            12px !important;

        padding:
            5px
            12px !important;

        border:
            1px solid
            #dce3e9 !important;

        border-radius:
            10px;

        background:
            #ffffff;
    }


    .posys-item-lineage-table
    tbody
    td {
        display:
            grid !important;

        grid-template-columns:
            105px
            minmax(0, 1fr) !important;

        gap:
            8px;

        padding:
            9px
            0 !important;

        border:
            0 !important;

        overflow-wrap:
            anywhere;
    }


    .posys-item-lineage-table
    tbody
    td
    + td {
        border-top:
            1px solid
            #edf1f4 !important;
    }


    .posys-item-lineage-table
    tbody
    td::before {
        content:
            attr(
                data-mobile-label
            );

        color:
            #657584;

        font-size:
            0.66rem;

        font-weight:
            800;

        letter-spacing:
            0.04em;

        text-transform:
            uppercase;
    }


    /*
     * -----------------------------------------------------
     * PRODUCTS
     *
     * Existing mobile product-card implementation remains,
     * but detail rows must NOT become separate fake cards.
     * -----------------------------------------------------
     */

    .posys-products-table
    tbody
    tr.posys-product-detail-row {
        margin:
            -9px
            0
            16px !important;

        padding:
            0
            14px
            14px !important;

        border:
            1px solid
            #d9e1e8 !important;

        border-top:
            0 !important;

        border-radius:
            0
            0
            12px
            12px !important;

        box-shadow:
            0
            4px
            14px
            rgba(
                13,
                43,
                69,
                0.06
            ) !important;
    }


    /*
     * Main row connects visually to detail row.
     */

    .posys-products-table
    tbody
    tr.posys-product-table-main-row:
    has(
        + .posys-product-detail-row
    ) {
        margin-bottom:
            0 !important;

        border-radius:
            12px
            12px
            0
            0 !important;

        border-bottom:
            0 !important;
    }


    /*
     * Hide spacer column completely.
     */

    .posys-products-table
    .posys-product-detail-spacer {
        display:
            none !important;
    }


    /*
     * Detail row's real content cell should be
     * full-width and should NOT receive fake column label.
     */

    .posys-products-table
    .posys-product-detail-row
    td:not(
        .posys-product-detail-spacer
    ) {
        display:
            block !important;

        width:
            100% !important;

        padding:
            0 !important;

        border:
            0 !important;
    }


    .posys-products-table
    .posys-product-detail-row
    td::before {
        content:
            none !important;

        display:
            none !important;
    }


    .posys-product-detail {
        width:
            100% !important;

        max-width:
            100% !important;

        padding:
            11px
            0
            0 !important;

        overflow-wrap:
            anywhere;
    }


    /*
     * Specification / sticker production summary.
     */

    .posys-product-detail-spec,
    .posys-item-production-summary {
        max-width:
            100% !important;

        overflow-wrap:
            anywhere;
    }


    .posys-item-production-summary {
        display:
            grid !important;

        grid-template-columns:
            minmax(0, 1fr) !important;

        gap:
            7px !important;
    }


    /*
     * Main product workflow button full width.
     */

    .posys-primary-product-action,
    .posys-primary-choice {
        width:
            100% !important;
    }


    .posys-primary-product-action
    .button {
        width:
            100% !important;

        min-height:
            42px;

        justify-content:
            center;

        text-align:
            center;
    }


    /*
     * Quality Check has two possible main actions.
     */

    .posys-primary-choice {
        display:
            grid !important;

        grid-template-columns:
            minmax(0, 1fr) !important;

        gap:
            7px !important;
    }


    .posys-primary-choice
    .button {
        width:
            100% !important;
    }


    /*
     * Actions control.
     */

    .posys-product-secondary-actions {
        width:
            100% !important;

        margin-top:
            7px !important;
    }


    .posys-product-secondary-actions
    summary {
        width:
            100% !important;

        min-height:
            40px;

        box-sizing:
            border-box;

        text-align:
            center;
    }


    .posys-product-secondary-actions-menu {
        width:
            100% !important;

        max-width:
            100% !important;

        box-sizing:
            border-box;
    }


    .posys-product-secondary-actions-menu
    .button {
        width:
            100% !important;

        box-sizing:
            border-box;

        justify-content:
            center;

        text-align:
            center;
    }


    /*
     * Product stage history tables remain horizontally
     * scrollable because each row contains audit data
     * where maintaining columns is useful.
     */

    .posys-item-stage-audit-body
    .posys-table-wrap {
        width:
            100%;

        max-width:
            100%;

        overflow-x:
            auto !important;

        -webkit-overflow-scrolling:
            touch;
    }


    .posys-item-stage-audit-body
    .posys-stage-table {
        min-width:
            720px !important;
    }


    /*
     * -----------------------------------------------------
     * CONTROLLED FILES -> MOBILE CARDS
     * -----------------------------------------------------
     */

    .posys-controlled-files-card
    > .button {
        display:
            flex !important;

        width:
            100% !important;

        min-height:
            44px;

        align-items:
            center;

        justify-content:
            center;

        text-align:
            center;
    }


    .posys-controlled-files-table,
    .posys-controlled-files-table
    tbody,
    .posys-controlled-files-table
    tr,
    .posys-controlled-files-table
    td {
        display:
            block !important;

        width:
            100% !important;

        max-width:
            100% !important;
    }


    .posys-controlled-files-table {
        border:
            0 !important;

        background:
            transparent !important;
    }


    .posys-controlled-files-table
    thead {
        position:
            absolute !important;

        width:
            1px !important;

        height:
            1px !important;

        margin:
            -1px !important;

        padding:
            0 !important;

        overflow:
            hidden !important;

        clip:
            rect(
                0,
                0,
                0,
                0
            ) !important;

        white-space:
            nowrap !important;
    }


    .posys-controlled-files-table
    tbody
    tr {
        margin:
            0
            0
            14px !important;

        padding:
            5px
            13px !important;

        border:
            1px solid
            #dce3e9 !important;

        border-radius:
            11px !important;

        background:
            #ffffff !important;

        box-shadow:
            0
            3px
            10px
            rgba(
                8,
                35,
                55,
                0.05
            );
    }


    .posys-controlled-files-table
    tbody
    td {
        display:
            grid !important;

        grid-template-columns:
            100px
            minmax(0, 1fr) !important;

        gap:
            9px;

        align-items:
            start;

        padding:
            9px
            0 !important;

        border:
            0 !important;

        overflow-wrap:
            anywhere;
    }


    .posys-controlled-files-table
    tbody
    td
    + td {
        border-top:
            1px solid
            #edf1f4 !important;
    }


    .posys-controlled-files-table
    tbody
    td::before {
        content:
            attr(
                data-mobile-label
            );

        color:
            #657584;

        font-size:
            0.65rem;

        font-weight:
            800;

        line-height:
            1.3;

        letter-spacing:
            0.04em;

        text-transform:
            uppercase;
    }


    .posys-controlled-files-table
    tbody
    td
    a {
        overflow-wrap:
            anywhere;
    }

}


/* =========================================================
   SMALL PHONE
   ========================================================= */

@media (max-width: 430px) {

    .posys-job-information-card,
    .posys-repeat-order-card,
    .posys-controlled-files-card {
        padding:
            16px
            12px !important;
    }


    .posys-item-lineage-table
    tbody
    td,
    .posys-controlled-files-table
    tbody
    td {
        grid-template-columns:
            86px
            minmax(0, 1fr) !important;

        gap:
            7px !important;
    }


    .posys-products-table
    tbody
    tr.posys-product-detail-row {
        padding:
            0
            11px
            12px !important;
    }

}



/* =========================================================
   POSYS PRODUCT SPECIFICATION MOBILE V1
   ========================================================= */


@media (max-width: 900px) {

    /*
     * Page/form shell.
     */

    .posys-product-spec-form {
        width: 100% !important;

        max-width: 100% !important;
    }


    /*
     * Main cards.
     */

    .posys-main-product-card,
    .posys-job-specification-card,
    .posys-operational-information-card {
        max-width: 100% !important;
    }


    /*
     * All form controls within Product Specification.
     */

    .posys-product-spec-form
    .posys-form-field {
        min-width: 0 !important;

        max-width: 100% !important;
    }


    .posys-product-spec-form
    input:not(
        [type="checkbox"]
    ):not(
        [type="radio"]
    ),
    .posys-product-spec-form
    select,
    .posys-product-spec-form
    textarea {
        width: 100% !important;

        max-width: 100% !important;

        box-sizing: border-box !important;
    }


    /*
     * Specification section rhythm.
     */

    .posys-product-spec-form
    .posys-specification-section {
        margin-top: 22px !important;
    }


    .posys-product-spec-form
    .posys-specification-section
    > h3 {
        margin:
            0
            0
            12px !important;

        padding-bottom:
            8px !important;
    }


    .posys-product-spec-form
    .posys-specification-section
    > p {
        margin:
            0
            0
            15px !important;

        line-height:
            1.5;
    }


    /*
     * Standard product groups stay two-column on
     * wider tablets but collapse naturally below 700.
     */

    .posys-product-spec-form
    .posys-specification-grid {
        width: 100% !important;

        max-width: 100% !important;

        gap:
            16px
            18px !important;
    }


    /*
     * Labels.
     */

    .posys-product-spec-form
    .posys-form-field
    > label {
        display: block;

        margin-bottom:
            7px;

        line-height:
            1.35;
    }


    /*
     * Help and validation.
     */

    .posys-product-spec-form
    .posys-form-field
    > small {
        display: block;

        margin-top:
            5px;

        line-height:
            1.4;

        overflow-wrap:
            anywhere;
    }


    .posys-product-spec-form
    .errorlist {
        max-width: 100%;

        overflow-wrap:
            anywhere;
    }


    /*
     * Calculation panels.
     */

    .posys-product-spec-form
    .posys-standard-area-panel,
    .posys-product-spec-form
    .posys-large-format-area-panel,
    .posys-product-spec-form
    .posys-sticker-yield-panel {
        width: 100% !important;

        max-width: 100% !important;

        box-sizing: border-box;

        padding:
            15px
            16px !important;

        border-radius:
            10px !important;

        overflow:
            hidden;
    }


    /*
     * Generic Standard Area result rows.
     */

    .posys-standard-area-panel
    > div {
        display: grid;

        grid-template-columns:
            minmax(0, 1fr)
            auto;

        gap:
            14px;

        align-items:
            start;

        padding:
            9px
            0;

        border-bottom:
            1px solid
            #e5eaf0;
    }


    .posys-standard-area-panel
    > div
    > strong {
        text-align:
            right;
    }


    .posys-standard-area-panel
    > small {
        display: block;

        margin-top:
            11px;

        line-height:
            1.4;
    }


    /*
     * Legacy area-row structure remains responsive
     * for any specialized fallback rendering.
     */

    .posys-large-format-area-row,
    .posys-sticker-yield-row {
        gap:
            12px !important;

        min-width:
            0;
    }


    .posys-large-format-area-row
    strong,
    .posys-sticker-yield-row
    strong {
        min-width:
            0;

        overflow-wrap:
            anywhere;
    }


    /*
     * Operational Information.
     */

    .posys-operational-information-card
    .posys-artwork-source-card {
        max-width:
            100%;

        overflow-wrap:
            anywhere;
    }


    /*
     * Existing T-Shirt specialized layout is retained.
     * Only constrain it to viewport.
     */

    .posys-tshirt-location-grid,
    .posys-tshirt-location-grid-other,
    .posys-decoration-area-summary {
        max-width:
            100% !important;
    }


    .posys-decoration-area-summary {
        box-sizing:
            border-box;
    }

}


/* =========================================================
   PHONE
   ========================================================= */

@media (max-width: 700px) {

    /*
     * Header: existing global mobile page-header
     * behavior already stacks Back to Job.
     */

    .posys-product-spec-form
    .posys-card {
        overflow:
            visible !important;
    }


    /*
     * Standard form groups become one column.
     */

    .posys-product-spec-form
    .posys-specification-grid {
        grid-template-columns:
            minmax(0, 1fr) !important;

        gap:
            14px !important;
    }


    /*
     * Phone-friendly controls.
     */

    .posys-product-spec-form
    input:not(
        [type="checkbox"]
    ):not(
        [type="radio"]
    ),
    .posys-product-spec-form
    select {
        min-height:
            46px !important;

        font-size:
            16px !important;
    }


    .posys-product-spec-form
    textarea {
        min-height:
            105px !important;

        font-size:
            16px !important;

        resize:
            vertical;
    }


    /*
     * Calculation panels become stacked result lists.
     */

    .posys-standard-area-panel
    > div {
        grid-template-columns:
            minmax(0, 1fr) !important;

        gap:
            4px !important;
    }


    .posys-standard-area-panel
    > div
    > strong {
        text-align:
            left !important;

        font-size:
            1rem;
    }


    /*
     * Legacy calculation-row layout.
     */

    .posys-large-format-area-row,
    .posys-sticker-yield-row {
        display:
            block !important;

        padding:
            9px
            0 !important;

        border-bottom:
            1px solid
            #e5eaf0;
    }


    .posys-large-format-area-row
    > span,
    .posys-sticker-yield-row
    > span {
        display:
            block;

        margin-bottom:
            4px;

        color:
            #657584;

        font-size:
            0.72rem;

        font-weight:
            700;
    }


    .posys-large-format-area-row
    > strong,
    .posys-sticker-yield-row
    > strong {
        display:
            block;

        text-align:
            left !important;
    }


    /*
     * Sticker Production Estimate.
     */

    #posys-sticker-yield-panel {
        margin-top:
            12px !important;

        margin-bottom:
            18px !important;
    }


    /*
     * Dependent checkbox groups.
     *
     * Existing JS and hidden-field behavior stays intact.
     */

    .posys-dependent-row {
        grid-template-columns:
            minmax(0, 1fr) !important;

        gap:
            15px !important;
    }


    .posys-dependent-row
    > .posys-dependent-toggle,
    .posys-dependent-row
    > .posys-dependent-detail {
        grid-column:
            1 !important;

        width:
            100% !important;
    }


    /*
     * Standalone checkboxes remain touch friendly.
     */

    .posys-product-spec-form
    input[type="checkbox"] {
        min-width:
            22px;

        min-height:
            22px;
    }


    /*
     * T-Shirt decoration totals.
     */

    .posys-decoration-area-summary-grid {
        grid-template-columns:
            minmax(0, 1fr) !important;
    }


    /*
     * Artwork Source / Operational information.
     */

    .posys-operational-information-card
    .button,
    .posys-operational-information-card
    .posys-button {
        max-width:
            100%;

        white-space:
            normal;
    }

}


/* =========================================================
   SMALL PHONE
   ========================================================= */

@media (max-width: 560px) {

    .posys-main-product-card,
    .posys-job-specification-card,
    .posys-operational-information-card {
        padding:
            16px
            13px !important;
    }


    .posys-product-spec-form
    .posys-specification-section {
        margin-top:
            19px !important;
    }


    .posys-product-spec-form
    .posys-specification-section
    > h3 {
        font-size:
            1rem;
    }


    .posys-standard-area-panel,
    .posys-large-format-area-panel,
    .posys-sticker-yield-panel {
        padding:
            13px !important;
    }


    /*
     * Button groups at the end of form.
     */

    .posys-product-spec-form
    .posys-actions {
        display:
            grid !important;

        grid-template-columns:
            minmax(0, 1fr) !important;

        gap:
            8px !important;
    }


    .posys-product-spec-form
    .posys-actions
    .button,
    .posys-product-spec-form
    .posys-actions
    .posys-button,
    .posys-product-spec-form
    .posys-actions
    button,
    .posys-product-spec-form
    .posys-actions
    a {
        width:
            100% !important;

        min-height:
            46px !important;

        justify-content:
            center;

        text-align:
            center;
    }

}


/* =========================================================
   VERY SMALL PHONE
   ========================================================= */

@media (max-width: 430px) {

    .posys-main-product-card,
    .posys-job-specification-card,
    .posys-operational-information-card {
        padding:
            14px
            11px !important;
    }


    .posys-standard-area-panel
    > div {
        padding:
            8px
            0;
    }

}



/* =========================================================
   POSYS PRODUCT SELECTION MOBILE V1
   ========================================================= */


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    /*
     * Page header.
     */

    .posys-selection-page-header {
        width: 100% !important;

        max-width: 100% !important;

        gap: 16px !important;
    }


    .posys-selection-page-header
    > div {
        min-width: 0;
    }


    .posys-selection-page-header
    h1,
    .posys-selection-page-header
    p {
        overflow-wrap:
            anywhere;
    }


    /*
     * Main selection card.
     */

    .posys-selection-card {
        width: 100% !important;

        max-width: 100% !important;
    }


    /*
     * Keep category/product cards easy to scan.
     */

    .posys-selection-list {
        display: grid !important;

        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            ) !important;

        gap:
            14px !important;
    }


    .posys-selection-list
    .posys-category-card {
        width:
            100% !important;

        min-width:
            0 !important;

        max-width:
            100% !important;

        box-sizing:
            border-box;

        margin:
            0 !important;
    }


    /*
     * Allow long product descriptions/codes
     * to wrap instead of causing overflow.
     */

    .posys-selection-list
    .posys-category-card-content {
        min-width:
            0 !important;
    }


    .posys-selection-list
    .posys-category-card-content
    strong,
    .posys-selection-list
    .posys-category-card-content
    small {
        overflow-wrap:
            anywhere;
    }


    /*
     * Back action.
     */

    .posys-selection-page-header
    .button {
        flex:
            0 0 auto;
    }

}


/* =========================================================
   PHONE
   ========================================================= */

@media (max-width: 700px) {

    /*
     * Header stacks.
     */

    .posys-selection-page-header {
        display:
            grid !important;

        grid-template-columns:
            minmax(0, 1fr) !important;

        gap:
            13px !important;
    }


    .posys-selection-page-header
    .button {
        width:
            100% !important;

        min-height:
            44px;

        justify-content:
            center;

        text-align:
            center;
    }


    /*
     * One category/product card per row.
     */

    .posys-selection-list {
        grid-template-columns:
            minmax(0, 1fr) !important;

        gap:
            11px !important;
    }


    /*
     * Mobile card:
     *
     * [icon]  Product/category information    >
     */

    .posys-selection-list
    .posys-category-card {
        display:
            grid !important;

        grid-template-columns:
            54px
            minmax(0, 1fr)
            24px !important;

        gap:
            12px !important;

        align-items:
            center !important;

        min-height:
            82px !important;

        padding:
            12px
            13px !important;

        border-radius:
            11px !important;
    }


    /*
     * Icon.
     */

    .posys-selection-list
    .posys-category-card-icon {
        width:
            54px !important;

        height:
            54px !important;

        min-width:
            54px !important;

        border-radius:
            10px !important;
    }


    .posys-selection-list
    .posys-category-icon {
        width:
            38px !important;

        height:
            38px !important;
    }


    /*
     * Card title.
     */

    .posys-selection-list
    .posys-category-card-content
    strong {
        font-size:
            1rem !important;

        line-height:
            1.25 !important;
    }


    /*
     * Metadata.
     */

    .posys-selection-list
    .posys-category-card-content
    small {
        font-size:
            0.78rem !important;

        line-height:
            1.4 !important;
    }


    /*
     * Arrow remains clear touch/navigation cue.
     */

    .posys-selection-list
    .posys-category-card-arrow {
        font-size:
            1.7rem !important;

        line-height:
            1 !important;
    }

}


/* =========================================================
   SMALL PHONE
   ========================================================= */

@media (max-width: 480px) {

    .posys-selection-card {
        padding:
            15px
            12px !important;
    }


    .posys-selection-list
    .posys-category-card {
        grid-template-columns:
            48px
            minmax(0, 1fr)
            20px !important;

        gap:
            10px !important;

        min-height:
            76px !important;

        padding:
            10px
            11px !important;
    }


    .posys-selection-list
    .posys-category-card-icon {
        width:
            48px !important;

        height:
            48px !important;

        min-width:
            48px !important;
    }


    .posys-selection-list
    .posys-category-icon {
        width:
            34px !important;

        height:
            34px !important;
    }


    .posys-selection-list
    .posys-category-card-content
    small {
        font-size:
            0.74rem !important;
    }

}



/* POSYS DASHBOARD KPI ICONS */
.posys-kpi-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    line-height: 1;
    width: 100%;
    height: 100%;
}


/* =========================================================
   POSYS DASHBOARD KPI SVG ICONS V1
   ========================================================= */

.posys-dashboard-kpi-icon
.posys-dashboard-kpi-svg {
    width: 1.55rem;
    height: 1.55rem;

    display: block;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/*
 * Slightly larger on desktop while remaining
 * balanced inside the existing circular KPI tile.
 */

@media (min-width: 901px) {

    .posys-dashboard-kpi-icon
    .posys-dashboard-kpi-svg {
        width: 1.65rem;
        height: 1.65rem;
    }

}



/* =========================================================
   POSYS PREVIOUS JOB SEARCH MOBILE V1
   ========================================================= */


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .posys-previous-job-header {
        width: 100% !important;
        max-width: 100% !important;
        gap: 16px !important;
    }


    .posys-previous-job-header
    > div {
        min-width: 0;
    }


    .posys-previous-job-header
    h1,
    .posys-previous-job-header
    p {
        overflow-wrap: anywhere;
    }


    .posys-previous-job-search-card,
    .posys-previous-job-results-card {
        width: 100% !important;
        max-width: 100% !important;
    }


    .posys-previous-job-search-form {
        width: 100%;
        max-width: 100%;
    }


    .posys-previous-job-search-field {
        min-width: 0;
        max-width: 100%;
    }


    .posys-previous-job-search-field
    input,
    .posys-previous-job-search-field
    select,
    .posys-previous-job-search-field
    textarea {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }


    .posys-previous-job-search-field
    small,
    .posys-previous-job-search-field
    .errorlist {
        overflow-wrap: anywhere;
    }


    .posys-previous-job-search-actions {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 9px !important;
    }


    .posys-previous-job-search-actions
    .posys-button,
    .posys-previous-job-search-actions
    .button {
        min-height: 44px;
    }


    .posys-previous-job-results-table {
        width: 100%;
    }


    .posys-previous-job-results-table
    td {
        vertical-align: top;
        overflow-wrap: anywhere;
    }


    .posys-previous-job-results-table
    td
    a {
        overflow-wrap: anywhere;
    }

}


/* =========================================================
   PHONE RESULT CARDS
   ========================================================= */

@media (max-width: 700px) {

    /*
     * Header action becomes full width.
     */

    .posys-previous-job-header {
        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr) !important;
    }


    .posys-previous-job-header
    .posys-button,
    .posys-previous-job-header
    .button {
        width: 100% !important;

        min-height: 46px;

        justify-content: center;

        text-align: center;
    }


    /*
     * Prevent mobile browser zoom.
     */

    .posys-previous-job-search-field
    input,
    .posys-previous-job-search-field
    select,
    .posys-previous-job-search-field
    textarea {
        font-size: 16px !important;
    }


    .posys-previous-job-search-field
    input,
    .posys-previous-job-search-field
    select {
        min-height: 46px !important;
    }


    /*
     * Search buttons.
     */

    .posys-previous-job-search-actions {
        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr) !important;

        gap: 8px !important;
    }


    .posys-previous-job-search-actions
    .posys-button,
    .posys-previous-job-search-actions
    .button,
    .posys-previous-job-search-actions
    button,
    .posys-previous-job-search-actions
    a {
        width: 100% !important;

        min-height: 46px !important;

        justify-content: center;

        text-align: center;
    }


    /*
     * Table wrapper no longer needs horizontal scrolling
     * because every result becomes a card.
     */

    .posys-previous-job-results-card
    .posys-table-wrap {
        overflow: visible !important;

        width: 100% !important;

        max-width: 100% !important;
    }


    .posys-previous-job-results-table {
        display: block !important;

        width: 100% !important;
    }


    /*
     * Keep headings available semantically but
     * visually hide them on mobile.
     */

    .posys-previous-job-results-table
    thead {
        position: absolute !important;

        width: 1px !important;
        height: 1px !important;

        margin: -1px !important;
        padding: 0 !important;

        overflow: hidden !important;

        clip: rect(
            0,
            0,
            0,
            0
        ) !important;

        white-space: nowrap !important;

        border: 0 !important;
    }


    .posys-previous-job-results-table
    tbody {
        display: block !important;

        width: 100% !important;
    }


    /*
     * One previous item = one mobile card.
     */

    .posys-previous-job-results-table
    tbody
    tr {
        display: block !important;

        width: 100% !important;

        box-sizing: border-box;

        margin:
            0
            0
            14px !important;

        padding:
            6px
            14px !important;

        border:
            1px solid
            #dce3e9 !important;

        border-radius:
            13px !important;

        background:
            #ffffff !important;

        box-shadow:
            0
            4px
            14px
            rgba(
                8,
                35,
                55,
                0.06
            ) !important;
    }


    /*
     * Label | value rows.
     */

    .posys-previous-job-results-table
    tbody
    td {
        display: grid !important;

        grid-template-columns:
            minmax(
                96px,
                0.34fr
            )
            minmax(
                0,
                1fr
            ) !important;

        gap:
            10px !important;

        align-items:
            start !important;

        width:
            100% !important;

        box-sizing:
            border-box;

        padding:
            10px
            0 !important;

        border:
            0 !important;

        white-space:
            normal !important;

        text-align:
            left !important;

        overflow-wrap:
            anywhere;
    }


    .posys-previous-job-results-table
    tbody
    td
    + td {
        border-top:
            1px solid
            #edf1f4 !important;
    }


    .posys-previous-job-results-table
    tbody
    td::before {
        content:
            attr(
                data-mobile-label
            );

        display:
            block;

        color:
            #657483;

        font-size:
            0.67rem;

        font-weight:
            800;

        line-height:
            1.3;

        letter-spacing:
            0.04em;

        text-transform:
            uppercase;
    }


    /*
     * Specifications and filenames can be very long.
     */

    .posys-previous-job-results-table
    tbody
    td
    strong,
    .posys-previous-job-results-table
    tbody
    td
    a {
        max-width: 100%;

        overflow-wrap: anywhere;

        word-break: break-word;
    }


    /*
     * Repeat Job action.
     */

    .posys-previous-job-results-table
    tbody
    td:last-child
    .posys-button,
    .posys-previous-job-results-table
    tbody
    td:last-child
    .button {
        width: 100% !important;

        min-height: 44px !important;

        justify-content: center;

        text-align: center;

        white-space: normal !important;
    }


    /*
     * Pagination.
     */

    .posys-previous-job-pagination {
        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr) !important;

        gap:
            8px !important;

        text-align:
            center;
    }


    .posys-previous-job-pagination
    .posys-button,
    .posys-previous-job-pagination
    .button {
        width:
            100% !important;

        min-height:
            44px !important;

        justify-content:
            center;
    }

}


/* =========================================================
   SMALL PHONE
   ========================================================= */

@media (max-width: 430px) {

    .posys-previous-job-search-card,
    .posys-previous-job-results-card {
        padding:
            16px
            12px !important;
    }


    .posys-previous-job-results-table
    tbody
    tr {
        padding:
            5px
            11px !important;

        border-radius:
            11px !important;
    }


    .posys-previous-job-results-table
    tbody
    td {
        grid-template-columns:
            86px
            minmax(0, 1fr) !important;

        gap:
            8px !important;

        padding:
            9px
            0 !important;
    }


    .posys-previous-job-results-table
    tbody
    td::before {
        font-size:
            0.63rem;
    }

}



/* =========================================================
   POSYS CUSTOMERS REGISTER MOBILE V1
   ========================================================= */

.posys-customer-status-active,
.posys-customer-status-inactive {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 0.76rem;
    font-weight: 750;
    line-height: 1.2;
}

.posys-customer-status-active {
    background: #eaf7ee;
    color: #256a3b;
}

.posys-customer-status-inactive {
    background: #f1f3f5;
    color: #68727b;
}

.posys-customer-filter-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 2fr)
        minmax(180px, 1fr);
    gap: 16px;
}

.posys-customer-filter-grid
.posys-form-field {
    min-width: 0;
}

.posys-customer-register-table
td {
    vertical-align: top;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .posys-customer-register-header,
    .posys-customer-detail-header,
    .posys-customer-form-header,
    .posys-customer-created-header {
        width: 100% !important;
        max-width: 100% !important;
        gap: 15px !important;
    }

    .posys-customer-filter-card,
    .posys-customer-results-card,
    .posys-customer-detail-card,
    .posys-customer-form-card,
    .posys-customer-created-card {
        width: 100% !important;
        max-width: 100% !important;
    }

    .posys-customer-filter-form,
    .posys-customer-form {
        width: 100% !important;
        max-width: 100% !important;
    }

    .posys-customer-form-field {
        min-width: 0 !important;
        max-width: 100% !important;
        margin-bottom: 16px !important;
    }

    .posys-customer-form-field
    label {
        display: block;
        margin-bottom: 6px;
        font-weight: 700;
    }

    .posys-customer-form-field
    input:not([type="checkbox"]),
    .posys-customer-form-field
    select,
    .posys-customer-form-field
    textarea,
    .posys-customer-filter-form
    input,
    .posys-customer-filter-form
    select {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .posys-customer-form-field
    textarea {
        resize: vertical;
    }

    .posys-customer-form-field
    .errorlist,
    .posys-customer-form-field
    small {
        overflow-wrap: anywhere;
    }

    .posys-customer-register-table
    td,
    .posys-customer-register-table
    a {
        overflow-wrap: anywhere;
    }
}


/* =========================================================
   PHONE
   ========================================================= */

@media (max-width: 700px) {

    .posys-customer-register-header,
    .posys-customer-detail-header,
    .posys-customer-form-header {
        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr) !important;
    }

    .posys-customer-register-header
    .button,
    .posys-customer-register-header
    .posys-button,
    .posys-customer-detail-header
    .button,
    .posys-customer-detail-header
    .posys-button,
    .posys-customer-form-header
    .button,
    .posys-customer-form-header
    .posys-button {
        width: 100% !important;
        min-height: 46px !important;
        justify-content: center;
        text-align: center;
    }


    /*
     * Search filters
     */

    .posys-customer-filter-grid {
        grid-template-columns:
            minmax(0, 1fr) !important;

        gap: 13px !important;
    }

    .posys-customer-filter-form
    input,
    .posys-customer-filter-form
    select,
    .posys-customer-form-field
    input:not([type="checkbox"]),
    .posys-customer-form-field
    select,
    .posys-customer-form-field
    textarea {
        font-size: 16px !important;
    }

    .posys-customer-filter-form
    input,
    .posys-customer-filter-form
    select,
    .posys-customer-form-field
    input:not([type="checkbox"]),
    .posys-customer-form-field
    select {
        min-height: 46px !important;
    }

    .posys-customer-form-field
    textarea {
        min-height: 110px !important;
    }


    /*
     * Actions
     */

    .posys-customer-filter-actions,
    .posys-customer-form-actions,
    .posys-customer-detail-actions,
    .posys-customer-created-actions,
    .posys-customer-pagination {
        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr) !important;

        gap: 8px !important;
    }

    .posys-customer-filter-actions
    .button,
    .posys-customer-filter-actions
    .posys-button,
    .posys-customer-form-actions
    .button,
    .posys-customer-form-actions
    .posys-button,
    .posys-customer-detail-actions
    .button,
    .posys-customer-detail-actions
    .posys-button,
    .posys-customer-created-actions
    .button,
    .posys-customer-created-actions
    .posys-button,
    .posys-customer-pagination
    .button,
    .posys-customer-pagination
    .posys-button {
        width: 100% !important;
        min-height: 46px !important;
        justify-content: center;
        text-align: center;
    }


    /*
     * Customer register table -> cards
     */

    .posys-customer-results-card
    .posys-table-wrap {
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    .posys-customer-register-table {
        display: block !important;
        width: 100% !important;
    }

    .posys-customer-register-table
    thead {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        margin: -1px !important;
        padding: 0 !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }

    .posys-customer-register-table
    tbody {
        display: block !important;
        width: 100% !important;
    }

    .posys-customer-register-table
    tbody
    tr {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box;

        margin:
            0
            0
            14px !important;

        padding:
            6px
            14px !important;

        border:
            1px solid
            #dce3e9 !important;

        border-radius:
            13px !important;

        background:
            #ffffff !important;

        box-shadow:
            0
            4px
            14px
            rgba(
                8,
                35,
                55,
                0.06
            ) !important;
    }

    .posys-customer-register-table
    tbody
    td {
        display: grid !important;

        grid-template-columns:
            90px
            minmax(0, 1fr) !important;

        gap:
            9px !important;

        align-items:
            start !important;

        width: 100% !important;
        box-sizing: border-box;

        padding:
            10px
            0 !important;

        border:
            0 !important;

        white-space:
            normal !important;

        text-align:
            left !important;

        overflow-wrap:
            anywhere;
    }

    .posys-customer-register-table
    tbody
    td
    + td {
        border-top:
            1px solid
            #edf1f4 !important;
    }

    .posys-customer-register-table
    tbody
    td::before {
        content:
            attr(
                data-mobile-label
            );

        color:
            #657483;

        font-size:
            0.66rem;

        font-weight:
            800;

        line-height:
            1.3;

        letter-spacing:
            0.04em;

        text-transform:
            uppercase;
    }

    .posys-customer-register-table
    tbody
    td:last-child
    .button,
    .posys-customer-register-table
    tbody
    td:last-child
    .posys-button {
        width: 100% !important;
        min-height: 42px !important;
        justify-content: center;
    }


    /*
     * Detail page
     */

    .posys-customer-detail-list {
        grid-template-columns:
            minmax(0, 1fr) !important;
    }

    .posys-customer-detail-list
    dt,
    .posys-customer-detail-list
    dd {
        overflow-wrap: anywhere;
    }
}


/* =========================================================
   SMALL PHONE
   ========================================================= */

@media (max-width: 430px) {

    .posys-customer-filter-card,
    .posys-customer-results-card,
    .posys-customer-detail-card,
    .posys-customer-form-card,
    .posys-customer-created-card {
        padding:
            16px
            12px !important;
    }

    .posys-customer-register-table
    tbody
    tr {
        padding:
            5px
            11px !important;

        border-radius:
            11px !important;
    }

    .posys-customer-register-table
    tbody
    td {
        grid-template-columns:
            80px
            minmax(0, 1fr) !important;

        gap:
            7px !important;

        padding:
            9px
            0 !important;
    }

    .posys-customer-register-table
    tbody
    td::before {
        font-size: 0.63rem;
    }
}



/* =========================================================
   POSYS USER MANAGEMENT MOBILE V1
   ========================================================= */

.posys-user-filter-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 2fr)
        minmax(170px, 1fr)
        minmax(170px, 1fr);
    gap: 16px;
}

.posys-user-secondary {
    margin-top: 3px;
    color: #6b7885;
    font-size: 0.78rem;
    overflow-wrap: anywhere;
}

.posys-user-role-badge,
.posys-user-status-active,
.posys-user-status-inactive,
.posys-user-system-account {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 750;
    line-height: 1.2;
}

.posys-user-role-badge {
    background: #edf3f8;
    color: #243a4d;
}

.posys-user-status-active {
    background: #eaf7ee;
    color: #256a3b;
}

.posys-user-status-inactive {
    background: #f1f3f5;
    color: #68727b;
}

.posys-user-system-account {
    background: #fff4d6;
    color: #755500;
}

.posys-user-row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.posys-user-form-section {
    margin-bottom: 24px;
}

.posys-user-form-section h2 {
    margin-bottom: 14px;
}

.posys-user-form-note {
    margin-bottom: 12px;
    color: #637281;
}

.posys-user-capability-field ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.posys-user-capability-field li {
    margin-bottom: 8px;
}

.posys-user-capability-field label {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 38px;
}

.posys-user-security-note {
    margin: 18px 0 24px;
    padding: 14px 16px;
    border: 1px solid #dce4ea;
    border-radius: 10px;
    background: #f7fafc;
}

.posys-user-security-note p {
    margin: 5px 0 0;
}

.posys-user-form-field {
    margin-bottom: 16px;
}

.posys-user-form-field label {
    display: block;
    margin-bottom: 6px;
    font-weight: 700;
}

.posys-user-form-field
input:not([type="checkbox"]),
.posys-user-form-field
select,
.posys-user-form-field
textarea,
.posys-user-filter-form
input,
.posys-user-filter-form
select {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}


@media (max-width: 900px) {

    .posys-user-filter-grid {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr);
    }

    .posys-user-filter-grid
    .posys-form-field:first-child {
        grid-column: 1 / -1;
    }

    .posys-user-register-table td,
    .posys-user-register-table a {
        overflow-wrap: anywhere;
    }
}


@media (max-width: 700px) {

    .posys-user-register-header,
    .posys-user-form-header,
    .posys-user-password-header {
        display: grid !important;
        grid-template-columns:
            minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    .posys-user-register-header .button,
    .posys-user-form-header .button,
    .posys-user-password-header .button {
        width: 100% !important;
        min-height: 46px !important;
        justify-content: center;
        text-align: center;
    }

    .posys-user-filter-grid {
        grid-template-columns:
            minmax(0, 1fr) !important;
    }

    .posys-user-filter-grid
    .posys-form-field:first-child {
        grid-column: auto;
    }

    .posys-user-filter-form input,
    .posys-user-filter-form select,
    .posys-user-form-field
    input:not([type="checkbox"]),
    .posys-user-form-field select,
    .posys-user-form-field textarea {
        font-size: 16px !important;
    }

    .posys-user-filter-form input,
    .posys-user-filter-form select,
    .posys-user-form-field
    input:not([type="checkbox"]),
    .posys-user-form-field select {
        min-height: 46px !important;
    }

    .posys-user-filter-actions,
    .posys-user-form-actions,
    .posys-user-pagination {
        display: grid !important;
        grid-template-columns:
            minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    .posys-user-filter-actions .button,
    .posys-user-form-actions .button,
    .posys-user-pagination .button {
        width: 100% !important;
        min-height: 46px !important;
        justify-content: center;
        text-align: center;
    }


    /*
     * User table -> mobile cards
     */

    .posys-user-results-card
    .posys-table-wrap {
        overflow: visible !important;
    }

    .posys-user-register-table {
        display: block !important;
        width: 100% !important;
    }

    .posys-user-register-table thead {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        margin: -1px !important;
        padding: 0 !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }

    .posys-user-register-table tbody {
        display: block !important;
        width: 100% !important;
    }

    .posys-user-register-table tbody tr {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box;
        margin: 0 0 14px !important;
        padding: 6px 14px !important;
        border: 1px solid #dce3e9 !important;
        border-radius: 13px !important;
        background: #fff !important;
        box-shadow:
            0 4px 14px
            rgba(8, 35, 55, 0.06) !important;
    }

    .posys-user-register-table tbody td {
        display: grid !important;
        grid-template-columns:
            92px
            minmax(0, 1fr) !important;
        gap: 9px !important;
        align-items: start !important;
        width: 100% !important;
        box-sizing: border-box;
        padding: 10px 0 !important;
        border: 0 !important;
        white-space: normal !important;
        text-align: left !important;
        overflow-wrap: anywhere;
    }

    .posys-user-register-table
    tbody td + td {
        border-top:
            1px solid
            #edf1f4 !important;
    }

    .posys-user-register-table
    tbody td::before {
        content:
            attr(data-mobile-label);
        color: #657483;
        font-size: 0.65rem;
        font-weight: 800;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .posys-user-row-actions {
        display: grid;
        grid-template-columns:
            minmax(0, 1fr);
        width: 100%;
    }

    .posys-user-row-actions .button {
        width: 100% !important;
        min-height: 42px !important;
        justify-content: center;
        text-align: center;
    }
}


@media (max-width: 430px) {

    .posys-user-filter-card,
    .posys-user-results-card,
    .posys-user-form-card,
    .posys-user-password-card {
        padding:
            16px
            12px !important;
    }

    .posys-user-register-table tbody tr {
        padding:
            5px
            11px !important;
    }

    .posys-user-register-table tbody td {
        grid-template-columns:
            80px
            minmax(0, 1fr) !important;
        gap: 7px !important;
    }
}



/* =========================================================
   POSYS ATTENDANCE V1
   ========================================================= */

.posys-topbar-attendance {
    display: flex;
    align-items: center;
    gap: 7px;
}

.posys-attendance-mini,
.posys-attendance-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    font-weight: 750;
    white-space: nowrap;
}

.posys-attendance-mini {
    min-height: 30px;
    padding: 5px 9px;
    font-size: 0.72rem;
}

.posys-attendance-badge {
    min-height: 28px;
    padding: 5px 10px;
    font-size: 0.75rem;
}

.posys-attendance-mini-present,
.posys-attendance-present {
    background: #e9f7ee;
    color: #23683a;
}

.posys-attendance-mini-warning,
.posys-attendance-unverified {
    background: #fff1d6;
    color: #7c5700;
}

.posys-attendance-mini-out,
.posys-attendance-out {
    background: #eef1f4;
    color: #5d6872;
}

.posys-attendance-review {
    background: #fdebed;
    color: #912936;
}

.posys-attendance-clockout-form {
    margin: 0;
}

.posys-attendance-clockout {
    min-height: 32px;
    padding: 5px 10px;
    border: 1px solid #d7dee4;
    border-radius: 7px;
    background: #fff;
    color: #243746;
    font: inherit;
    font-size: 0.72rem;
    font-weight: 750;
    cursor: pointer;
}

.posys-attendance-clockout:hover {
    background: #f4f7f9;
}

.posys-login-attendance-note {
    margin: 10px 0 0;
    color: #71808d;
    font-size: 0.78rem;
    line-height: 1.45;
    text-align: center;
}

.posys-attendance-filter form {
    display: flex;
    align-items: end;
    gap: 12px;
    flex-wrap: wrap;
}

.posys-attendance-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.posys-attendance-summary .posys-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.posys-attendance-summary span {
    color: #687785;
    font-size: 0.8rem;
    font-weight: 700;
}

.posys-attendance-summary strong {
    font-size: 1.7rem;
}


@media (max-width: 900px) {

    .posys-topbar-attendance {
        gap: 5px;
    }

    .posys-attendance-mini {
        display: none;
    }

    .posys-attendance-summary {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }
}


@media (max-width: 700px) {

    .posys-attendance-summary {
        grid-template-columns:
            minmax(0, 1fr);
    }

    .posys-attendance-filter form {
        display: grid;
        grid-template-columns:
            minmax(0, 1fr);
    }

    .posys-attendance-filter input,
    .posys-attendance-filter button {
        width: 100%;
        min-height: 46px;
        font-size: 16px;
    }

    .posys-attendance-table {
        display: block;
    }

    .posys-attendance-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
    }

    .posys-attendance-table tbody {
        display: block;
    }

    .posys-attendance-table tbody tr {
        display: block;
        margin-bottom: 14px;
        padding: 7px 13px;
        border: 1px solid #dce3e9;
        border-radius: 12px;
        background: #fff;
    }

    .posys-attendance-table tbody td {
        display: grid;
        grid-template-columns:
            90px minmax(0, 1fr);
        gap: 8px;
        padding: 9px 0;
        border: 0;
        white-space: normal;
    }

    .posys-attendance-table tbody td + td {
        border-top: 1px solid #edf1f4;
    }

    .posys-attendance-table tbody td::before {
        content: attr(data-mobile-label);
        color: #687785;
        font-size: 0.65rem;
        font-weight: 800;
        text-transform: uppercase;
    }
}



/* =========================================================
   POSYS ATTENDANCE V2
   ========================================================= */

.posys-attendance-away {
    background: #e9f0fc;
    color: #285695;
}

.posys-attendance-today-grid {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0;
}

.posys-attendance-today-grid > div {
    padding: 14px;
    border: 1px solid #e1e7eb;
    border-radius: 10px;
    background: #fafbfc;
}

.posys-attendance-today-grid span {
    display: block;
    margin-bottom: 5px;
    color: #687785;
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
}

.posys-attendance-today-grid strong {
    font-size: 1.25rem;
}

.posys-attendance-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.posys-attendance-active-activity {
    margin-top: 16px;
    padding: 16px;
    border: 1px solid #ccd9ea;
    border-radius: 10px;
    background: #f5f8fc;
}

.posys-attendance-active-activity > strong {
    display: block;
    margin-bottom: 4px;
}

.posys-attendance-active-activity > span {
    color: #687785;
    font-size: 0.8rem;
}

.posys-attendance-clockout-section {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid #e6eaee;
}

.posys-attendance-end-day {
    background: #263746;
}

.posys-attendance-form-card {
    max-width: 760px;
}

.posys-attendance-form-card textarea,
.posys-attendance-form-card input {
    width: 100%;
}

.posys-attendance-management-actions {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 12px;
}

.posys-attendance-status-filter {
    display: flex;
    align-items: end;
    gap: 12px;
}

.posys-attendance-status-filter select {
    width: 100%;
}

.posys-attendance-decision-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.posys-button-small {
    min-height: 32px;
    padding: 6px 10px;
    font-size: 0.74rem;
}


@media (max-width: 700px) {

    .posys-attendance-today-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
        gap: 6px;
    }

    .posys-attendance-today-grid > div {
        padding: 10px 7px;
    }

    .posys-attendance-today-grid strong {
        font-size: 1rem;
    }

    .posys-attendance-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .posys-attendance-actions .posys-button,
    .posys-attendance-clockout-section .posys-button {
        width: 100%;
        justify-content: center;
    }

    .posys-attendance-status-filter {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .posys-attendance-management-actions {
        justify-content: stretch;
    }

    .posys-attendance-management-actions .posys-button {
        width: 100%;
        justify-content: center;
    }
}



/* =========================================================
   POSYS ATTENDANCE MANAGEMENT UI V3
   ========================================================= */

.posys-attendance-page {
    display: grid;
    gap: 18px;
}

.posys-attendance-page-header {
    margin-bottom: 0;
}

.posys-attendance-header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.posys-attendance-date-card {
    padding-top: 14px;
    padding-bottom: 14px;
}

.posys-attendance-date-form {
    display: flex;
    align-items: end;
    gap: 10px;
}

.posys-attendance-date-form .posys-form-field {
    margin: 0;
}

.posys-attendance-date-form input {
    min-height: 42px;
}

.posys-attendance-kpi-grid {
    display: grid;
    grid-template-columns:
        repeat(7, minmax(0, 1fr));
    gap: 10px;
}

.posys-attendance-kpi {
    position: relative;
    min-width: 0;
    min-height: 128px;
    padding: 15px;
    border: 1px solid #e1e7eb;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 3px 12px rgba(25, 45, 60, 0.035);
}

.posys-attendance-kpi-label {
    display: block;
    margin-bottom: 9px;
    color: #62717e;
    font-size: 0.69rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.posys-attendance-kpi strong {
    display: block;
    margin-bottom: 5px;
    color: #1f3342;
    font-size: 1.75rem;
    line-height: 1;
}

.posys-attendance-kpi small {
    display: block;
    color: #84909a;
    font-size: 0.68rem;
    line-height: 1.35;
}

.posys-attendance-kpi-dot {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.posys-attendance-dot-present {
    background: #2f9d5b;
}

.posys-attendance-dot-break {
    background: #dfae22;
}

.posys-attendance-dot-outside {
    background: #3976c5;
}

.posys-attendance-dot-warning {
    background: #d87520;
}

.posys-attendance-kpi-review {
    border-color: #efcdd1;
    background: #fffafb;
}

.posys-attendance-register-card {
    overflow: hidden;
}

.posys-attendance-management-table {
    min-width: 940px;
}

.posys-attendance-management-table td {
    vertical-align: middle;
}

.posys-attendance-employee {
    display: flex;
    align-items: center;
    gap: 10px;
}

.posys-attendance-avatar {
    display: flex;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 9px;
    background: #eef2f5;
    color: #263b4a;
    font-size: 0.78rem;
    font-weight: 850;
}

.posys-attendance-employee strong,
.posys-attendance-employee span {
    display: block;
}

.posys-attendance-employee span {
    margin-top: 2px;
    color: #7b8791;
    font-size: 0.7rem;
}

.posys-attendance-time {
    color: #263a49;
    font-variant-numeric: tabular-nums;
}

.posys-attendance-status-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 800;
    line-height: 1.15;
    white-space: nowrap;
}

.posys-attendance-status-present {
    background: #e8f6ed;
    color: #276d40;
}

.posys-attendance-status-break {
    background: #fff5d9;
    color: #795900;
}

.posys-attendance-status-outside {
    background: #eaf1fb;
    color: #285a99;
}

.posys-attendance-status-unverified {
    background: #fff0df;
    color: #98561c;
}

.posys-attendance-status-out {
    background: #edf0f2;
    color: #5e6972;
}

.posys-attendance-status-review {
    background: #fdebee;
    color: #912d3b;
}

.posys-attendance-status-detail {
    display: block;
    max-width: 250px;
    margin-top: 5px;
    color: #7e8a94;
    font-size: 0.67rem;
    line-height: 1.35;
}

.posys-attendance-review-flag {
    color: #a1303c;
    font-size: 0.7rem;
    font-weight: 800;
}

.posys-attendance-review-ok {
    color: #a2abb2;
}

.posys-attendance-empty {
    padding: 36px 20px;
    text-align: center;
}

.posys-attendance-empty strong {
    display: block;
    margin-bottom: 5px;
    color: #314552;
}

.posys-attendance-empty p {
    margin: 0;
    color: #7a8790;
}

.posys-my-attendance-today {
    border-top: 3px solid #263d4d;
}


@media (max-width: 1250px) {

    .posys-attendance-kpi-grid {
        grid-template-columns:
            repeat(4, minmax(0, 1fr));
    }
}


@media (max-width: 900px) {

    .posys-attendance-kpi-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .posys-attendance-page-header {
        align-items: stretch;
    }

    .posys-attendance-header-actions {
        width: 100%;
    }
}


@media (max-width: 700px) {

    .posys-attendance-page {
        gap: 12px;
    }

    .posys-attendance-date-form {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .posys-attendance-date-form input,
    .posys-attendance-date-form .posys-button {
        width: 100%;
        min-height: 46px;
    }

    .posys-attendance-kpi-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .posys-attendance-kpi {
        min-height: 112px;
        padding: 12px;
    }

    .posys-attendance-kpi strong {
        font-size: 1.45rem;
    }

    .posys-attendance-kpi small {
        font-size: 0.63rem;
    }

    .posys-attendance-management-table {
        min-width: 0;
    }

    .posys-attendance-management-table tbody tr {
        padding: 9px 13px;
    }

    .posys-attendance-management-table tbody td {
        grid-template-columns:
            96px minmax(0, 1fr);
    }

    .posys-attendance-status-detail {
        max-width: none;
    }

    .posys-attendance-employee {
        align-items: flex-start;
    }

    .posys-attendance-header-actions .posys-button {
        width: 100%;
        justify-content: center;
    }
}



/* =========================================================
   POSYS ATTENDANCE POLICY V4
   ========================================================= */

.posys-attendance-policy-summary {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.posys-attendance-policy-kpi {
    padding: 14px;
    border: 1px solid #e2e7eb;
    border-radius: 11px;
    background: #fff;
}

.posys-attendance-policy-kpi span {
    display: block;
    margin-bottom: 6px;
    color: #6d7a85;
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
}

.posys-attendance-policy-kpi strong {
    display: block;
    margin-bottom: 4px;
    color: #263a49;
    font-size: 1.5rem;
}

.posys-attendance-policy-kpi small {
    color: #8a959d;
    font-size: 0.67rem;
}

.posys-attendance-policy-flag {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 0.69rem;
    font-weight: 800;
    white-space: nowrap;
}

.posys-attendance-policy-late {
    background: #fff0df;
    color: #98561c;
}

.posys-attendance-policy-early {
    background: #fdebee;
    color: #922f3e;
}

.posys-attendance-policy-ot {
    background: #e8f1fb;
    color: #285b99;
}

.posys-my-attendance-policy-grid {
    display: grid;
    grid-template-columns:
        repeat(5, minmax(0, 1fr));
    gap: 9px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #e6eaee;
}

.posys-my-attendance-policy-grid > div {
    padding: 11px;
    border-radius: 9px;
    background: #f7f9fa;
}

.posys-my-attendance-policy-grid span {
    display: block;
    margin-bottom: 4px;
    color: #74818b;
    font-size: 0.66rem;
    font-weight: 800;
    text-transform: uppercase;
}

.posys-my-attendance-policy-grid strong {
    color: #263a49;
    font-size: 0.95rem;
}

.posys-attendance-rest-day-banner {
    margin-top: 12px;
    padding: 11px 13px;
    border: 1px solid #cfdced;
    border-radius: 9px;
    background: #f3f7fc;
    color: #31587d;
    font-size: 0.78rem;
}


@media (max-width: 900px) {

    .posys-attendance-policy-summary {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .posys-my-attendance-policy-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }
}


@media (max-width: 700px) {

    .posys-attendance-policy-summary {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    .posys-my-attendance-policy-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        gap: 7px;
    }
}



/* =========================================================
   POSYS ATTENDANCE V5
   Monthly Summary / OT Approval
   ========================================================= */

.posys-attendance-v5-kpis {
    display: grid;
    grid-template-columns:
        repeat(6, minmax(0, 1fr));
    gap: 10px;
}

.posys-attendance-v5-filter {
    display: flex;
    align-items: end;
    flex-wrap: wrap;
    gap: 12px;
}

.posys-attendance-v5-filter .posys-form-field {
    min-width: 190px;
}

.posys-attendance-v5-table {
    min-width: 1100px;
}

.posys-attendance-v5-status {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 800;
}

.posys-attendance-v5-status.pending {
    background: #fff0df;
    color: #98561c;
}

.posys-attendance-v5-status.approved {
    background: #e7f6ee;
    color: #23754d;
}

.posys-attendance-v5-status.rejected {
    background: #fdebee;
    color: #922f3e;
}

.posys-attendance-v5-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.posys-attendance-v5-decision-grid {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 20px;
}

.posys-attendance-v5-decision-grid > div {
    padding: 12px;
    border: 1px solid #e3e8ec;
    border-radius: 9px;
    background: #f8fafb;
}

.posys-attendance-v5-decision-grid span {
    display: block;
    margin-bottom: 4px;
    color: #74818b;
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
}

.posys-attendance-v5-decision-grid strong {
    color: #263a49;
}


@media (max-width: 1100px) {

    .posys-attendance-v5-kpis {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }
}


@media (max-width: 700px) {

    .posys-attendance-v5-kpis {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .posys-attendance-v5-filter {
        display: grid;
        grid-template-columns: 1fr;
    }

    .posys-attendance-v5-filter .posys-form-field {
        min-width: 0;
    }

    .posys-attendance-v5-filter .posys-button {
        width: 100%;
    }

    .posys-attendance-v5-decision-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .posys-attendance-v5-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .posys-attendance-v5-actions .posys-button {
        width: 100%;
    }
}



/* =========================================================
   POSYS ATTENDANCE V6
   Holiday / Non-Working Day Calendar
   ========================================================= */

.posys-attendance-v6-table {
    min-width: 920px;
}

.posys-attendance-v6-form-card {
    max-width: 900px;
}

.posys-attendance-v6-form-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}

.posys-attendance-v6-form-wide {
    grid-column: 1 / -1;
}

.posys-attendance-v6-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-weight: 700;
}

.posys-attendance-v6-checkbox input {
    width: auto;
    margin: 0;
}


@media (max-width: 700px) {

    .posys-attendance-v6-form-grid {
        grid-template-columns: 1fr;
    }

    .posys-attendance-v6-form-wide {
        grid-column: auto;
    }
}



/* =========================================================
   POSYS ATTENDANCE V7
   Employee Attendance History / Audit
   ========================================================= */

.posys-attendance-v7-table {
    min-width: 980px;
}

.posys-attendance-v7-kpis {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.posys-attendance-v7-filter {
    display: flex;
    align-items: end;
    flex-wrap: wrap;
    gap: 12px;
}

.posys-attendance-v7-filter .posys-form-field {
    min-width: 190px;
}

.posys-attendance-v7-exempt {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 4px 9px;
    border-radius: 999px;
    background: #eef1f4;
    color: #4d5e6b;
    font-size: 0.7rem;
    font-weight: 800;
}

.posys-attendance-v7-exempt-banner {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 14px 16px;
    margin-bottom: 14px;
    border: 1px solid #dce3e8;
    border-radius: 10px;
    background: #f7f9fa;
}

.posys-attendance-v7-exempt-banner strong {
    color: #263a49;
}

.posys-attendance-v7-exempt-banner span {
    color: #667680;
    font-size: 0.82rem;
}

.posys-attendance-v7-history-link {
    color: inherit;
    text-decoration: none;
}

.posys-attendance-v7-history-link:hover {
    text-decoration: underline;
}

.posys-attendance-v7-timeline {
    display: grid;
    gap: 10px;
}

.posys-attendance-v7-timeline-item {
    padding: 12px 14px;
    border: 1px solid #e2e7eb;
    border-radius: 9px;
    background: #f9fafb;
}

.posys-attendance-v7-timeline-item > div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.posys-attendance-v7-timeline-item strong {
    color: #263a49;
}

.posys-attendance-v7-timeline-item span,
.posys-attendance-v7-timeline-item small {
    color: #74818b;
    font-size: 0.73rem;
}

.posys-attendance-v7-timeline-item p {
    margin: 7px 0 0;
    color: #4d5d68;
}


@media (max-width: 800px) {

    .posys-attendance-v7-kpis {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .posys-attendance-v7-filter {
        display: grid;
        grid-template-columns: 1fr;
    }

    .posys-attendance-v7-filter .posys-form-field {
        min-width: 0;
    }

    .posys-attendance-v7-filter .posys-button {
        width: 100%;
    }

    .posys-attendance-v7-timeline-item > div {
        flex-direction: column;
        gap: 2px;
    }
}


@media (max-width: 520px) {

    .posys-attendance-v7-kpis {
        grid-template-columns: 1fr;
    }
}



/* =========================================================
   POSYS ATTENDANCE V8
   Exception & Review Dashboard
   ========================================================= */

.posys-attendance-v8-filter {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(150px, 1fr))
        auto;
    gap: 12px;
    align-items: end;
}

.posys-attendance-v8-kpis {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}

.posys-attendance-v8-kpi {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-height: 108px;
    padding: 14px;
    border: 1px solid #e1e6ea;
    border-radius: 10px;
    background: #fff;
    color: inherit;
    text-decoration: none;
}

.posys-attendance-v8-kpi:hover {
    border-color: #bdc9d1;
}

.posys-attendance-v8-kpi span {
    color: #677782;
    font-size: 0.74rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.posys-attendance-v8-kpi strong {
    color: #263a49;
    font-size: 1.65rem;
}

.posys-attendance-v8-kpi small {
    color: #7b8992;
}

.posys-attendance-v8-kpi-action {
    border-width: 2px;
}

.posys-attendance-v8-secondary-kpis {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.posys-attendance-v8-table {
    min-width: 1120px;
}

.posys-attendance-v8-priority {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 800;
}

.posys-attendance-v8-priority-high {
    background: #fff0f0;
    color: #a73333;
}

.posys-attendance-v8-priority-medium {
    background: #fff8e7;
    color: #8a6417;
}

.posys-attendance-v8-priority-info {
    background: #eef4f7;
    color: #516a79;
}

.posys-attendance-v8-flags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.posys-attendance-v8-flag {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 7px;
    border-radius: 999px;
    background: #eef2f4;
    color: #526773;
    font-size: 0.66rem;
    font-weight: 750;
    white-space: nowrap;
}

.posys-attendance-v8-flag-forgotten_open,
.posys-attendance-v8-flag-needs_review {
    background: #fff0f0;
    color: #a73333;
}

.posys-attendance-v8-flag-unverified,
.posys-attendance-v8-flag-correction,
.posys-attendance-v8-flag-ot_pending {
    background: #fff8e7;
    color: #846019;
}

.posys-attendance-v8-flag-late,
.posys-attendance-v8-flag-early_leave {
    background: #f6f1ff;
    color: #67528a;
}

.posys-attendance-v8-flag-holiday_work,
.posys-attendance-v8-flag-rest_day_work {
    background: #edf6f3;
    color: #426d60;
}

.posys-attendance-v8-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}


@media (max-width: 1000px) {

    .posys-attendance-v8-filter {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .posys-attendance-v8-filter .posys-button {
        width: 100%;
    }
}


@media (max-width: 760px) {

    .posys-attendance-v8-kpis,
    .posys-attendance-v8-secondary-kpis {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .posys-attendance-v8-filter {
        grid-template-columns: 1fr;
    }
}


@media (max-width: 520px) {

    .posys-attendance-v8-kpis,
    .posys-attendance-v8-secondary-kpis {
        grid-template-columns: 1fr;
    }

    .posys-attendance-v8-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .posys-attendance-v8-actions .posys-button {
        width: 100%;
    }
}



/* =========================================================
   POSYS ITEM PRODUCTION REGISTER V1
   ========================================================= */

.posys-item-production-filter {
    display: grid;
    grid-template-columns:
        minmax(240px, 2fr)
        minmax(190px, 1fr)
        auto
        auto;
    gap: 12px;
    align-items: end;
}

.posys-item-production-table {
    min-width: 1120px;
}

.posys-item-production-link {
    color: inherit;
    font-weight: 750;
    text-decoration: none;
}

.posys-item-production-link:hover {
    text-decoration: underline;
}

.posys-item-production-stage {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 800;
    white-space: nowrap;
}

.posys-item-production-stage-order {
    background: #eef2f4;
    color: #526773;
}

.posys-item-production-stage-design {
    background: #fcebf5;
    color: #8b3e69;
}

.posys-item-production-stage-production {
    background: #e7f6fb;
    color: #27728d;
}

.posys-item-production-stage-delivery {
    background: #fff7dc;
    color: #85691e;
}

.posys-item-production-stage-completed {
    background: #eaf5ef;
    color: #3c6b53;
}

.posys-item-production-stage-cancelled {
    background: #f2f2f2;
    color: #777;
}


@media (max-width: 760px) {

    .posys-item-production-filter {
        grid-template-columns: 1fr;
    }

    .posys-item-production-filter .posys-button {
        width: 100%;
    }
}



/* =========================================================
   POSYS ITEM PRODUCTION REGISTER V2
   Simplified operational register
   ========================================================= */

.posys-item-production-filter {
    display: grid;
    grid-template-columns:
        minmax(320px, 2fr)
        minmax(230px, 1fr)
        auto;
    gap: 14px;
    align-items: end;
}

.posys-item-production-filter-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.posys-item-production-filter-actions .posys-button {
    min-width: 120px;
}

.posys-item-production-table {
    min-width: 900px;
}

.posys-item-production-table th:first-child,
.posys-item-production-table td:first-child {
    width: 105px;
}

.posys-item-production-table th:nth-child(2),
.posys-item-production-table td:nth-child(2) {
    width: 145px;
}

.posys-item-production-table th:nth-child(4),
.posys-item-production-table td:nth-child(4) {
    width: 130px;
}

.posys-item-production-table th:nth-child(5),
.posys-item-production-table td:nth-child(5) {
    width: 115px;
}

.posys-item-production-table th:last-child,
.posys-item-production-table td:last-child {
    width: 115px;
}


@media (max-width: 900px) {

    .posys-item-production-filter {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(200px, 0.7fr);
    }

    .posys-item-production-filter-actions {
        grid-column: 1 / -1;
    }
}


@media (max-width: 700px) {

    .posys-item-production-filter {
        grid-template-columns: 1fr;
    }

    .posys-item-production-filter-actions {
        grid-column: auto;
        display: grid;
        grid-template-columns: 1fr;
    }

    .posys-item-production-filter-actions .posys-button {
        width: 100%;
    }

    .posys-item-production-table {
        min-width: 0;
    }
}



/* =========================================================
   POSYS ATTENDANCE V9
   Management Reporting & Export
   ========================================================= */

.posys-attendance-v9-filter {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(150px, 0.8fr))
        minmax(190px, 1fr)
        minmax(180px, 1fr)
        minmax(190px, 1fr)
        auto;
    gap: 12px;
    align-items: end;
}

.posys-attendance-v9-filter-actions {
    display: flex;
    gap: 7px;
}

.posys-attendance-v9-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-bottom: 14px;
}

.posys-attendance-v9-report-heading {
    margin: 10px 0 14px;
}

.posys-attendance-v9-report-heading h2 {
    margin: 4px 0;
}

.posys-attendance-v9-report-heading p {
    margin: 0;
    color: #73818c;
}

.posys-attendance-v9-kpis {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 10px;
}

.posys-attendance-v9-secondary {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.posys-attendance-v9-table {
    min-width: 1080px;
}

.posys-attendance-v9-print-note {
    display: none;
}


@media (max-width: 1100px) {

    .posys-attendance-v9-filter {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }
}


@media (max-width: 760px) {

    .posys-attendance-v9-filter {
        grid-template-columns: 1fr;
    }

    .posys-attendance-v9-filter-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .posys-attendance-v9-filter-actions .posys-button {
        width: 100%;
    }

    .posys-attendance-v9-kpis,
    .posys-attendance-v9-secondary {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .posys-attendance-v9-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .posys-attendance-v9-actions .posys-button {
        width: 100%;
    }
}


@media (max-width: 520px) {

    .posys-attendance-v9-kpis,
    .posys-attendance-v9-secondary {
        grid-template-columns: 1fr;
    }
}


@media print {

    .posys-sidebar,
    .posys-topbar,
    .posys-mobile-menu-button,
    .posys-mobile-sidebar-overlay,
    .posys-no-print {
        display: none !important;
    }

    .posys-main {
        margin: 0 !important;
        padding: 0 !important;
    }

    .posys-attendance-v9-page {
        padding: 0 !important;
    }

    .posys-attendance-v9-register {
        border: 0 !important;
        box-shadow: none !important;
    }

    .posys-table-wrap {
        overflow: visible !important;
    }

    .posys-attendance-v9-table {
        min-width: 0 !important;
        width: 100% !important;
        font-size: 9pt;
    }

    .posys-attendance-v9-print-note {
        display: flex;
        flex-direction: column;
        gap: 4px;
        margin-top: 18px;
        font-size: 8pt;
    }

    .posys-attendance-v9-kpis,
    .posys-attendance-v9-secondary {
        grid-template-columns:
            repeat(3, 1fr);
    }
}



/* =========================================================
   POSYS GLOBAL ITEM REFERENCE V1
   ========================================================= */

.posys-global-item-reference {
    display: block;
    font-size: 0.88rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.posys-item-local-reference {
    display: block;
    margin-top: 4px;
    color: #82909a;
    font-size: 0.68rem;
    font-weight: 600;
}

.posys-item-production-table th:first-child,
.posys-item-production-table td:first-child {
    width: 220px;
    min-width: 220px;
}


@media (max-width: 700px) {

    .posys-global-item-reference {
        font-size: 0.82rem;
    }

    .posys-item-production-table th:first-child,
    .posys-item-production-table td:first-child {
        width: auto;
        min-width: 0;
    }
}



/* =========================================================
   POSYS ITEM DETAIL PRODUCTION ACTION V1
   ========================================================= */

.posys-item-detail-page {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.posys-item-detail-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.posys-item-detail-hero h1 {
    margin: 4px 0 4px;
    overflow-wrap: anywhere;
}

.posys-item-detail-local {
    color: #75828c;
    font-size: 0.88rem;
    font-weight: 600;
}

.posys-item-detail-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.posys-item-detail-warning {
    padding: 13px 16px;
    border: 1px solid rgba(255, 193, 7, 0.4);
    border-radius: 10px;
    background: rgba(255, 193, 7, 0.08);
    font-weight: 600;
}

.posys-item-detail-kpis {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.posys-item-detail-kpi {
    padding: 15px;
    border: 1px solid #e4e9ed;
    border-radius: 12px;
    background: #fff;
}

.posys-item-detail-kpi span {
    display: block;
    margin-bottom: 5px;
    color: #78858f;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.posys-item-detail-kpi strong {
    display: block;
    overflow-wrap: anywhere;
}

.posys-item-detail-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(300px, 0.65fr);
    gap: 16px;
}

.posys-item-detail-list {
    margin: 0;
}

.posys-item-detail-list > div {
    display: grid;
    grid-template-columns:
        minmax(130px, 0.35fr)
        minmax(0, 1fr);
    gap: 16px;
    padding: 10px 0;
    border-bottom: 1px solid #edf0f2;
}

.posys-item-detail-list > div:last-child {
    border-bottom: 0;
}

.posys-item-detail-list dt {
    color: #75828c;
    font-size: 0.78rem;
    font-weight: 700;
}

.posys-item-detail-list dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.posys-item-detail-specification {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #edf0f2;
}

.posys-item-detail-label {
    display: block;
    margin-bottom: 6px;
    color: #75828c;
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
}

.posys-item-detail-specification p {
    margin: 0;
    line-height: 1.6;
}

.posys-item-detail-muted,
.posys-item-detail-empty {
    color: #7b8790;
}

.posys-item-assignment-list {
    display: flex;
    flex-direction: column;
}

.posys-item-assignment-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px solid #edf0f2;
}

.posys-item-assignment-row:last-child {
    border-bottom: 0;
}

.posys-item-assignment-row strong,
.posys-item-assignment-row span {
    display: block;
}

.posys-item-assignment-row span {
    margin-top: 2px;
    color: #75828c;
    font-size: 0.76rem;
}

.posys-item-assignment-lead {
    padding: 4px 8px;
    border-radius: 999px;
    background: #eef3f6;
    color: #344550 !important;
    font-size: 0.68rem !important;
    font-weight: 700;
    white-space: nowrap;
}

.posys-item-production-actions
.posys-section-header p {
    margin: 5px 0 0;
    color: #75828c;
}

.posys-item-production-action-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.posys-item-production-action-form {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 14px;
    border: 1px solid #e4e9ed;
    border-radius: 10px;
}

.posys-item-production-action-form label {
    font-size: 0.76rem;
    font-weight: 700;
}

.posys-item-production-action-form textarea {
    width: 100%;
    resize: vertical;
}

.posys-item-production-action-form .posys-button {
    align-self: flex-start;
}

.posys-item-trace-list {
    max-width: 900px;
}


@media (max-width: 950px) {

    .posys-item-detail-kpis {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .posys-item-detail-grid {
        grid-template-columns: 1fr;
    }
}


@media (max-width: 700px) {

    .posys-item-detail-hero {
        flex-direction: column;
    }

    .posys-item-detail-hero-actions {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
    }

    .posys-item-detail-hero-actions
    .posys-button {
        width: 100%;
    }

    .posys-item-detail-kpis {
        grid-template-columns: 1fr;
    }

    .posys-item-detail-list > div {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .posys-item-production-action-grid {
        grid-template-columns: 1fr;
    }

    .posys-item-production-action-form
    .posys-button {
        width: 100%;
    }
}



/* =========================================================
   POSYS ITEM PRODUCTION UI V3
   Remove redundant Job No column
   Align Apply / Clear with form controls
   ========================================================= */

.posys-item-production-filter {
    grid-template-columns:
        minmax(360px, 2fr)
        minmax(250px, 1fr)
        auto;
    align-items: end;
}

.posys-item-production-filter-actions-v3 {
    display: flex;
    align-items: stretch;
    gap: 8px;
    padding-bottom: 0;
}

.posys-item-production-filter-actions-v3
.posys-button {
    min-width: 145px;
    height: 60px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}

.posys-item-production-table {
    min-width: 850px;
}

.posys-item-production-table th:first-child,
.posys-item-production-table td:first-child {
    width: 250px;
    min-width: 250px;
}

.posys-item-production-table th:nth-child(2),
.posys-item-production-table td:nth-child(2) {
    width: auto;
    min-width: 210px;
}

.posys-item-production-table th:nth-child(3),
.posys-item-production-table td:nth-child(3) {
    width: 135px;
    min-width: 135px;
}

.posys-item-production-table th:nth-child(4),
.posys-item-production-table td:nth-child(4) {
    width: 120px;
    min-width: 120px;
}

.posys-item-production-table th:nth-child(5),
.posys-item-production-table td:nth-child(5) {
    width: 165px;
    min-width: 165px;
}

.posys-item-production-table th:last-child,
.posys-item-production-table td:last-child {
    width: 110px;
    min-width: 110px;
}


@media (max-width: 900px) {

    .posys-item-production-filter {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(220px, 0.7fr);
    }

    .posys-item-production-filter-actions-v3 {
        grid-column: 1 / -1;
    }

    .posys-item-production-filter-actions-v3
    .posys-button {
        height: 50px;
    }
}


@media (max-width: 700px) {

    .posys-item-production-filter {
        grid-template-columns: 1fr;
    }

    .posys-item-production-filter-actions-v3 {
        grid-column: auto;
        display: grid;
        grid-template-columns: 1fr;
    }

    .posys-item-production-filter-actions-v3
    .posys-button {
        width: 100%;
        min-width: 0;
        height: 48px;
    }

    .posys-item-production-table {
        min-width: 0;
    }

    .posys-item-production-table th:first-child,
    .posys-item-production-table td:first-child,
    .posys-item-production-table th:nth-child(2),
    .posys-item-production-table td:nth-child(2),
    .posys-item-production-table th:nth-child(3),
    .posys-item-production-table td:nth-child(3),
    .posys-item-production-table th:nth-child(4),
    .posys-item-production-table td:nth-child(4),
    .posys-item-production-table th:nth-child(5),
    .posys-item-production-table td:nth-child(5),
    .posys-item-production-table th:last-child,
    .posys-item-production-table td:last-child {
        width: auto;
        min-width: 0;
    }
}



/* =========================================================
   POSYS ITEM REFERENCE WRAP V1
   Job number first line, ITEM-NNN second line
   ========================================================= */

.posys-global-item-reference {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1px;
    font-size: 0.86rem;
    line-height: 1.3;
    white-space: normal;
}

.posys-global-item-job-part,
.posys-global-item-local-part {
    display: block;
    white-space: nowrap;
}

.posys-global-item-local-part {
    font-size: 0.82rem;
}

.posys-item-local-reference {
    display: none !important;
}


/* Rebalance production register columns */

.posys-item-production-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
}

.posys-item-production-table th:first-child,
.posys-item-production-table td:first-child {
    width: 25%;
    min-width: 0;
}

.posys-item-production-table th:nth-child(2),
.posys-item-production-table td:nth-child(2) {
    width: 22%;
    min-width: 0;
}

.posys-item-production-table th:nth-child(3),
.posys-item-production-table td:nth-child(3) {
    width: 14%;
    min-width: 0;
}

.posys-item-production-table th:nth-child(4),
.posys-item-production-table td:nth-child(4) {
    width: 12%;
    min-width: 0;
}

.posys-item-production-table th:nth-child(5),
.posys-item-production-table td:nth-child(5) {
    width: 19%;
    min-width: 0;
}

.posys-item-production-table th:last-child,
.posys-item-production-table td:last-child {
    width: 8%;
    min-width: 88px;
}

.posys-item-production-table td {
    vertical-align: middle;
}

.posys-item-production-table td:nth-child(2),
.posys-item-production-table td:nth-child(5) {
    overflow-wrap: anywhere;
}


/* Keep action button inside the table boundary */

.posys-item-production-table td:last-child {
    padding-right: 12px;
}

.posys-item-production-table td:last-child .posys-button,
.posys-item-production-table td:last-child a {
    max-width: 100%;
}


@media (max-width: 900px) {

    .posys-item-production-table {
        min-width: 820px;
        table-layout: auto;
    }

    .posys-item-production-table th:first-child,
    .posys-item-production-table td:first-child {
        min-width: 190px;
    }

    .posys-item-production-table th:nth-child(2),
    .posys-item-production-table td:nth-child(2) {
        min-width: 180px;
    }

    .posys-item-production-table th:nth-child(5),
    .posys-item-production-table td:nth-child(5) {
        min-width: 150px;
    }
}


@media (max-width: 700px) {

    .posys-item-production-table {
        min-width: 0;
        table-layout: auto;
    }

    .posys-global-item-reference {
        font-size: 0.82rem;
    }

    .posys-global-item-local-part {
        font-size: 0.8rem;
    }

    .posys-item-production-table th:first-child,
    .posys-item-production-table td:first-child,
    .posys-item-production-table th:nth-child(2),
    .posys-item-production-table td:nth-child(2),
    .posys-item-production-table th:nth-child(3),
    .posys-item-production-table td:nth-child(3),
    .posys-item-production-table th:nth-child(4),
    .posys-item-production-table td:nth-child(4),
    .posys-item-production-table th:nth-child(5),
    .posys-item-production-table td:nth-child(5),
    .posys-item-production-table th:last-child,
    .posys-item-production-table td:last-child {
        width: auto;
        min-width: 0;
    }
}



/* =========================================================
   POSYS ITEM DETAIL CARD ALIGNMENT V1
   Keep Item Specification and Item Team flush at top
   ========================================================= */

.posys-item-detail-grid-aligned {
    align-items: stretch;
}

.posys-item-detail-grid-aligned > .posys-card {
    margin-top: 0 !important;
    align-self: stretch;
}

.posys-item-detail-grid-aligned
> .posys-card
> .posys-section-header {
    margin-top: 0 !important;
}

.posys-item-detail-grid-aligned
> .posys-card:first-child,
.posys-item-detail-grid-aligned
> .posys-card:nth-child(2) {
    padding-top: 28px;
}


/* Item Team header alignment */

.posys-item-detail-grid-aligned
> .posys-card:nth-child(2)
> .posys-section-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.posys-item-detail-grid-aligned
> .posys-card:nth-child(2)
> .posys-section-header
.posys-button {
    margin-top: 0;
}


/* Compact action button in production register */

.posys-item-production-table
td:last-child
.posys-button,
.posys-item-production-table
td:last-child
a {
    min-width: 74px;
    width: auto;
    padding-left: 14px;
    padding-right: 14px;
    white-space: nowrap;
}


@media (max-width: 700px) {

    .posys-item-detail-grid-aligned
    > .posys-card:first-child,
    .posys-item-detail-grid-aligned
    > .posys-card:nth-child(2) {
        padding-top: 20px;
    }

    .posys-item-detail-grid-aligned
    > .posys-card:nth-child(2)
    > .posys-section-header {
        flex-direction: column;
    }

    .posys-item-detail-grid-aligned
    > .posys-card:nth-child(2)
    > .posys-section-header
    .posys-button {
        width: 100%;
    }

    .posys-item-production-table
    td:last-child
    .posys-button,
    .posys-item-production-table
    td:last-child
    a {
        width: 100%;
    }
}



/* =========================================================
   POSYS ITEM PRODUCTION OPEN BUTTON V1
   Compact, centered action control
   ========================================================= */

.posys-item-production-table th:last-child,
.posys-item-production-table td:last-child {
    text-align: center;
}

.posys-item-production-table td:last-child {
    vertical-align: middle;
    padding-left: 8px;
    padding-right: 8px;
}

.posys-item-production-table td:last-child a,
.posys-item-production-table td:last-child .posys-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: auto;
    min-width: 72px;
    height: 40px;

    padding: 0 16px;
    margin: 0;

    border-radius: 8px;

    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1;

    white-space: nowrap;
}


/* Slightly lighter visual weight on desktop */

@media (min-width: 701px) {

    .posys-item-production-table td:last-child a,
    .posys-item-production-table td:last-child .posys-button {
        min-width: 70px;
        height: 38px;
        padding-left: 15px;
        padding-right: 15px;
    }
}


/* Mobile remains easy to tap */

@media (max-width: 700px) {

    .posys-item-production-table td:last-child a,
    .posys-item-production-table td:last-child .posys-button {
        width: 100%;
        min-width: 0;
        height: 44px;
        font-size: 0.82rem;
    }
}



/* =========================================================
   POSYS ITEM PRODUCTION FIT TABLE V1
   Fit full production register inside card
   No desktop horizontal scrollbar
   ========================================================= */

.posys-item-production-table {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
}

.posys-item-production-table th,
.posys-item-production-table td {
    min-width: 0 !important;
    max-width: none !important;
    box-sizing: border-box;
}


/* Item reference */

.posys-item-production-table th:nth-child(1),
.posys-item-production-table td:nth-child(1) {
    width: 25% !important;
}


/* Product / Service */

.posys-item-production-table th:nth-child(2),
.posys-item-production-table td:nth-child(2) {
    width: 22% !important;
}


/* Required Date */

.posys-item-production-table th:nth-child(3),
.posys-item-production-table td:nth-child(3) {
    width: 13% !important;
}


/* Stage */

.posys-item-production-table th:nth-child(4),
.posys-item-production-table td:nth-child(4) {
    width: 11% !important;
}


/* Detailed Status */

.posys-item-production-table th:nth-child(5),
.posys-item-production-table td:nth-child(5) {
    width: 20% !important;
}


/* Action */

.posys-item-production-table th:nth-child(6),
.posys-item-production-table td:nth-child(6) {
    width: 9% !important;
}


/* Let content wrap instead of enlarging table */

.posys-item-production-table th,
.posys-item-production-table td,
.posys-item-production-table strong,
.posys-item-production-table span {
    overflow-wrap: break-word;
    word-break: normal;
}

.posys-global-item-job-part,
.posys-global-item-local-part {
    white-space: normal !important;
}

.posys-item-production-table td:nth-child(3) {
    white-space: nowrap;
}


/* Keep stage badge compact */

.posys-item-production-table td:nth-child(4) {
    text-align: left;
}

.posys-item-production-table td:nth-child(4) span {
    max-width: 100%;
}


/* Compact action column */

.posys-item-production-table th:last-child,
.posys-item-production-table td:last-child {
    text-align: center;
    padding-left: 5px !important;
    padding-right: 5px !important;
}

.posys-item-production-table td:last-child a,
.posys-item-production-table td:last-child .posys-button {
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    height: 38px;
    padding: 0 12px !important;
}


/* The table wrapper must not create a desktop scrollbar */

.posys-item-production-register .posys-table-wrap,
.posys-item-production-table-wrapper,
.posys-item-production-table-container {
    max-width: 100%;
    overflow-x: visible !important;
}


/* Tablet: keep all six columns fitted */

@media (min-width: 701px) and (max-width: 1000px) {

    .posys-item-production-table {
        min-width: 0 !important;
        table-layout: fixed !important;
    }

    .posys-item-production-table th,
    .posys-item-production-table td {
        padding-left: 8px;
        padding-right: 8px;
    }

    .posys-item-production-table th:nth-child(1),
    .posys-item-production-table td:nth-child(1) {
        width: 24% !important;
    }

    .posys-item-production-table th:nth-child(2),
    .posys-item-production-table td:nth-child(2) {
        width: 21% !important;
    }

    .posys-item-production-table th:nth-child(3),
    .posys-item-production-table td:nth-child(3) {
        width: 13% !important;
    }

    .posys-item-production-table th:nth-child(4),
    .posys-item-production-table td:nth-child(4) {
        width: 12% !important;
    }

    .posys-item-production-table th:nth-child(5),
    .posys-item-production-table td:nth-child(5) {
        width: 20% !important;
    }

    .posys-item-production-table th:nth-child(6),
    .posys-item-production-table td:nth-child(6) {
        width: 10% !important;
    }
}


/* Preserve existing mobile card behaviour */

@media (max-width: 700px) {

    .posys-item-production-table {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: auto !important;
    }

    .posys-item-production-table th,
    .posys-item-production-table td {
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .posys-item-production-table td:last-child a,
    .posys-item-production-table td:last-child .posys-button {
        width: 100% !important;
        max-width: none !important;
        height: 44px;
    }
}



/* =========================================================
   POSYS ITEM DETAIL V2
   Timeline, revision trace, controlled files, mobile actions
   ========================================================= */

.posys-item-v2-next-action
.posys-section-header {
    margin-bottom: 12px;
}

.posys-item-v2-next-action
.posys-section-header p {
    margin: 5px 0 0;
    color: #71808b;
}

.posys-item-v2-action-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.posys-item-v2-workflow-message {
    color: #73818b;
    font-weight: 600;
}

.posys-item-v2-two-column {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.posys-item-v2-revision-list,
.posys-item-v2-approval-list {
    display: flex;
    flex-direction: column;
}

.posys-item-v2-revision,
.posys-item-v2-approval {
    padding: 13px 0;
    border-bottom: 1px solid #e8edf0;
}

.posys-item-v2-revision:first-child,
.posys-item-v2-approval:first-child {
    padding-top: 0;
}

.posys-item-v2-revision:last-child,
.posys-item-v2-approval:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.posys-item-v2-revision-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.posys-item-v2-meta {
    margin-top: 4px;
    color: #74818b;
    font-size: 0.76rem;
    line-height: 1.45;
}

.posys-item-v2-file-reference {
    margin-top: 8px;
    padding: 8px 10px;
    border-radius: 7px;
    background: #f3f6f8;
    overflow-wrap: anywhere;
    font-size: 0.78rem;
    font-family: monospace;
}

.posys-item-v2-revision p,
.posys-item-v2-approval p {
    margin: 8px 0 0;
    line-height: 1.5;
}

.posys-item-v2-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 4px 8px;
    border-radius: 999px;
    background: #edf2f5;
    color: #50616c;
    font-size: 0.68rem;
    font-weight: 700;
}

.posys-item-v2-badge-success {
    background: #e8f6ef;
    color: #24704b;
}

.posys-item-v2-file-list {
    display: flex;
    flex-direction: column;
}

.posys-item-v2-file-row {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        auto
        auto;
    gap: 14px;
    align-items: center;
    padding: 13px 0;
    border-bottom: 1px solid #e8edf0;
}

.posys-item-v2-file-row:last-child {
    border-bottom: 0;
}

.posys-item-v2-file-main {
    min-width: 0;
}

.posys-item-v2-file-main strong,
.posys-item-v2-file-main span,
.posys-item-v2-file-main small {
    display: block;
}

.posys-item-v2-file-main strong {
    overflow-wrap: anywhere;
}

.posys-item-v2-file-main span {
    margin-top: 3px;
    color: #53636e;
    font-size: 0.78rem;
}

.posys-item-v2-file-main small {
    margin-top: 4px;
    color: #80909b;
}

.posys-item-v2-file-state {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 5px;
}

.posys-item-v2-timeline {
    position: relative;
    display: flex;
    flex-direction: column;
}

.posys-item-v2-timeline-entry {
    position: relative;
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 12px;
    padding-bottom: 18px;
}

.posys-item-v2-timeline-entry:not(:last-child)::before {
    content: "";
    position: absolute;
    top: 11px;
    left: 5px;
    bottom: -1px;
    width: 2px;
    background: #dce5ea;
}

.posys-item-v2-timeline-dot {
    position: relative;
    z-index: 1;
    width: 12px;
    height: 12px;
    margin-top: 4px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: #123f61;
    box-shadow: 0 0 0 1px #bdcad2;
}

.posys-item-v2-timeline-entry strong,
.posys-item-v2-timeline-entry span {
    display: block;
}

.posys-item-v2-timeline-entry span {
    margin-top: 2px;
    color: #7c8992;
    font-size: 0.75rem;
}

.posys-item-v2-timeline-entry p {
    margin: 6px 0 0;
    line-height: 1.5;
}

.posys-item-v2-timeline-empty {
    color: #7b8790;
}


@media (max-width: 900px) {

    .posys-item-v2-two-column {
        grid-template-columns: 1fr;
    }
}


@media (max-width: 700px) {

    .posys-item-detail-v2
    .posys-item-detail-hero h1 {
        font-size: 1.4rem;
        overflow-wrap: anywhere;
    }

    .posys-item-v2-action-row {
        display: grid;
        grid-template-columns: 1fr;
    }

    .posys-item-v2-action-row
    .posys-button {
        width: 100%;
    }

    .posys-item-v2-file-row {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .posys-item-v2-file-state {
        justify-content: flex-start;
    }

    .posys-item-v2-file-row
    .posys-button {
        width: 100%;
    }

    .posys-item-v2-revision-head {
        align-items: flex-start;
    }
}



/* =========================================================
   POSYS DESIGNER UPLOAD V2
   Drag/drop artwork submission + workflow alignment
   ========================================================= */

.posys-designer-upload-page {
    max-width: 1100px;
}

.posys-designer-upload-header {
    margin-bottom: 18px;
}

.posys-designer-upload-header h1 {
    margin: 4px 0 8px;
}

.posys-designer-upload-header p {
    margin: 3px 0;
}

.posys-designer-upload-note {
    color: #6f7e88;
}

.posys-designer-upload-form {
    padding: 22px;
    border: 1px solid #dce4e9;
    border-radius: 14px;
    background: #fff;
}

.posys-designer-upload-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.posys-upload-panel {
    min-width: 0;
}

.posys-upload-panel-heading {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 10px;
}

.posys-upload-panel-heading h2 {
    margin: 0 0 3px;
    font-size: 1.05rem;
}

.posys-upload-panel-heading p {
    margin: 0;
    color: #73818b;
    font-size: 0.8rem;
}

.posys-upload-number {
    display: inline-flex;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #123f61;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 800;
}

.posys-drop-zone {
    position: relative;
    display: flex;
    min-height: 180px;
    padding: 22px;
    box-sizing: border-box;
    border: 2px dashed #b8c8d2;
    border-radius: 12px;
    background: #f8fafb;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    transition:
        border-color 0.15s ease,
        background 0.15s ease,
        transform 0.15s ease;
}

.posys-drop-zone:hover,
.posys-drop-zone-active {
    border-color: #0fa9cf;
    background: #f1fbfe;
}

.posys-drop-zone-active {
    transform: translateY(-1px);
}

.posys-drop-zone-selected {
    border-style: solid;
    border-color: #123f61;
}

.posys-drop-zone input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
}

.posys-drop-zone-title {
    font-size: 0.95rem;
    font-weight: 800;
}

.posys-drop-zone-subtitle {
    margin-top: 4px;
    color: #75838d;
    font-size: 0.78rem;
}

.posys-drop-zone-filename {
    max-width: 100%;
    margin-top: 14px;
    padding: 7px 10px;
    border-radius: 7px;
    background: #edf2f5;
    color: #344754;
    font-size: 0.75rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.posys-upload-help {
    display: block;
    margin-top: 7px;
    color: #768590;
    line-height: 1.45;
}

.posys-upload-limit {
    margin-top: 14px;
    color: #687984;
    font-size: 0.78rem;
}

.posys-designer-upload-remarks {
    margin-top: 20px;
}

.posys-designer-upload-remarks label {
    display: block;
    margin-bottom: 6px;
    font-weight: 700;
}

.posys-designer-upload-remarks textarea {
    width: 100%;
    box-sizing: border-box;
}

.posys-designer-upload-actions {
    display: flex;
    gap: 8px;
    margin-top: 16px;
}


/* Job Detail status/action alignment */

.posys-product-table-main-row > td {
    vertical-align: top !important;
}

.posys-product-table-main-row
.posys-action-group {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-top: 0 !important;
}

.posys-product-table-main-row
.posys-primary-product-action {
    margin-top: 0 !important;
}

.posys-product-table-main-row
.posys-primary-product-action
.button {
    margin-top: 0 !important;
}

.posys-product-table-main-row
.posys-product-secondary-actions {
    margin-top: 0 !important;
}


/* Artwork Revision / Approval cards align */

.posys-item-v2-two-column {
    align-items: stretch;
}

.posys-item-v2-two-column
> .posys-card {
    height: 100%;
    box-sizing: border-box;
    margin-top: 0 !important;
}


/* Revision file buttons */

.posys-revision-file-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 10px;
}

.posys-revision-file-actions
.posys-button {
    min-height: 34px;
    padding: 6px 10px;
    font-size: 0.72rem;
}


@media (max-width: 700px) {

    .posys-designer-upload-grid {
        grid-template-columns: 1fr;
    }

    .posys-drop-zone {
        min-height: 150px;
    }

    .posys-designer-upload-form {
        padding: 16px;
    }

    .posys-designer-upload-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .posys-designer-upload-actions
    .posys-button {
        width: 100%;
    }

    .posys-revision-file-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .posys-revision-file-actions
    .posys-button {
        width: 100%;
    }
}



/* =========================================================
   POSYS PRODUCTION REGISTER V2 FINAL
   Operational queue / due priority / production team
   ========================================================= */

.posys-production-register-v2-filter {
    display: grid;
    grid-template-columns:
        minmax(280px, 1.8fr)
        minmax(175px, 0.9fr)
        minmax(175px, 0.9fr)
        minmax(190px, 1fr)
        auto;
    gap: 12px;
    align-items: end;
}

.posys-production-register-v2-actions {
    display: flex;
    gap: 7px;
    align-items: stretch;
}

.posys-production-register-v2-actions
.posys-button {
    min-width: 100px;
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}


/* Seven-column operational table */

.posys-production-register-v2-table {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
}

.posys-production-register-v2-table th,
.posys-production-register-v2-table td {
    min-width: 0 !important;
    box-sizing: border-box;
    vertical-align: middle;
}

.posys-production-register-v2-table
th:nth-child(1),
.posys-production-register-v2-table
td:nth-child(1) {
    width: 19%;
}

.posys-production-register-v2-table
th:nth-child(2),
.posys-production-register-v2-table
td:nth-child(2) {
    width: 17%;
}

.posys-production-register-v2-table
th:nth-child(3),
.posys-production-register-v2-table
td:nth-child(3) {
    width: 13%;
}

.posys-production-register-v2-table
th:nth-child(4),
.posys-production-register-v2-table
td:nth-child(4) {
    width: 11%;
}

.posys-production-register-v2-table
th:nth-child(5),
.posys-production-register-v2-table
td:nth-child(5) {
    width: 17%;
}

.posys-production-register-v2-table
th:nth-child(6),
.posys-production-register-v2-table
td:nth-child(6) {
    width: 15%;
}

.posys-production-register-v2-table
th:nth-child(7),
.posys-production-register-v2-table
td:nth-child(7) {
    width: 8%;
    text-align: center;
}

.posys-production-register-v2-table
td:nth-child(1),
.posys-production-register-v2-table
td:nth-child(2),
.posys-production-register-v2-table
td:nth-child(5),
.posys-production-register-v2-table
td:nth-child(6) {
    overflow-wrap: anywhere;
}


/* Required-date state */

.posys-production-register-v2-due {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}

.posys-production-register-v2-due-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 3px 7px;
    border-radius: 999px;
    font-size: 0.64rem;
    line-height: 1.2;
    font-weight: 800;
    white-space: nowrap;
}

.posys-production-register-v2-due-overdue {
    background: #fde8e8;
    color: #9d3434;
}

.posys-production-register-v2-due-today {
    background: #fff0d8;
    color: #8b5c16;
}

.posys-production-register-v2-due-upcoming {
    background: #e8f5fb;
    color: #276d88;
}

.posys-production-register-v2-due-none {
    background: #f0f3f5;
    color: #697780;
}


/* Give genuinely overdue work subtle queue prominence */

.posys-production-register-v2-row-overdue td:first-child {
    box-shadow:
        inset 3px 0 0 #b73f3f;
}

.posys-production-register-v2-row-today td:first-child {
    box-shadow:
        inset 3px 0 0 #c88822;
}


/* Team */

.posys-production-register-v2-team {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.posys-production-register-v2-team-member {
    display: block;
    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.35;
}

.posys-production-register-v2-team-member small {
    display: inline-flex;
    margin-left: 4px;
    padding: 2px 5px;
    border-radius: 999px;
    background: #edf3f6;
    color: #52636d;
    font-size: 0.58rem;
    font-weight: 800;
    text-transform: uppercase;
}

.posys-production-register-v2-unassigned {
    display: inline-flex;
    padding: 4px 7px;
    border-radius: 999px;
    background: #f4f0f0;
    color: #815454;
    font-size: 0.68rem;
    font-weight: 800;
}

.posys-production-register-v2-status {
    display: block;
    font-size: 0.78rem;
}

.posys-production-register-v2-subtext {
    display: block;
    margin-top: 3px;
    color: #7a8790;
    font-size: 0.68rem;
    line-height: 1.35;
}


/* Keep Open compact */

.posys-production-register-v2-table
td:last-child
.posys-button {
    display: inline-flex;
    width: auto !important;
    min-width: 66px !important;
    max-width: 100%;
    height: 38px;
    margin: 0;
    padding: 0 12px !important;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}


/* No desktop horizontal scroll */

.posys-production-register-v2-table-wrap {
    max-width: 100%;
    overflow-x: visible;
}


@media (max-width: 1100px) {

    .posys-production-register-v2-filter {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .posys-production-register-v2-actions {
        grid-column: 1 / -1;
    }

    .posys-production-register-v2-table th,
    .posys-production-register-v2-table td {
        padding-left: 8px;
        padding-right: 8px;
    }
}


@media (max-width: 700px) {

    .posys-production-register-v2-filter {
        grid-template-columns: 1fr;
    }

    .posys-production-register-v2-actions {
        grid-column: auto;
        display: grid;
        grid-template-columns: 1fr;
    }

    .posys-production-register-v2-actions
    .posys-button {
        width: 100%;
    }

    .posys-production-register-v2-table {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: auto !important;
    }

    .posys-production-register-v2-table
    th,
    .posys-production-register-v2-table
    td {
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .posys-production-register-v2-table
    td:last-child
    .posys-button {
        width: 100% !important;
        max-width: none !important;
        height: 44px;
    }

    .posys-production-register-v2-row-overdue
    td:first-child,
    .posys-production-register-v2-row-today
    td:first-child {
        box-shadow: none;
    }

    .posys-production-register-v2-row-overdue {
        border-left: 3px solid #b73f3f;
    }

    .posys-production-register-v2-row-today {
        border-left: 3px solid #c88822;
    }
}



/* =========================================================
   POSYS DESIGN WORKFLOW V3 UI
   ========================================================= */

.posys-item-v3-design-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
    margin-bottom: 18px;
}

.posys-item-v3-design-grid > .posys-card {
    height: 100%;
}

.posys-item-v3-working-file,
.posys-item-v3-production-row,
.posys-item-v3-access-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 0;
    border-top: 1px solid rgba(100, 116, 128, 0.16);
}

.posys-item-v3-working-file strong,
.posys-item-v3-production-row strong,
.posys-item-v3-access-row strong {
    display: block;
}

.posys-item-v3-working-file span,
.posys-item-v3-production-row span,
.posys-item-v3-access-row span,
.posys-item-v3-working-file small,
.posys-item-v3-production-row small,
.posys-item-v3-access-row small {
    display: block;
    margin-top: 4px;
    color: #71808a;
    font-size: 0.76rem;
}

.posys-item-v3-path {
    margin-top: 14px;
    padding: 12px;
    border-radius: 10px;
    background: rgba(113, 128, 138, 0.08);
}

.posys-item-v3-path > span {
    display: block;
    margin-bottom: 6px;
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.posys-item-v3-path code {
    display: block;
    margin-bottom: 10px;
    overflow-wrap: anywhere;
    white-space: normal;
}

.posys-item-v3-action-group {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
}

.posys-item-v3-restricted {
    max-width: 260px;
}

.posys-item-v3-restricted strong {
    color: #8a5050;
}

.posys-item-v3-restricted p {
    margin: 5px 0 9px;
    font-size: 0.75rem;
}

.posys-item-v3-empty-action {
    margin-top: 12px;
}

.posys-item-v3-production-list,
.posys-item-v3-access-list {
    display: flex;
    flex-direction: column;
}

.posys-item-v3-production-state {
    margin-left: auto;
}

@media (max-width: 900px) {

    .posys-item-v3-design-grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 700px) {

    .posys-item-v3-working-file,
    .posys-item-v3-production-row,
    .posys-item-v3-access-row {
        flex-direction: column;
        align-items: stretch;
    }

    .posys-item-v3-action-group {
        display: grid;
        grid-template-columns: 1fr;
    }

    .posys-item-v3-action-group
    .posys-button {
        width: 100%;
    }

    .posys-item-v3-production-state {
        margin-left: 0;
    }

}



/* =========================================================
   POSYS SPECIFICATION CHANGE CONTROL
   ========================================================= */

.posys-item-v3-spec-warning {
    margin: 16px 0;
    padding: 14px;
    border: 1px solid rgba(150, 110, 40, 0.3);
    border-radius: 10px;
}

.posys-item-v3-spec-warning p {
    margin: 5px 0 0;
}

.posys-item-v3-spec-comparison {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 18px 0;
}

.posys-item-v3-spec-comparison > div {
    min-width: 0;
    padding: 14px;
    border: 1px solid rgba(100, 116, 128, 0.18);
    border-radius: 10px;
}

.posys-item-v3-spec-comparison pre {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    font-size: 0.78rem;
}

.posys-item-v3-spec-request-info {
    margin: 18px 0;
}

@media (max-width: 760px) {

    .posys-item-v3-spec-comparison {
        grid-template-columns: 1fr;
    }

}



/* ============================================================
   POSYS PRODUCTION DASHBOARD V2
   Operational item-level production control.
   Uses existing dashboard visual language.
   ============================================================ */

.posys-production-dashboard-v2 {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.posys-production-dashboard-v2-card {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: 5px;
    padding: 18px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 16px;
    background: var(--card-bg);
    color: inherit;
    text-decoration: none;
    box-shadow:
        0 5px 18px rgba(15, 23, 42, 0.045);
    transition:
        transform 160ms ease,
        box-shadow 160ms ease,
        border-color 160ms ease;
}

.posys-production-dashboard-v2-card:visited {
    color: inherit;
}

.posys-production-dashboard-v2-card:hover {
    transform: translateY(-2px);
    border-color: rgba(0, 174, 239, 0.35);
    box-shadow:
        0 9px 24px rgba(15, 23, 42, 0.08);
}

.posys-production-dashboard-v2-card:focus-visible {
    outline: 3px solid rgba(0, 174, 239, 0.24);
    outline-offset: 2px;
}

.posys-production-dashboard-v2-label {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #5b6574;
}

.posys-production-dashboard-v2-card strong {
    font-size: clamp(1.7rem, 2.6vw, 2.3rem);
    line-height: 1;
    color: #111827;
}

.posys-production-dashboard-v2-card small {
    font-size: 0.79rem;
    line-height: 1.35;
    color: #6b7280;
}

.posys-production-dashboard-v2-alert {
    border-left: 4px solid #ed1c24;
}

.posys-production-dashboard-v2-complete {
    border-left: 4px solid #ffde17;
}


/* Tablet */
@media (max-width: 1100px) {
    .posys-production-dashboard-v2 {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


/* Mobile */
@media (max-width: 560px) {
    .posys-production-dashboard-v2 {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .posys-production-dashboard-v2-card {
        padding: 14px;
        border-radius: 14px;
    }

    .posys-production-dashboard-v2-card strong {
        font-size: 1.7rem;
    }

    .posys-production-dashboard-v2-card small {
        font-size: 0.74rem;
    }
}


/* Very narrow phones */
@media (max-width: 390px) {
    .posys-production-dashboard-v2 {
        grid-template-columns: 1fr;
    }
}


/* ============================================================
   POSYS AUDIT & REPORTING V1
   ============================================================ */

.posys-audit-v1-page {
    display: grid;
    gap: 20px;
}

.posys-audit-v1-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.posys-audit-v1-header h1 {
    margin:
        5px
        0
        7px;
}

.posys-audit-v1-header p {
    max-width: 760px;
    margin: 0;
    color: #64748b;
}

.posys-audit-v1-kicker {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    color: #00aeef;
}

.posys-audit-v1-summary {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.posys-audit-v1-summary > div {
    display: grid;
    gap: 4px;
    padding: 16px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 14px;
    background: var(--card-bg);
}

.posys-audit-v1-summary span {
    font-size: 0.75rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 700;
}

.posys-audit-v1-summary strong {
    font-size: 1.1rem;
}

.posys-audit-v1-filters {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 14px;
    padding: 18px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 16px;
    background: var(--card-bg);
}

.posys-audit-v1-filter-actions {
    display: flex;
    align-items: end;
    gap: 10px;
}

.posys-audit-v1-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 16px;
    background: var(--card-bg);
}

.posys-audit-v1-table {
    width: 100%;
    min-width: 1100px;
    border-collapse: collapse;
}

.posys-audit-v1-table th,
.posys-audit-v1-table td {
    padding: 12px 14px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid rgba(15, 23, 42, 0.075);
}

.posys-audit-v1-table th {
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
    background: rgba(248, 250, 252, 0.9);
}

.posys-audit-v1-table tbody tr:last-child td {
    border-bottom: 0;
}

.posys-audit-v1-nowrap {
    white-space: nowrap;
}

.posys-audit-v1-reference {
    display: block;
    font-weight: 700;
    text-decoration: none;
}

.posys-audit-v1-table td small {
    display: block;
    margin-top: 3px;
    color: #64748b;
}

.posys-audit-v1-module {
    display: inline-flex;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 800;
    background: rgba(0, 174, 239, 0.09);
}

.posys-audit-v1-module[data-group="completion"] {
    background: rgba(255, 222, 23, 0.22);
}

.posys-audit-v1-module[data-group="qc"] {
    background: rgba(236, 0, 140, 0.09);
}

.posys-audit-v1-module[data-group="production"] {
    background: rgba(0, 174, 239, 0.09);
}

.posys-audit-v1-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
}

.posys-audit-v1-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    color: #64748b;
    font-size: 0.82rem;
}


/* Tablet */
@media (max-width: 980px) {

    .posys-audit-v1-filters {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* Mobile */
@media (max-width: 700px) {

    .posys-audit-v1-header {
        display: grid;
    }

    .posys-audit-v1-summary {
        grid-template-columns: 1fr;
    }

    .posys-audit-v1-filters {
        grid-template-columns: 1fr;
    }

    .posys-audit-v1-filter-actions {
        align-items: stretch;
    }

    .posys-audit-v1-table-wrap {
        overflow: visible;
        border: 0;
        background: transparent;
    }

    .posys-audit-v1-table {
        display: block;
        min-width: 0;
    }

    .posys-audit-v1-table thead {
        display: none;
    }

    .posys-audit-v1-table tbody {
        display: grid;
        gap: 12px;
    }

    .posys-audit-v1-table tr {
        display: grid;
        gap: 8px;
        padding: 14px;
        border: 1px solid rgba(15, 23, 42, 0.1);
        border-radius: 14px;
        background: var(--card-bg);
    }

    .posys-audit-v1-table td {
        display: grid;
        grid-template-columns:
            minmax(95px, 0.38fr)
            minmax(0, 1fr);
        gap: 10px;
        padding: 0;
        border: 0;
    }

    .posys-audit-v1-table td::before {
        content: attr(data-label);
        font-size: 0.7rem;
        font-weight: 800;
        color: #64748b;
        text-transform: uppercase;
        letter-spacing: 0.05em;
    }

}


/* ============================================================
   POSYS UI ALIGNMENT V1
   Dashboard Production Control + Sidebar polish
   ============================================================ */


/* ------------------------------------------------------------
   Dashboard Production Control
   ------------------------------------------------------------ */

.posys-production-dashboard-v2 {
    width: 100%;
    display: grid !important;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: 14px;
    margin-bottom: 30px;
}

.posys-production-dashboard-v2-card {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    min-height: 112px;
    padding: 18px 20px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 16px;
    background: #ffffff;
    color: #172033;
    text-decoration: none !important;
    box-shadow:
        0 5px 18px rgba(15, 23, 42, 0.045);
}

.posys-production-dashboard-v2-card:hover {
    border-color: rgba(0, 174, 239, 0.34);
    box-shadow:
        0 8px 24px rgba(15, 23, 42, 0.075);
}

.posys-production-dashboard-v2-label {
    display: block;
    margin-bottom: 8px;
    color: #667085;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.posys-production-dashboard-v2-card strong {
    display: block;
    margin-bottom: 5px;
    color: #172033;
    font-size: 1.8rem;
    line-height: 1;
}

.posys-production-dashboard-v2-card small {
    display: block;
    color: #667085;
    font-size: 0.82rem;
    line-height: 1.35;
}

.posys-production-dashboard-v2-alert {
    border-left: 4px solid #ed1c24;
}

.posys-production-dashboard-v2-complete {
    border-left: 4px solid #ffde17;
}


/* ------------------------------------------------------------
   Sidebar spacing + disabled navigation item
   ------------------------------------------------------------ */

.posys-nav {
    display: grid;
    gap: 2px;
}

.posys-nav > a,
.posys-nav-disabled {
    min-height: 42px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding:
        9px
        18px;
    border-radius: 8px;
}

.posys-nav > a {
    text-decoration: none;
}

.posys-nav > a:hover {
    background: rgba(255, 255, 255, 0.075);
}

.posys-nav-disabled {
    color: rgba(255, 255, 255, 0.42);
    cursor: default;
}

.posys-nav-disabled small {
    margin-left: auto;
    padding: 2px 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.posys-nav-section {
    margin-top: 24px;
    margin-bottom: 7px;
}


/* ------------------------------------------------------------
   Dashboard section spacing consistency
   ------------------------------------------------------------ */

.posys-dashboard-section-heading {
    margin-top: 28px;
    margin-bottom: 14px;
}

.posys-dashboard-section-heading h2 {
    margin-bottom: 0;
}


/* ------------------------------------------------------------
   Tablet
   ------------------------------------------------------------ */

@media (max-width: 1100px) {

    .posys-production-dashboard-v2 {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* ------------------------------------------------------------
   Mobile
   ------------------------------------------------------------ */

@media (max-width: 640px) {

    .posys-production-dashboard-v2 {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-bottom: 22px;
    }

    .posys-production-dashboard-v2-card {
        min-height: 104px;
        padding: 14px;
        border-radius: 14px;
    }

    .posys-production-dashboard-v2-card strong {
        font-size: 1.55rem;
    }

    .posys-production-dashboard-v2-card small {
        font-size: 0.75rem;
    }

}


/* ------------------------------------------------------------
   Narrow mobile
   ------------------------------------------------------------ */

@media (max-width: 390px) {

    .posys-production-dashboard-v2 {
        grid-template-columns: 1fr;
    }

}


/* ============================================================
   POSYS CURRENT JOBS UI ALIGNMENT V2
   Desktop table refinement + mobile consistency
   ============================================================ */


/* ------------------------------------------------------------
   Section spacing
   ------------------------------------------------------------ */

.posys-current-jobs-filters-card,
.posys-current-jobs-results-card {
    margin-bottom: 18px;
}

.posys-current-jobs-filters-card > h2,
.posys-current-jobs-results-header h2 {
    margin-top: 0;
    margin-bottom: 16px;
}

.posys-current-jobs-results-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}


/* ------------------------------------------------------------
   Search / filter layout
   ------------------------------------------------------------ */

.posys-current-jobs-filter-form .posys-filter-row {
    display: grid;
    grid-template-columns:
        minmax(260px, 1.65fr)
        minmax(160px, 0.9fr)
        minmax(140px, 0.75fr)
        minmax(160px, 0.9fr)
        auto;
    gap: 14px;
    align-items: end;
}

.posys-current-jobs-filter-form .form-row {
    min-width: 0;
    margin: 0;
}

.posys-current-jobs-filter-form .form-row label {
    display: block;
    min-height: 20px;
    margin-bottom: 6px;
    font-size: 0.78rem;
    font-weight: 700;
    color: #526171;
}

.posys-current-jobs-filter-form input,
.posys-current-jobs-filter-form select {
    width: 100%;
    min-height: 42px;
    box-sizing: border-box;
}

.posys-current-jobs-filter-form .posys-filter-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}

.posys-current-jobs-filter-form
.posys-filter-actions .button {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}


/* ------------------------------------------------------------
   Desktop table
   ------------------------------------------------------------ */

.posys-current-jobs-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    border: 1px solid #dde4ea;
    border-radius: 13px;
    background: #ffffff;
}

.posys-current-jobs-table {
    width: 100%;
    min-width: 980px;
    table-layout: fixed;
    border-collapse: collapse;
    background: #ffffff;
}

.posys-current-jobs-table th {
    padding: 12px 12px;
    background: #f5f7f9;
    color: #536273;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: 0.045em;
    text-transform: uppercase;
    vertical-align: middle;
}

.posys-current-jobs-table td {
    padding: 15px 12px;
    line-height: 1.45;
    vertical-align: top;
    overflow-wrap: anywhere;
}

.posys-current-jobs-table tbody tr {
    transition: background 0.14s ease;
}

.posys-current-jobs-table tbody tr:hover {
    background: #fafcfd;
}


/* Job */
.posys-current-jobs-table th:nth-child(1),
.posys-current-jobs-table td:nth-child(1) {
    width: 24%;
}

/* Items */
.posys-current-jobs-table th:nth-child(2),
.posys-current-jobs-table td:nth-child(2) {
    width: 25%;
}

/* Status */
.posys-current-jobs-table th:nth-child(3),
.posys-current-jobs-table td:nth-child(3) {
    width: 13%;
}

/* Priority */
.posys-current-jobs-table th:nth-child(4),
.posys-current-jobs-table td:nth-child(4) {
    width: 9%;
}

/* Required date */
.posys-current-jobs-table th:nth-child(5),
.posys-current-jobs-table td:nth-child(5) {
    width: 12%;
}

/* Repeat source */
.posys-current-jobs-table th:nth-child(6),
.posys-current-jobs-table td:nth-child(6) {
    width: 10%;
}

/* Action */
.posys-current-jobs-table th:nth-child(7),
.posys-current-jobs-table td:nth-child(7) {
    width: 7%;
    text-align: center;
}


/* Operational fields vertically centered */

.posys-current-jobs-table td:nth-child(3),
.posys-current-jobs-table td:nth-child(4),
.posys-current-jobs-table td:nth-child(5),
.posys-current-jobs-table td:nth-child(6),
.posys-current-jobs-table td:nth-child(7) {
    vertical-align: middle;
}


/* Job number */

.posys-current-jobs-table td:first-child > strong {
    display: inline-block;
    margin-bottom: 4px;
    color: #122235;
    font-size: 0.9rem;
    line-height: 1.3;
}


/* Items */

.posys-current-jobs-table td:nth-child(2) {
    color: #445364;
    font-size: 0.88rem;
}


/* Status badges */

.posys-current-jobs-table
.posys-stage-badge,
.posys-current-jobs-table
.posys-status-badge {
    display: inline-flex;
    max-width: 100%;
    white-space: normal;
}


/* Required date */

.posys-current-jobs-table td:nth-child(5) strong {
    color: #b42318;
    font-size: 0.78rem;
}


/* Open button */

.posys-current-jobs-table td:last-child .button {
    width: auto;
    min-width: 64px;
    min-height: 38px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}


/* ------------------------------------------------------------
   Pagination
   ------------------------------------------------------------ */

.posys-current-jobs-results-card > p:last-child {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin:
        18px
        0
        0;
}


/* ------------------------------------------------------------
   Tablet
   ------------------------------------------------------------ */

@media (max-width: 1050px) {

    .posys-current-jobs-filter-form
    .posys-filter-row {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    .posys-current-jobs-filter-form
    .posys-filter-actions {
        grid-column: 1 / -1;
    }

    .posys-current-jobs-table {
        min-width: 900px;
    }

}


/* ------------------------------------------------------------
   Mobile cards
   ------------------------------------------------------------ */

@media (max-width: 700px) {

    .posys-current-jobs-filter-form
    .posys-filter-row {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .posys-current-jobs-filter-form
    .posys-filter-actions {
        grid-column: auto;
        display: grid !important;
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
        gap: 8px !important;
        width: 100%;
    }

    .posys-current-jobs-filter-form
    .posys-filter-actions .button {
        width: 100% !important;
        min-height: 44px;
    }


    .posys-current-jobs-table-wrap {
        overflow: visible !important;
        border: 0;
        border-radius: 0;
        background: transparent;
    }


    .posys-current-jobs-table {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: auto !important;
    }


    .posys-current-jobs-table
    tbody
    tr {
        margin-bottom: 12px !important;
        padding: 4px 14px !important;
        border-radius: 13px !important;
    }


    .posys-current-jobs-table
    tbody
    td {
        grid-template-columns:
            minmax(92px, 0.34fr)
            minmax(0, 1fr) !important;
        gap: 10px !important;
        padding:
            10px
            0 !important;
        vertical-align: top !important;
    }


    .posys-current-jobs-table
    tbody
    td::before {
        padding-top: 2px;
    }


    .posys-current-jobs-table
    td:last-child {
        text-align: left;
    }


    .posys-current-jobs-table
    td:last-child
    .button {
        width: 100% !important;
        min-height: 44px;
    }

}


/* ------------------------------------------------------------
   Narrow phone
   ------------------------------------------------------------ */

@media (max-width: 430px) {

    .posys-current-jobs-filter-form
    .posys-filter-actions {
        grid-template-columns: 1fr;
    }

    .posys-current-jobs-table
    tbody
    td {
        grid-template-columns:
            82px
            minmax(0, 1fr) !important;
        gap: 8px !important;
    }

}


/* ============================================================
   POSYS DASHBOARD JOB QUICK VIEW V1
   Repeat action alert + item-stage summary
   ============================================================ */


/* ------------------------------------------------------------
   Repeat Revalidation Alert
   ------------------------------------------------------------ */

.posys-repeat-alert-v1 {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        auto
        auto;
    gap: 22px;
    align-items: center;
    padding: 20px 22px;
    margin-top: 22px;
    border: 1px solid rgba(237, 28, 36, 0.18);
    border-left: 5px solid #ed1c24;
    border-radius: 16px;
    background: #ffffff;
    box-shadow:
        0 6px 20px rgba(15, 23, 42, 0.045);
}

.posys-repeat-alert-v1-main {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.posys-repeat-alert-v1-icon {
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: rgba(237, 28, 36, 0.09);
    color: #d81920;
    font-size: 1.15rem;
    font-weight: 900;
}

.posys-repeat-alert-v1 h2 {
    margin:
        2px
        0
        4px;
    font-size: 1.15rem;
}

.posys-repeat-alert-v1 p {
    margin: 0;
    color: #667085;
    line-height: 1.45;
}

.posys-repeat-alert-v1-counts {
    display: flex;
    align-items: stretch;
    gap: 8px;
}

.posys-repeat-alert-v1-counts span {
    min-width: 76px;
    display: grid;
    gap: 2px;
    padding: 8px 10px;
    text-align: center;
    border-radius: 11px;
    background: #f5f7f9;
    color: #617083;
    font-size: 0.7rem;
    font-weight: 700;
}

.posys-repeat-alert-v1-counts strong {
    color: #172033;
    font-size: 1.15rem;
}

.posys-repeat-alert-v1-action {
    white-space: nowrap;
}


/* ------------------------------------------------------------
   Job Quick View
   ------------------------------------------------------------ */

.posys-dashboard-job-quick-v1 {
    margin-top: 24px;
    padding-top: 22px;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.posys-dashboard-job-quick-v1-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 16px;
    margin-bottom: 14px;
}

.posys-dashboard-job-quick-v1-heading h3 {
    margin:
        3px
        0
        0;
    font-size: 1.15rem;
}

.posys-dashboard-job-quick-v1-heading > span {
    color: #667085;
    font-size: 0.8rem;
}

.posys-dashboard-job-quick-v1-list {
    display: grid;
    gap: 11px;
}

.posys-dashboard-job-quick-v1-card {
    display: grid;
    grid-template-columns:
        minmax(190px, 0.9fr)
        minmax(430px, 2fr)
        minmax(160px, 0.75fr)
        auto;
    gap: 18px;
    align-items: center;
    padding: 15px 16px;
    border: 1px solid #e0e6ec;
    border-radius: 13px;
    background: #ffffff;
}

.posys-dashboard-job-quick-v1-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.posys-dashboard-job-quick-v1-top > div:first-child {
    display: grid;
    gap: 3px;
}

.posys-dashboard-job-quick-v1-ref {
    color: #122235;
    font-weight: 800;
    text-decoration: none;
}

.posys-dashboard-job-quick-v1-ref:hover {
    text-decoration: underline;
}

.posys-dashboard-job-quick-v1-top span,
.posys-dashboard-job-quick-v1-due span {
    color: #7a8795;
    font-size: 0.72rem;
}

.posys-dashboard-job-quick-v1-due {
    display: none;
}


/* ------------------------------------------------------------
   Five-stage summary
   ------------------------------------------------------------ */

.posys-dashboard-job-stage-v1 {
    display: grid;
    grid-template-columns:
        repeat(5, minmax(68px, 1fr));
    gap: 6px;
}

.posys-dashboard-job-stage-v1 > span {
    display: grid;
    place-items: center;
    min-height: 54px;
    padding: 7px 5px;
    border-radius: 10px;
    background: #f3f5f7;
    color: #617083;
    text-align: center;
    font-size: 0.66rem;
    font-weight: 700;
}

.posys-dashboard-job-stage-v1 strong {
    display: block;
    margin-bottom: 2px;
    color: #122235;
    font-size: 1rem;
}

.posys-dashboard-job-stage-v1
[data-stage="design"] {
    background: rgba(236, 0, 140, 0.07);
}

.posys-dashboard-job-stage-v1
[data-stage="production"] {
    background: rgba(0, 174, 239, 0.09);
}

.posys-dashboard-job-stage-v1
[data-stage="qc"] {
    background: rgba(255, 222, 23, 0.16);
}

.posys-dashboard-job-stage-v1
[data-stage="completed"] {
    background: rgba(18, 35, 53, 0.065);
}


/* ------------------------------------------------------------
   Completion indicator
   ------------------------------------------------------------ */

.posys-dashboard-job-progress-v1 {
    display: grid;
    gap: 5px;
}

.posys-dashboard-job-progress-v1-track {
    height: 7px;
    overflow: hidden;
    border-radius: 999px;
    background: #e9edf1;
}

.posys-dashboard-job-progress-v1-track span {
    display: block;
    height: 100%;
    min-width: 0;
    border-radius: inherit;
    background: #00aeef;
}

.posys-dashboard-job-progress-v1 small {
    color: #758292;
    font-size: 0.68rem;
}

.posys-dashboard-job-quick-v1-open {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 38px;
    padding: 0 12px;
    border-radius: 9px;
    background: #122235;
    color: #ffffff;
    font-size: 0.76rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}


/* ------------------------------------------------------------
   Medium desktop / tablet
   ------------------------------------------------------------ */

@media (max-width: 1150px) {

    .posys-dashboard-job-quick-v1-card {
        grid-template-columns:
            minmax(170px, 0.85fr)
            minmax(360px, 2fr)
            minmax(130px, 0.7fr);
    }

    .posys-dashboard-job-quick-v1-open {
        grid-column: 1 / -1;
        justify-self: end;
    }

}


@media (max-width: 900px) {

    .posys-repeat-alert-v1 {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .posys-repeat-alert-v1-counts {
        flex-wrap: wrap;
    }

    .posys-repeat-alert-v1-action {
        justify-self: start;
    }


    .posys-dashboard-job-quick-v1-card {
        grid-template-columns: 1fr;
        gap: 13px;
    }

    .posys-dashboard-job-quick-v1-top {
        align-items: start;
    }

    .posys-dashboard-job-quick-v1-due {
        display: grid;
        gap: 2px;
        text-align: right;
    }

    .posys-dashboard-job-stage-v1 {
        grid-template-columns:
            repeat(5, minmax(0, 1fr));
    }

    .posys-dashboard-job-quick-v1-open {
        grid-column: auto;
        justify-self: stretch;
    }

}


/* ------------------------------------------------------------
   Mobile
   ------------------------------------------------------------ */

@media (max-width: 600px) {

    .posys-repeat-alert-v1 {
        padding: 16px;
        border-radius: 14px;
    }

    .posys-repeat-alert-v1-main {
        align-items: flex-start;
    }

    .posys-repeat-alert-v1-counts {
        display: grid;
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

    .posys-repeat-alert-v1-counts span {
        min-width: 0;
    }

    .posys-repeat-alert-v1-action {
        width: 100%;
        justify-content: center;
    }


    .posys-dashboard-job-quick-v1-heading {
        display: grid;
        align-items: start;
    }

    .posys-dashboard-job-quick-v1-card {
        padding: 14px;
    }

    .posys-dashboard-job-stage-v1 {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

    .posys-dashboard-job-stage-v1
    > span:nth-child(4),
    .posys-dashboard-job-stage-v1
    > span:nth-child(5) {
        grid-column: span 1;
    }

}


@media (max-width: 400px) {

    .posys-dashboard-job-stage-v1 {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .posys-dashboard-job-stage-v1
    > span:last-child {
        grid-column: 1 / -1;
    }

}


.posys-dashboard-job-progress-v1-track {
    display: block;
}

.posys-dashboard-job-progress-v1-track progress {
    display: block;
    width: 100%;
    height: 7px;
    border: 0;
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
}

.posys-dashboard-job-progress-v1-track
progress::-webkit-progress-bar {
    background: #e9edf1;
    border-radius: 999px;
}

.posys-dashboard-job-progress-v1-track
progress::-webkit-progress-value {
    background: #00aeef;
    border-radius: 999px;
}

.posys-dashboard-job-progress-v1-track
progress::-moz-progress-bar {
    background: #00aeef;
    border-radius: 999px;
}


/* ============================================================
   POSYS DESIGN ITEM QUEUE V1
   Dedicated design item register
   ============================================================ */

.posys-design-register-v1 {
    width: 100%;
    min-width: 0;
}


/* Filters */

.posys-design-register-v1-filter {
    display: grid;
    grid-template-columns:
        minmax(240px, 1.5fr)
        minmax(180px, 1fr)
        minmax(180px, 1fr)
        minmax(160px, 0.85fr)
        auto;
    gap: 14px;
    align-items: end;
}

.posys-design-register-v1-filter
.posys-form-field {
    min-width: 0;
}

.posys-design-register-v1-filter
input,
.posys-design-register-v1-filter
select {
    width: 100%;
    min-height: 42px;
    box-sizing: border-box;
}

.posys-design-register-v1-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.posys-design-register-v1-actions
.posys-button {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}


/* Table */

.posys-design-register-v1-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    border: 1px solid #e0e6ec;
    border-radius: 13px;
    background: #ffffff;
}

.posys-design-register-v1-table {
    width: 100%;
    min-width: 1040px;
    table-layout: fixed;
    border-collapse: collapse;
}

.posys-design-register-v1-table th {
    padding: 12px;
    background: #f5f7f9;
    color: #536273;
    font-size: 0.71rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.posys-design-register-v1-table td {
    padding: 14px 12px;
    vertical-align: middle;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.posys-design-register-v1-table
tbody tr:hover {
    background: #fafcfd;
}


/* Column proportions */

.posys-design-register-v1-table
th:nth-child(1),
.posys-design-register-v1-table
td:nth-child(1) {
    width: 20%;
}

.posys-design-register-v1-table
th:nth-child(2),
.posys-design-register-v1-table
td:nth-child(2) {
    width: 22%;
}

.posys-design-register-v1-table
th:nth-child(3),
.posys-design-register-v1-table
td:nth-child(3) {
    width: 18%;
}

.posys-design-register-v1-table
th:nth-child(4),
.posys-design-register-v1-table
td:nth-child(4) {
    width: 13%;
}

.posys-design-register-v1-table
th:nth-child(5),
.posys-design-register-v1-table
td:nth-child(5) {
    width: 13%;
}

.posys-design-register-v1-table
th:nth-child(6),
.posys-design-register-v1-table
td:nth-child(6) {
    width: 7%;
    text-align: center;
}

.posys-design-register-v1-table
th:nth-child(7),
.posys-design-register-v1-table
td:nth-child(7) {
    width: 7%;
    text-align: center;
}


/* Product */

.posys-design-register-v1-subtext {
    display: block;
    margin-top: 4px;
    color: #7b8794;
    font-size: 0.7rem;
}


/* Design status */

.posys-design-register-v1-status {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 6px 9px;
    border-radius: 999px;
    background: rgba(236, 0, 140, 0.08);
    color: #a40063;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.25;
}

.posys-design-register-v1-status-client_artwork_changes_required {
    background: rgba(237, 28, 36, 0.09);
    color: #bd1e24;
}

.posys-design-register-v1-status-artwork_approved_by_client {
    background: rgba(0, 174, 239, 0.09);
    color: #00789f;
}


/* Designer */

.posys-design-register-v1-designer {
    font-weight: 700;
    color: #344054;
}

.posys-design-register-v1-unassigned {
    display: inline-flex;
    padding: 5px 8px;
    border-radius: 8px;
    background: #f2f4f7;
    color: #667085;
    font-size: 0.72rem;
    font-weight: 700;
}


/* Due date */

.posys-design-register-v1-due {
    display: grid;
    gap: 5px;
}

.posys-design-register-v1-due-badge {
    display: inline-flex;
    width: fit-content;
    padding: 3px 7px;
    border-radius: 999px;
    background: #f2f4f7;
    color: #667085;
    font-size: 0.64rem;
    font-weight: 800;
}

.posys-design-register-v1-due-overdue {
    background: rgba(237, 28, 36, 0.09);
    color: #bd1e24;
}

.posys-design-register-v1-due-today {
    background: rgba(255, 222, 23, 0.2);
    color: #7a6500;
}

.posys-design-register-v1-due-upcoming {
    background: rgba(0, 174, 239, 0.08);
    color: #00789f;
}


/* Revision */

.posys-design-register-v1-revision {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    padding: 5px 7px;
    border-radius: 8px;
    background: rgba(236, 0, 140, 0.08);
    color: #a40063;
}


/* Action */

.posys-design-register-v1-table
td:last-child .posys-button {
    min-width: 76px;
    width: auto;
    padding-left: 12px;
    padding-right: 12px;
    white-space: nowrap;
}


/* Tablet */

@media (max-width: 1050px) {

    .posys-design-register-v1-filter {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .posys-design-register-v1-actions {
        grid-column: 1 / -1;
    }

    .posys-design-register-v1-table {
        min-width: 920px;
    }

}


/* Mobile card conversion */

@media (max-width: 700px) {

    .posys-design-register-v1-filter {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .posys-design-register-v1-actions {
        grid-column: auto;
        display: grid;
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .posys-design-register-v1-actions
    .posys-button {
        width: 100%;
        min-height: 44px;
    }

    .posys-design-register-v1-table-wrap {
        overflow: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    .posys-design-register-v1-table {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .posys-design-register-v1-table
    thead {
        display: none;
    }

    .posys-design-register-v1-table
    tbody {
        display: grid;
        gap: 12px;
    }

    .posys-design-register-v1-table
    tbody tr {
        display: grid;
        width: 100%;
        padding: 5px 14px;
        border: 1px solid #e0e6ec;
        border-radius: 13px;
        background: #ffffff;
        box-sizing: border-box;
    }

    .posys-design-register-v1-table
    tbody td {
        width: auto !important;
        min-width: 0 !important;
        display: grid;
        grid-template-columns:
            minmax(96px, 0.34fr)
            minmax(0, 1fr);
        gap: 10px;
        padding: 10px 0;
        border: 0;
        border-bottom: 1px solid #edf1f4;
        text-align: left !important;
    }

    .posys-design-register-v1-table
    tbody td:last-child {
        border-bottom: 0;
    }

    .posys-design-register-v1-table
    tbody td::before {
        content: attr(data-mobile-label);
        display: block;
        padding-top: 2px;
        color: #657483;
        font-size: 0.65rem;
        font-weight: 800;
        letter-spacing: 0.035em;
        text-transform: uppercase;
    }

    .posys-design-register-v1-table
    td:last-child .posys-button {
        width: 100%;
        min-height: 44px;
    }

}


@media (max-width: 430px) {

    .posys-design-register-v1-actions {
        grid-template-columns: 1fr;
    }

    .posys-design-register-v1-table
    tbody td {
        grid-template-columns:
            84px
            minmax(0, 1fr);
        gap: 8px;
    }

}


/* ============================================================
   POSYS DASHBOARD AWAITING ACTION V1
   New Jobs / New Items priority visibility
   ============================================================ */

.posys-dashboard-kpis-awaiting-v1 {
    grid-template-columns:
        repeat(5, minmax(0, 1fr));
}

.posys-dashboard-kpi-awaiting {
    position: relative;
}

.posys-dashboard-kpi-awaiting::after {
    content: "ACTION";
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 3px 6px;
    border-radius: 999px;
    background: rgba(237, 28, 36, 0.08);
    color: #bd1e24;
    font-size: 0.56rem;
    font-weight: 900;
    letter-spacing: 0.07em;
}

.posys-dashboard-kpi-letter {
    font-size: 1rem;
    font-weight: 900;
    line-height: 1;
}


/* Job Created in Design Queue */

.posys-design-register-v1-status-job_created {
    background: rgba(255, 222, 23, 0.23);
    color: #766000;
    border: 1px solid rgba(181, 148, 0, 0.18);
}


/* Responsive KPI layout */

@media (max-width: 1250px) {

    .posys-dashboard-kpis-awaiting-v1 {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

}


@media (max-width: 850px) {

    .posys-dashboard-kpis-awaiting-v1 {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 520px) {

    .posys-dashboard-kpis-awaiting-v1 {
        grid-template-columns: 1fr;
    }

}


/* ============================================================
   POSYS DASHBOARD KPI CARDS V2
   Icon-led compact responsive operational summary
   ============================================================ */

.posys-dashboard-kpis-v2 {
    display: grid;
    grid-template-columns:
        repeat(5, minmax(0, 1fr));
    gap: 18px;
}

.posys-dashboard-kpis-v2
.posys-dashboard-kpi-v2 {
    min-width: 0;
    min-height: 178px;
    padding: 20px 20px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0;
    border-radius: 22px;
    position: relative;
    overflow: hidden;
}

.posys-dashboard-kpi-v2::after {
    display: none !important;
}

.posys-dashboard-kpi-v2-top {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.posys-dashboard-kpi-v2-icon {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
}

.posys-dashboard-kpi-v2-icon-red {
    background: rgba(237, 28, 36, 0.10);
    color: #dc202b;
}

.posys-dashboard-kpi-v2-icon-yellow {
    background: rgba(255, 221, 0, 0.20);
    color: #9b7800;
}

.posys-dashboard-kpi-v2-icon-magenta {
    background: rgba(236, 0, 140, 0.10);
    color: #e51d86;
}

.posys-dashboard-kpi-v2-icon-cyan {
    background: rgba(0, 174, 239, 0.12);
    color: #079bd0;
}

.posys-dashboard-kpi-v2-svg {
    width: 25px;
    height: 25px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.posys-dashboard-kpi-v2-label {
    min-width: 0;
    color: #566577;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.055em;
    line-height: 1.25;
    text-transform: uppercase;
}

.posys-dashboard-kpi-v2-count {
    margin-top: 18px;
    color: #d91f2b;
    font-size: clamp(2.15rem, 2.7vw, 2.85rem);
    line-height: 0.95;
    font-weight: 900;
    letter-spacing: -0.045em;
}

.posys-dashboard-kpi-v2-description {
    margin-top: 10px;
    color: #667386;
    font-size: 0.88rem;
    line-height: 1.35;
    font-weight: 500;
}

.posys-dashboard-kpi-v2:hover {
    transform: translateY(-2px);
}

.posys-dashboard-kpi-v2:focus-visible {
    outline: 3px solid rgba(0, 174, 239, 0.22);
    outline-offset: 2px;
}


/* Tablet */

@media (max-width: 1180px) {

    .posys-dashboard-kpis-v2 {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

}


/* Mobile / narrow tablet */

@media (max-width: 760px) {

    .posys-dashboard-kpis-v2 {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .posys-dashboard-kpis-v2
    .posys-dashboard-kpi-v2 {
        min-height: 148px;
        padding: 16px;
        border-radius: 18px;
    }

    .posys-dashboard-kpi-v2-icon {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
        border-radius: 13px;
    }

    .posys-dashboard-kpi-v2-svg {
        width: 22px;
        height: 22px;
    }

    .posys-dashboard-kpi-v2-label {
        font-size: 0.7rem;
    }

    .posys-dashboard-kpi-v2-count {
        margin-top: 14px;
        font-size: 2.1rem;
    }

    .posys-dashboard-kpi-v2-description {
        margin-top: 7px;
        font-size: 0.78rem;
    }

    .posys-dashboard-kpi-v2-completed {
        grid-column: 1 / -1;
    }

}


/* Small mobile */

@media (max-width: 420px) {

    .posys-dashboard-kpis-v2 {
        gap: 10px;
    }

    .posys-dashboard-kpis-v2
    .posys-dashboard-kpi-v2 {
        min-height: 140px;
        padding: 14px;
    }

    .posys-dashboard-kpi-v2-top {
        gap: 9px;
    }

    .posys-dashboard-kpi-v2-icon {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
        border-radius: 12px;
    }

    .posys-dashboard-kpi-v2-svg {
        width: 20px;
        height: 20px;
    }

    .posys-dashboard-kpi-v2-label {
        font-size: 0.65rem;
        letter-spacing: 0.035em;
    }

    .posys-dashboard-kpi-v2-count {
        font-size: 1.9rem;
    }

}


/* ============================================================
   POSYS DASHBOARD VISUAL SYSTEM V3
   Quick Access / Production Control / Overview / Quick View
   ============================================================ */


/* ------------------------------------------------------------
   QUICK ACCESS
   ------------------------------------------------------------ */

.posys-dashboard-quick-icon-v3 {
    display: flex;
    align-items: center;
    justify-content: center;
}

.posys-dashboard-quick-svg-v3 {
    width: 30px;
    height: 30px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.posys-dashboard-quick-card {
    min-height: 250px;
}

.posys-dashboard-quick-body p {
    max-width: 520px;
}

.posys-dashboard-primary-link {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
}


/* ------------------------------------------------------------
   PRODUCTION CONTROL V3
   ------------------------------------------------------------ */

.posys-production-dashboard-v2 {
    gap: 14px;
}

.posys-production-dashboard-v2-card {
    min-height: 132px;
    padding: 18px 20px;
    position: relative;
}

.posys-production-dashboard-v3-top {
    display: flex;
    align-items: center;
    gap: 9px;
}

.posys-production-dashboard-v3-icon {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 32px;
    border-radius: 10px;
    background: rgba(0, 174, 239, 0.10);
    color: #079bd0;
}

.posys-production-dashboard-v3-icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.posys-production-dashboard-v2-card strong {
    margin-top: 12px;
}

.posys-production-dashboard-v2-alert
.posys-production-dashboard-v3-icon {
    background: rgba(237, 28, 36, 0.10);
    color: #d91f2b;
}

.posys-production-dashboard-v2-complete
.posys-production-dashboard-v3-icon {
    background: rgba(255, 221, 0, 0.18);
    color: #927100;
}


/* ------------------------------------------------------------
   CURRENT JOB OVERVIEW
   ------------------------------------------------------------ */

.posys-dashboard-current-jobs
.posys-job-summary-grid {
    gap: 12px;
}

.posys-dashboard-current-jobs
.posys-job-summary-card {
    min-height: 112px;
    padding: 18px 20px;
    position: relative;
    overflow: hidden;
}

.posys-dashboard-current-jobs
.posys-job-summary-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: rgba(0, 174, 239, 0.22);
}

.posys-dashboard-current-jobs
.posys-job-summary-count {
    font-size: 2rem;
    line-height: 1;
}

.posys-dashboard-current-jobs
.posys-job-summary-card > span:last-child {
    margin-top: 9px;
    font-size: 0.86rem;
    line-height: 1.25;
}


/* ------------------------------------------------------------
   JOB QUICK VIEW
   ------------------------------------------------------------ */

.posys-dashboard-job-quick-v1 {
    margin-top: 34px;
}

.posys-dashboard-job-quick-v1-card {
    padding-top: 18px;
    padding-bottom: 18px;
}

.posys-dashboard-job-stage-v1 {
    gap: 8px;
}

.posys-dashboard-job-stage-v1 span {
    min-width: 84px;
    padding: 10px 12px;
    position: relative;
}

.posys-dashboard-job-stage-v1 span::before {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    margin: 0 auto 5px;
    border-radius: 999px;
    background: #b8c1cb;
}

.posys-dashboard-job-stage-v1
span[data-stage="order"]::before {
    background: #9aa4ae;
}

.posys-dashboard-job-stage-v1
span[data-stage="design"]::before {
    background: #ec008c;
}

.posys-dashboard-job-stage-v1
span[data-stage="production"]::before {
    background: #00aeef;
}

.posys-dashboard-job-stage-v1
span[data-stage="qc"]::before {
    background: #ffdd00;
}

.posys-dashboard-job-stage-v1
span[data-stage="completed"]::before {
    background: #5e6873;
}

.posys-dashboard-job-stage-v1 strong {
    line-height: 1;
}


/* ------------------------------------------------------------
   DESKTOP DENSITY
   ------------------------------------------------------------ */

@media (min-width: 1181px) {

    .posys-dashboard-kpis-v2
    .posys-dashboard-kpi-v2 {
        min-height: 160px;
        padding-top: 18px;
        padding-bottom: 16px;
    }

    .posys-dashboard-kpi-v2-icon {
        width: 48px;
        height: 48px;
        flex-basis: 48px;
    }

    .posys-dashboard-kpi-v2-svg {
        width: 26px;
        height: 26px;
    }

    .posys-dashboard-kpi-v2-count {
        margin-top: 14px;
    }

}


/* ------------------------------------------------------------
   TABLET
   ------------------------------------------------------------ */

@media (max-width: 1100px) {

    .posys-dashboard-quick-card {
        min-height: auto;
    }

    .posys-production-dashboard-v2-card {
        min-height: 122px;
    }

}


/* ------------------------------------------------------------
   MOBILE
   ------------------------------------------------------------ */

@media (max-width: 760px) {

    .posys-dashboard-quick-icon-v3 {
        width: 48px;
        height: 48px;
    }

    .posys-dashboard-quick-svg-v3 {
        width: 25px;
        height: 25px;
    }

    .posys-production-dashboard-v2 {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .posys-production-dashboard-v2-card {
        min-height: 118px;
        padding: 15px;
    }

    .posys-production-dashboard-v3-icon {
        width: 29px;
        height: 29px;
        flex-basis: 29px;
    }

    .posys-production-dashboard-v3-icon svg {
        width: 16px;
        height: 16px;
    }

    .posys-dashboard-current-jobs
    .posys-job-summary-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .posys-dashboard-current-jobs
    .posys-job-summary-card {
        min-height: 96px;
        padding: 15px 16px;
    }

    .posys-dashboard-current-jobs
    .posys-job-summary-count {
        font-size: 1.7rem;
    }

    .posys-dashboard-job-stage-v1 {
        grid-template-columns:
            repeat(5, minmax(70px, 1fr));
        overflow-x: auto;
        padding-bottom: 3px;
    }

}


/* ------------------------------------------------------------
   SMALL MOBILE
   ------------------------------------------------------------ */

@media (max-width: 430px) {

    .posys-production-dashboard-v2 {
        gap: 10px;
    }

    .posys-production-dashboard-v2-card {
        min-height: 110px;
        padding: 13px;
    }

    .posys-dashboard-current-jobs
    .posys-job-summary-card {
        min-height: 90px;
    }

}


/* ============================================================
   POSYS DASHBOARD POLISH V4
   Density / alignment / semantic status accents
   Completed = Green
   ============================================================ */


/* ------------------------------------------------------------
   GLOBAL DASHBOARD SECTION RHYTHM
   ------------------------------------------------------------ */

.posys-dashboard-section-heading {
    margin-top: 46px;
    margin-bottom: 22px;
}

.posys-dashboard-overview {
    margin-top: 42px;
}


/* ------------------------------------------------------------
   TOP KPI V4
   ------------------------------------------------------------ */

@media (min-width: 1181px) {

    .posys-dashboard-kpis-v2
    .posys-dashboard-kpi-v2 {
        min-height: 148px;
        padding: 16px 18px 15px;
    }

    .posys-dashboard-kpi-v2-top {
        gap: 11px;
    }

    .posys-dashboard-kpi-v2-icon {
        width: 50px;
        height: 50px;
        flex-basis: 50px;
    }

    .posys-dashboard-kpi-v2-svg {
        width: 27px;
        height: 27px;
    }

    .posys-dashboard-kpi-v2-count {
        margin-top: 12px;
        font-size: 2.45rem;
    }

    .posys-dashboard-kpi-v2-description {
        margin-top: 7px;
    }

}


/* Completed KPI = Green */

.posys-dashboard-kpi-v2-completed
.posys-dashboard-kpi-v2-icon {
    background: rgba(34, 197, 94, 0.12);
    color: #16803a;
}

.posys-dashboard-kpi-v2-completed
.posys-dashboard-kpi-v2-count {
    color: #16803a;
}


/* ------------------------------------------------------------
   PRODUCTION CONTROL V4
   ------------------------------------------------------------ */

.posys-production-dashboard-v2 {
    gap: 14px;
}

.posys-production-dashboard-v2-card {
    min-height: 118px;
    padding: 16px 18px;
}

.posys-production-dashboard-v3-top {
    gap: 9px;
}

.posys-production-dashboard-v2-card strong {
    margin-top: 9px;
    font-size: 2rem;
    line-height: 1;
}

.posys-production-dashboard-v2-card small {
    margin-top: 8px;
}

.posys-production-dashboard-v3-icon {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
}

.posys-production-dashboard-v3-icon svg {
    width: 19px;
    height: 19px;
}


/* Completed production tile = Green */

.posys-production-dashboard-v2-complete {
    border-left-color: #22c55e !important;
}

.posys-production-dashboard-v2-complete
.posys-production-dashboard-v3-icon {
    background: rgba(34, 197, 94, 0.12);
    color: #16803a;
}

.posys-production-dashboard-v2-complete strong {
    color: #16803a;
}


/* ------------------------------------------------------------
   QUICK ACCESS V4
   ------------------------------------------------------------ */

.posys-dashboard-quick-card {
    min-height: 220px;
}

.posys-dashboard-quick-body {
    padding-top: 2px;
}

.posys-dashboard-quick-body p {
    margin-top: 12px;
    margin-bottom: 16px;
}

.posys-dashboard-tags {
    margin-bottom: 16px;
}

.posys-dashboard-primary-link {
    min-height: 46px;
}

.posys-dashboard-quick-icon-admin-v4 {
    background: #17212b;
    color: #ffffff;
}


/* ------------------------------------------------------------
   CURRENT JOB OVERVIEW V4
   ------------------------------------------------------------ */

.posys-dashboard-current-jobs
.posys-job-summary-grid {
    gap: 10px;
}

.posys-dashboard-current-jobs
.posys-job-summary-card {
    min-height: 98px;
    padding: 15px 18px;
}

.posys-dashboard-current-jobs
.posys-job-summary-count {
    font-size: 1.85rem;
}

.posys-dashboard-current-jobs
.posys-job-summary-card > span:last-child {
    margin-top: 7px;
    font-size: 0.84rem;
}


/* Default */

.posys-dashboard-current-jobs
.posys-job-summary-card::before {
    background: #b9c3cd;
}


/* Assignment / active */

.posys-dashboard-current-jobs
.posys-job-summary-card-mine::before {
    background: #0d4d73;
}

.posys-dashboard-current-jobs
.posys-job-summary-card-unassigned::before {
    background: #f59e0b;
}

.posys-dashboard-current-jobs
.posys-job-summary-card-active::before {
    background: #0ea5e9;
}


/* Due state */

.posys-dashboard-current-jobs
.posys-job-summary-card-overdue::before {
    background: #ef233c;
}

.posys-dashboard-current-jobs
.posys-job-summary-card-overdue
.posys-job-summary-count {
    color: #d91f2b;
}

.posys-dashboard-current-jobs
.posys-job-summary-card-due-today::before {
    background: #f5c400;
}

.posys-dashboard-current-jobs
.posys-job-summary-card-due-week::before {
    background: #9ca3af;
}


/* Workflow state */

.posys-dashboard-current-jobs
.posys-job-summary-card-design::before {
    background: #ec008c;
}

.posys-dashboard-current-jobs
.posys-job-summary-card-ready::before {
    background: #38bdf8;
}

.posys-dashboard-current-jobs
.posys-job-summary-card-production::before {
    background: #00aeef;
}

.posys-dashboard-current-jobs
.posys-job-summary-card-qc::before {
    background: #f5c400;
}


/* ------------------------------------------------------------
   JOB QUICK VIEW V4
   ------------------------------------------------------------ */

.posys-dashboard-job-quick-v1 {
    margin-top: 30px;
}

.posys-dashboard-job-quick-v1-card {
    padding: 15px 18px;
}

.posys-dashboard-job-quick-v1-list {
    gap: 12px;
}

.posys-dashboard-job-stage-v1 span {
    min-width: 80px;
    padding: 8px 10px;
}

.posys-dashboard-job-stage-v1 span::before {
    margin-bottom: 4px;
}


/* Completed stage = Green */

.posys-dashboard-job-stage-v1
span[data-stage="completed"] {
    background: rgba(34, 197, 94, 0.10);
}

.posys-dashboard-job-stage-v1
span[data-stage="completed"]::before {
    background: #22c55e;
}

.posys-dashboard-job-stage-v1
span[data-stage="completed"] strong {
    color: #16803a;
}


/* Wider progress area */

.posys-dashboard-job-progress-v1 {
    min-width: 190px;
}

.posys-dashboard-job-progress-v1-track {
    width: 100%;
}


/* ------------------------------------------------------------
   MOBILE V4
   ------------------------------------------------------------ */

@media (max-width: 760px) {

    .posys-dashboard-section-heading {
        margin-top: 34px;
        margin-bottom: 16px;
    }

    .posys-dashboard-kpis-v2
    .posys-dashboard-kpi-v2 {
        min-height: 132px;
        padding: 14px;
    }

    .posys-dashboard-kpi-v2-icon {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
    }

    .posys-dashboard-kpi-v2-count {
        margin-top: 11px;
        font-size: 2rem;
    }

    .posys-production-dashboard-v2-card {
        min-height: 106px;
        padding: 13px 14px;
    }

    .posys-production-dashboard-v2-card strong {
        font-size: 1.7rem;
    }

    .posys-dashboard-quick-card {
        min-height: auto;
    }

    .posys-dashboard-current-jobs
    .posys-job-summary-card {
        min-height: 86px;
        padding: 13px 14px;
    }

    .posys-dashboard-current-jobs
    .posys-job-summary-count {
        font-size: 1.6rem;
    }

    .posys-dashboard-job-quick-v1-card {
        padding: 14px;
    }

    .posys-dashboard-job-progress-v1 {
        min-width: 160px;
    }

}


@media (max-width: 430px) {

    .posys-dashboard-kpis-v2
    .posys-dashboard-kpi-v2 {
        min-height: 126px;
    }

    .posys-dashboard-current-jobs
    .posys-job-summary-card {
        min-height: 82px;
    }

}


/* ============================================================
   POSYS FILTER LAYOUT V1 - FINAL
   Current Jobs + Item Production
   ============================================================ */


/* ------------------------------------------------------------
   CURRENT JOBS
   ------------------------------------------------------------ */

.posys-current-jobs-filter-form.posys-filter-layout-v1
.posys-filter-row {
    display: grid;
    grid-template-columns:
        minmax(250px, 1.45fr)
        minmax(170px, 0.9fr)
        minmax(150px, 0.78fr)
        minmax(170px, 0.9fr)
        minmax(138px, auto);
    gap: 16px;
    align-items: end;
}

.posys-current-jobs-filter-form.posys-filter-layout-v1
.form-row {
    min-width: 0;
    margin: 0;
}

.posys-current-jobs-filter-form.posys-filter-layout-v1
.form-row label {
    display: block;
    margin-bottom: 8px;
}

.posys-current-jobs-filter-form.posys-filter-layout-v1
input,
.posys-current-jobs-filter-form.posys-filter-layout-v1
select {
    width: 100%;
    min-width: 0;
    height: 52px;
}

.posys-current-jobs-filter-form
.posys-filter-actions-v1 {
    display: flex;
    align-items: end;
    min-width: 138px;
}


/* ------------------------------------------------------------
   ITEM PRODUCTION
   ------------------------------------------------------------ */

.posys-production-register-v2-filter
.posys-filter-layout-v1 {
    width: 100%;
}

.posys-production-register-v2-filter.posys-filter-layout-v1 {
    display: grid;
    grid-template-columns:
        minmax(245px, 1.35fr)
        minmax(165px, 0.85fr)
        minmax(170px, 0.9fr)
        minmax(185px, 1fr)
        minmax(130px, 0.68fr)
        minmax(120px, auto);
    gap: 16px;
    align-items: end;
}

.posys-production-register-v2-filter
.posys-form-field {
    min-width: 0;
    margin: 0;
}

.posys-production-register-v2-filter
.posys-form-field label {
    display: block;
    min-height: 20px;
    margin-bottom: 8px;
}

.posys-production-register-v2-filter
input,
.posys-production-register-v2-filter
select {
    width: 100%;
    min-width: 0;
    height: 52px;
}

.posys-production-register-v2-filter
.posys-production-register-v2-actions {
    display: flex;
    align-items: end;
    min-width: 120px;
}


/* ------------------------------------------------------------
   SHARED ACTION
   ------------------------------------------------------------ */

.posys-filter-action-v1 {
    width: 100%;
    min-width: 120px;
    height: 52px;
    padding: 0 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

.posys-filter-actions-v1
.button-secondary,
.posys-filter-actions-v1
.posys-button-secondary {
    background: #123f61;
    color: #ffffff;
    border-color: #123f61;
}

.posys-filter-actions-v1
.button-secondary:hover,
.posys-filter-actions-v1
.posys-button-secondary:hover {
    background: #0b334f;
    border-color: #0b334f;
}


/* ------------------------------------------------------------
   TABLET
   ------------------------------------------------------------ */

@media (max-width: 1180px) {

    .posys-current-jobs-filter-form.posys-filter-layout-v1
    .posys-filter-row {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .posys-production-register-v2-filter.posys-filter-layout-v1 {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .posys-current-jobs-filter-form
    .posys-filter-actions-v1,
    .posys-production-register-v2-filter
    .posys-production-register-v2-actions {
        min-width: 0;
    }

}


/* ------------------------------------------------------------
   MOBILE
   ------------------------------------------------------------ */

@media (max-width: 680px) {

    .posys-current-jobs-filter-form.posys-filter-layout-v1
    .posys-filter-row,
    .posys-production-register-v2-filter.posys-filter-layout-v1 {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .posys-filter-action-v1 {
        width: 100%;
    }

}


/* ============================================================
   POSYS PRODUCTION FILTER LAYOUT V2
   Prevent desktop overflow
   ============================================================ */

.posys-production-register-v2-filter.posys-filter-layout-v1 {
    display: grid;
    grid-template-columns:
        minmax(220px, 1.35fr)
        minmax(160px, 0.9fr)
        minmax(165px, 0.95fr)
        minmax(190px, 1.1fr)
        minmax(130px, 0.7fr);
    gap: 16px;
    align-items: end;
    width: 100%;
    min-width: 0;
}

.posys-production-register-v2-filter
.posys-form-field {
    min-width: 0;
}

.posys-production-register-v2-filter
.posys-form-field input,
.posys-production-register-v2-filter
.posys-form-field select {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.posys-production-register-v2-filter
.posys-production-register-v2-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    min-width: 0;
    margin-top: 2px;
}

.posys-production-register-v2-filter
.posys-filter-action-v1 {
    width: auto;
    min-width: 132px;
    height: 48px;
    padding-left: 24px;
    padding-right: 24px;
}


/* Medium desktop:
   move filters to a balanced 3 + 2 layout before overflow occurs */

@media (max-width: 1100px) {

    .posys-production-register-v2-filter.posys-filter-layout-v1 {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

}


/* Tablet */

@media (max-width: 850px) {

    .posys-production-register-v2-filter.posys-filter-layout-v1 {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* Mobile */

@media (max-width: 600px) {

    .posys-production-register-v2-filter.posys-filter-layout-v1 {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .posys-production-register-v2-filter
    .posys-production-register-v2-actions {
        grid-column: 1;
    }

    .posys-production-register-v2-filter
    .posys-filter-action-v1 {
        width: 100%;
    }

}


/* ============================================================
   POSYS DESIGN FILTER LAYOUT V2
   Matches Current Jobs / Production responsive filter system
   ============================================================ */

.posys-design-filter-layout-v2 {
    display: grid;
    grid-template-columns:
        minmax(240px, 1.35fr)
        minmax(190px, 0.95fr)
        minmax(190px, 0.95fr)
        minmax(180px, 0.85fr);
    gap: 16px;
    align-items: end;
    width: 100%;
    min-width: 0;
}

.posys-design-filter-layout-v2
.posys-form-field,
.posys-design-filter-layout-v2
.form-row {
    min-width: 0;
    margin: 0;
}

.posys-design-filter-layout-v2
label {
    display: block;
    margin-bottom: 8px;
}

.posys-design-filter-layout-v2
input,
.posys-design-filter-layout-v2
select {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: 52px;
    box-sizing: border-box;
}

.posys-design-filter-layout-v2
.posys-design-filter-actions-v2 {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    min-width: 0;
    margin-top: 2px;
}

.posys-design-filter-layout-v2
.posys-filter-action-v1 {
    width: auto;
    min-width: 132px;
    height: 48px;
    padding-left: 26px;
    padding-right: 26px;
}


/* Medium desktop */

@media (max-width: 1050px) {

    .posys-design-filter-layout-v2 {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* Mobile */

@media (max-width: 620px) {

    .posys-design-filter-layout-v2 {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .posys-design-filter-layout-v2
    .posys-design-filter-actions-v2 {
        grid-column: 1;
    }

    .posys-design-filter-layout-v2
    .posys-filter-action-v1 {
        width: 100%;
    }

}


/* ============================================================
   POSYS OPERATIONAL RESULTS LAYOUT V1
   Current Jobs + Design Queue + Item Production
   ============================================================ */


/* ------------------------------------------------------------
   RESULTS CARD
   ------------------------------------------------------------ */

.posys-operational-results-v1 {
    overflow: hidden;
}

.posys-operational-results-v1
.posys-section-header,
.posys-current-jobs-results-v1
.posys-current-jobs-results-header {
    margin-bottom: 18px;
}


/* ------------------------------------------------------------
   SHARED DESKTOP TABLE
   ------------------------------------------------------------ */

.posys-operational-table-v1 {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
    border-collapse: collapse;
}

.posys-operational-table-v1 thead th {
    padding: 13px 14px;
    vertical-align: middle;
    color: #536274;
    font-size: 0.69rem;
    font-weight: 900;
    letter-spacing: 0.055em;
    line-height: 1.25;
    text-transform: uppercase;
    background: #edf3f6;
}

.posys-operational-table-v1 tbody td {
    padding: 15px 14px;
    vertical-align: middle;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.posys-operational-table-v1 tbody tr {
    transition:
        background 150ms ease,
        box-shadow 150ms ease;
}

.posys-operational-table-v1 tbody tr:hover {
    background: rgba(0, 174, 239, 0.025);
}

.posys-operational-table-v1
.posys-global-item-reference {
    font-size: 0.83rem;
}


/* ------------------------------------------------------------
   CURRENT JOBS COLUMN BALANCE
   ------------------------------------------------------------ */

.posys-current-jobs-table th:nth-child(1) {
    width: 19%;
}

.posys-current-jobs-table th:nth-child(2) {
    width: 25%;
}

.posys-current-jobs-table th:nth-child(3) {
    width: 13%;
}

.posys-current-jobs-table th:nth-child(4) {
    width: 10%;
}

.posys-current-jobs-table th:nth-child(5) {
    width: 13%;
}

.posys-current-jobs-table th:nth-child(6) {
    width: 11%;
}

.posys-current-jobs-table th:nth-child(7) {
    width: 9%;
}


/* Item list */

.posys-operational-items-v1 {
    display: grid;
    gap: 7px;
}

.posys-operational-item-v1 {
    display: grid;
    gap: 1px;
}

.posys-operational-item-v1 strong {
    color: #24364a;
    font-size: 0.73rem;
}

.posys-operational-item-v1 > span {
    color: #667386;
    font-size: 0.78rem;
}


/* Priority pills */

.posys-operational-priority-v1 {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 9px;
    border-radius: 999px;
    background: #f1f4f7;
    color: #566577;
    font-size: 0.7rem;
    font-weight: 800;
    white-space: nowrap;
}

.posys-operational-priority-v1-urgent,
.posys-operational-priority-v1-high {
    background: rgba(237, 28, 36, 0.10);
    color: #c8212a;
}


/* ------------------------------------------------------------
   DUE DATE
   ------------------------------------------------------------ */

.posys-operational-due-v1,
.posys-design-register-v1-due,
.posys-production-register-v2-due {
    display: grid;
    justify-items: start;
    gap: 6px;
}

.posys-operational-due-v1 > strong,
.posys-design-register-v1-due > strong,
.posys-production-register-v2-due > strong {
    color: #233448;
    font-size: 0.78rem;
    white-space: nowrap;
}

.posys-operational-due-badge-v1,
.posys-design-register-v1-due-badge,
.posys-production-register-v2-due-badge {
    display: inline-flex;
    align-items: center;
    min-height: 23px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #f0f3f6;
    color: #667386;
    font-size: 0.64rem;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

.posys-operational-due-overdue-v1,
.posys-design-register-v1-due-overdue,
.posys-production-register-v2-due-overdue {
    background: rgba(237, 28, 36, 0.10);
    color: #c8212a;
}

.posys-design-register-v1-due-today,
.posys-production-register-v2-due-today {
    background: rgba(255, 221, 0, 0.23);
    color: #7d6500;
}

.posys-design-register-v1-due-upcoming,
.posys-production-register-v2-due-upcoming {
    background: rgba(0, 174, 239, 0.10);
    color: #087fa9;
}

.posys-operational-muted-v1 {
    color: #8994a1;
}


/* ------------------------------------------------------------
   DESIGN TABLE COLUMN BALANCE
   ------------------------------------------------------------ */

.posys-design-register-v1-table th:nth-child(1) {
    width: 21%;
}

.posys-design-register-v1-table th:nth-child(2) {
    width: 23%;
}

.posys-design-register-v1-table th:nth-child(3) {
    width: 19%;
}

.posys-design-register-v1-table th:nth-child(4) {
    width: 14%;
}

.posys-design-register-v1-table th:nth-child(5) {
    width: 12%;
}

.posys-design-register-v1-table th:nth-child(6) {
    width: 6%;
}

.posys-design-register-v1-table th:nth-child(7) {
    width: 9%;
}

.posys-design-register-v1-status {
    max-width: 100%;
    line-height: 1.22;
}

.posys-design-register-v1-revision {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    min-height: 30px;
    padding: 4px 8px;
    border-radius: 9px;
}


/* ------------------------------------------------------------
   PRODUCTION TABLE COLUMN BALANCE
   ------------------------------------------------------------ */

.posys-production-register-v2-table th:nth-child(1) {
    width: 18%;
}

.posys-production-register-v2-table th:nth-child(2) {
    width: 20%;
}

.posys-production-register-v2-table th:nth-child(3) {
    width: 12%;
}

.posys-production-register-v2-table th:nth-child(4) {
    width: 10%;
}

.posys-production-register-v2-table th:nth-child(5) {
    width: 18%;
}

.posys-production-register-v2-table th:nth-child(6) {
    width: 14%;
}

.posys-production-register-v2-table th:nth-child(7) {
    width: 8%;
}

.posys-production-register-v2-status {
    display: block;
    color: #26374a;
    font-size: 0.76rem;
    line-height: 1.3;
}


/* ------------------------------------------------------------
   ROW DUE PRIORITY
   ------------------------------------------------------------ */

.posys-design-register-v1-row-overdue td:first-child,
.posys-production-register-v2-row-overdue td:first-child {
    box-shadow: inset 4px 0 0 #ed1c24;
}

.posys-design-register-v1-row-today td:first-child,
.posys-production-register-v2-row-today td:first-child {
    box-shadow: inset 4px 0 0 #ffcc00;
}


/* ------------------------------------------------------------
   OPEN ACTION
   ------------------------------------------------------------ */

.posys-operational-action-cell-v1 {
    text-align: right;
}

.posys-operational-open-v1 {
    display: inline-flex !important;
    width: auto !important;
    min-width: 92px !important;
    min-height: 38px;
    padding: 0 12px !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border-radius: 9px;
    background: #123f61 !important;
    border-color: #123f61 !important;
    color: #ffffff !important;
    font-size: 0.72rem;
    font-weight: 800;
    white-space: nowrap;
}

.posys-operational-open-v1:hover {
    background: #0b334f !important;
    border-color: #0b334f !important;
    color: #ffffff !important;
}


/* ------------------------------------------------------------
   DESKTOP / MEDIUM WIDTH
   ------------------------------------------------------------ */

@media (max-width: 1180px) {

    .posys-operational-table-v1 thead th,
    .posys-operational-table-v1 tbody td {
        padding-left: 9px;
        padding-right: 9px;
    }

    .posys-operational-open-v1 {
        min-width: 78px !important;
        padding-left: 9px !important;
        padding-right: 9px !important;
    }

}


/* ------------------------------------------------------------
   MOBILE CARD SYSTEM
   ------------------------------------------------------------ */

@media (max-width: 760px) {

    .posys-operational-results-v1 {
        overflow: visible;
    }

    .posys-operational-results-v1
    .posys-table-wrap {
        overflow: visible !important;
        border: 0 !important;
        background: transparent !important;
    }

    .posys-operational-table-v1 {
        display: block;
        width: 100% !important;
        min-width: 0 !important;
        table-layout: auto !important;
    }

    .posys-operational-table-v1 thead {
        display: none;
    }

    .posys-operational-table-v1 tbody {
        display: grid;
        gap: 12px;
    }

    .posys-operational-table-v1 tbody tr {
        display: grid !important;
        width: 100%;
        margin: 0 !important;
        padding: 5px 14px !important;
        border: 1px solid #e0e6ec !important;
        border-radius: 14px !important;
        background: #ffffff !important;
        box-sizing: border-box;
        box-shadow:
            0 4px 14px rgba(15, 23, 42, 0.035);
    }

    .posys-operational-table-v1 tbody td {
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        display: grid !important;
        grid-template-columns:
            minmax(100px, 0.34fr)
            minmax(0, 1fr) !important;
        gap: 11px !important;
        padding: 10px 0 !important;
        border: 0 !important;
        border-bottom:
            1px solid #edf1f4 !important;
        text-align: left !important;
        box-shadow: none !important;
    }

    .posys-operational-table-v1
    tbody td:last-child {
        border-bottom: 0 !important;
    }

    .posys-operational-table-v1
    tbody td::before {
        content: attr(data-mobile-label);
        display: block;
        padding-top: 2px;
        color: #657483;
        font-size: 0.64rem;
        font-weight: 900;
        letter-spacing: 0.04em;
        line-height: 1.25;
        text-transform: uppercase;
    }

    .posys-operational-items-v1 {
        display: grid !important;
    }

    .posys-operational-action-cell-v1 {
        text-align: left;
    }

    .posys-operational-open-v1,
    .posys-operational-table-v1
    td:last-child
    .posys-button,
    .posys-operational-table-v1
    td:last-child
    .button {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 44px;
    }

}


/* ------------------------------------------------------------
   SMALL MOBILE
   ------------------------------------------------------------ */

@media (max-width: 430px) {

    .posys-operational-table-v1 tbody tr {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .posys-operational-table-v1 tbody td {
        grid-template-columns:
            86px
            minmax(0, 1fr) !important;
        gap: 8px !important;
    }

}


/* ============================================================
   POSYS CURRENT JOBS TABLE LAYOUT V2
   Fix narrow Items / Action columns
   ============================================================ */


/* Desktop column rebalance */

.posys-current-jobs-table.posys-operational-table-v1 {
    table-layout: fixed;
    width: 100%;
}

.posys-current-jobs-table.posys-operational-table-v1
th:nth-child(1) {
    width: 19%;
}

.posys-current-jobs-table.posys-operational-table-v1
th:nth-child(2) {
    width: 24%;
}

.posys-current-jobs-table.posys-operational-table-v1
th:nth-child(3) {
    width: 13%;
}

.posys-current-jobs-table.posys-operational-table-v1
th:nth-child(4) {
    width: 9%;
}

.posys-current-jobs-table.posys-operational-table-v1
th:nth-child(5) {
    width: 13%;
}

.posys-current-jobs-table.posys-operational-table-v1
th:nth-child(6) {
    width: 11%;
}

.posys-current-jobs-table.posys-operational-table-v1
th:nth-child(7) {
    width: 11%;
}


/* Never split item reference character-by-character */

.posys-current-jobs-table
.posys-operational-item-v1 {
    min-width: 0;
}

.posys-current-jobs-table
.posys-operational-item-v1 > strong {
    display: block;
    white-space: nowrap;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none;
}

.posys-current-jobs-table
.posys-operational-item-v1 > span {
    display: block;
    margin-top: 2px;
    word-break: normal;
    overflow-wrap: anywhere;
}


/* Current Jobs job number also stays intact */

.posys-current-jobs-table
td[data-mobile-label="Job"] > strong {
    display: inline-block;
    white-space: nowrap;
    word-break: normal !important;
    overflow-wrap: normal !important;
}


/* Keep status and priority compact */

.posys-current-jobs-table
td[data-mobile-label="Status"],
.posys-current-jobs-table
td[data-mobile-label="Priority"] {
    white-space: normal;
}


/* Repeat source reference should not split */

.posys-current-jobs-table
td[data-mobile-label="Repeat Source"] {
    word-break: normal !important;
    overflow-wrap: normal !important;
}


/* Action must remain fully visible */

.posys-current-jobs-table
th:last-child,
.posys-current-jobs-table
td:last-child {
    min-width: 112px;
}

.posys-current-jobs-table
.posys-operational-action-cell-v1 {
    text-align: right;
    padding-left: 8px;
    padding-right: 10px;
}

.posys-current-jobs-table
.posys-operational-open-v1 {
    min-width: 100px !important;
    max-width: 100%;
    padding-left: 11px !important;
    padding-right: 11px !important;
    white-space: nowrap;
}


/* Slightly tighter table text on medium desktop */

@media (max-width: 1250px) {

    .posys-current-jobs-table.posys-operational-table-v1
    thead th,
    .posys-current-jobs-table.posys-operational-table-v1
    tbody td {
        padding-left: 8px;
        padding-right: 8px;
    }

    .posys-current-jobs-table
    .posys-operational-open-v1 {
        min-width: 92px !important;
        font-size: 0.68rem;
    }

}


/* Switch to mobile cards before the desktop table becomes cramped */

@media (max-width: 900px) {

    .posys-current-jobs-table.posys-operational-table-v1 {
        display: block;
        width: 100% !important;
        min-width: 0 !important;
        table-layout: auto !important;
    }

    .posys-current-jobs-table.posys-operational-table-v1
    thead {
        display: none;
    }

    .posys-current-jobs-table.posys-operational-table-v1
    tbody {
        display: grid;
        gap: 12px;
    }

    .posys-current-jobs-table.posys-operational-table-v1
    tbody tr {
        display: grid !important;
        width: 100%;
        padding: 5px 14px !important;
        border: 1px solid #e0e6ec !important;
        border-radius: 14px !important;
        background: #ffffff !important;
    }

    .posys-current-jobs-table.posys-operational-table-v1
    tbody td {
        display: grid !important;
        grid-template-columns:
            minmax(105px, 0.34fr)
            minmax(0, 1fr) !important;
        gap: 10px;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding: 10px 0 !important;
        border: 0 !important;
        border-bottom:
            1px solid #edf1f4 !important;
        text-align: left !important;
    }

    .posys-current-jobs-table.posys-operational-table-v1
    tbody td:last-child {
        border-bottom: 0 !important;
    }

    .posys-current-jobs-table
    .posys-operational-action-cell-v1 {
        text-align: left;
    }

    .posys-current-jobs-table
    .posys-operational-open-v1 {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 44px;
    }

}


@media (max-width: 430px) {

    .posys-current-jobs-table.posys-operational-table-v1
    tbody td {
        grid-template-columns:
            88px
            minmax(0, 1fr) !important;
    }

}


/* ============================================================
   POSYS CURRENT JOBS LAYOUT V3
   Six columns + top-aligned operational rows
   ============================================================ */


/* ------------------------------------------------------------
   SIX-COLUMN DESKTOP BALANCE
   ------------------------------------------------------------ */

.posys-current-jobs-table.posys-operational-table-v1
th:nth-child(1) {
    width: 21%;
}

.posys-current-jobs-table.posys-operational-table-v1
th:nth-child(2) {
    width: 27%;
}

.posys-current-jobs-table.posys-operational-table-v1
th:nth-child(3) {
    width: 14%;
}

.posys-current-jobs-table.posys-operational-table-v1
th:nth-child(4) {
    width: 10%;
}

.posys-current-jobs-table.posys-operational-table-v1
th:nth-child(5) {
    width: 14%;
}

.posys-current-jobs-table.posys-operational-table-v1
th:nth-child(6) {
    width: 14%;
}


/* ------------------------------------------------------------
   TOP ALIGN THE JOB LISTING
   ------------------------------------------------------------ */

.posys-current-jobs-table.posys-operational-table-v1
tbody td {
    vertical-align: top !important;
}

.posys-current-jobs-table
td[data-mobile-label="Job"] {
    text-align: left;
    padding-top: 18px;
}

.posys-current-jobs-table
td[data-mobile-label="Items"] {
    text-align: left;
    padding-top: 18px;
}

.posys-current-jobs-table
td[data-mobile-label="Status"],
.posys-current-jobs-table
td[data-mobile-label="Priority"],
.posys-current-jobs-table
td[data-mobile-label="Required Date"],
.posys-current-jobs-table
td[data-mobile-label="Action"] {
    padding-top: 18px;
}


/* ------------------------------------------------------------
   JOB INFORMATION
   ------------------------------------------------------------ */

.posys-current-jobs-table
td[data-mobile-label="Job"] > strong {
    display: block;
    margin-bottom: 8px;
    color: #10283f;
    line-height: 1.25;
}

.posys-current-jobs-table
td[data-mobile-label="Job"] {
    line-height: 1.45;
}


/* ------------------------------------------------------------
   ITEMS
   ------------------------------------------------------------ */

.posys-current-jobs-table
.posys-operational-items-v1 {
    align-content: start;
    gap: 9px;
}

.posys-current-jobs-table
.posys-operational-item-v1 {
    align-content: start;
}

.posys-current-jobs-table
.posys-operational-item-v1 > strong {
    line-height: 1.25;
}


/* ------------------------------------------------------------
   ACTION
   ------------------------------------------------------------ */

.posys-current-jobs-table
.posys-operational-action-cell-v1 {
    text-align: right;
}

.posys-current-jobs-table
.posys-operational-open-v1 {
    min-width: 108px !important;
}


/* ------------------------------------------------------------
   MOBILE
   ------------------------------------------------------------ */

@media (max-width: 900px) {

    .posys-current-jobs-table.posys-operational-table-v1
    tbody td {
        padding-top: 10px !important;
    }

    .posys-current-jobs-table
    .posys-operational-action-cell-v1 {
        text-align: left;
    }

    .posys-current-jobs-table
    .posys-operational-open-v1 {
        width: 100% !important;
        min-width: 0 !important;
    }

}


/* ============================================================
   POSYS CURRENT JOBS LAYOUT V4
   Compact row density + balanced vertical alignment
   ============================================================ */


/* Reduce excessive result-card breathing space */

.posys-current-jobs-results-v1 {
    padding-top: 26px;
}

.posys-current-jobs-results-v1
.posys-current-jobs-results-header {
    margin-bottom: 14px;
}


/* ------------------------------------------------------------
   MIXED ROW ALIGNMENT
   Job + Items top aligned
   Operational status fields vertically centered
   ------------------------------------------------------------ */

.posys-current-jobs-table
td[data-mobile-label="Job"],
.posys-current-jobs-table
td[data-mobile-label="Items"] {
    vertical-align: top !important;
    padding-top: 18px;
    padding-bottom: 18px;
}

.posys-current-jobs-table
td[data-mobile-label="Status"],
.posys-current-jobs-table
td[data-mobile-label="Priority"],
.posys-current-jobs-table
td[data-mobile-label="Required Date"],
.posys-current-jobs-table
td[data-mobile-label="Action"] {
    vertical-align: middle !important;
    padding-top: 16px;
    padding-bottom: 16px;
}


/* ------------------------------------------------------------
   JOB BLOCK
   ------------------------------------------------------------ */

.posys-current-jobs-table
td[data-mobile-label="Job"] > strong {
    margin-bottom: 7px;
}

.posys-current-jobs-table
td[data-mobile-label="Job"] {
    line-height: 1.38;
}


/* ------------------------------------------------------------
   COMPACT ITEM LIST
   ------------------------------------------------------------ */

.posys-current-jobs-table
.posys-operational-items-v1 {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    gap: 7px;
}

.posys-current-jobs-table
.posys-operational-item-v1 {
    display: inline-flex;
    flex-direction: column;
    min-width: 86px;
    max-width: 150px;
    padding: 6px 9px;
    border: 1px solid #e5ebf0;
    border-radius: 9px;
    background: #f8fafc;
    line-height: 1.2;
}

.posys-current-jobs-table
.posys-operational-item-v1 > strong {
    color: #20354a;
    font-size: 0.7rem;
    line-height: 1.15;
}

.posys-current-jobs-table
.posys-operational-item-v1 > span {
    margin-top: 3px;
    color: #738092;
    font-size: 0.68rem;
    line-height: 1.2;
}


/* Empty items should remain simple */

.posys-current-jobs-table
.posys-operational-items-v1
.posys-operational-muted-v1 {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
}


/* ------------------------------------------------------------
   STATUS / PRIORITY / DUE
   ------------------------------------------------------------ */

.posys-current-jobs-table
td[data-mobile-label="Status"],
.posys-current-jobs-table
td[data-mobile-label="Priority"],
.posys-current-jobs-table
td[data-mobile-label="Required Date"] {
    align-content: center;
}

.posys-current-jobs-table
.posys-operational-due-v1 {
    align-content: center;
}


/* ------------------------------------------------------------
   ACTION
   ------------------------------------------------------------ */

.posys-current-jobs-table
.posys-operational-action-cell-v1 {
    vertical-align: middle !important;
}

.posys-current-jobs-table
.posys-operational-open-v1 {
    min-width: 108px !important;
}


/* ------------------------------------------------------------
   TABLE ROW SEPARATION
   ------------------------------------------------------------ */

.posys-current-jobs-table
tbody tr {
    border-bottom: 1px solid #e3e9ee;
}

.posys-current-jobs-table
tbody tr:last-child {
    border-bottom: 0;
}


/* ------------------------------------------------------------
   MEDIUM WIDTH
   ------------------------------------------------------------ */

@media (max-width: 1100px) {

    .posys-current-jobs-table
    .posys-operational-item-v1 {
        min-width: 78px;
        max-width: 130px;
        padding: 5px 7px;
    }

}


/* ------------------------------------------------------------
   MOBILE: return to stacked field/value layout
   ------------------------------------------------------------ */

@media (max-width: 900px) {

    .posys-current-jobs-table
    td[data-mobile-label="Job"],
    .posys-current-jobs-table
    td[data-mobile-label="Items"],
    .posys-current-jobs-table
    td[data-mobile-label="Status"],
    .posys-current-jobs-table
    td[data-mobile-label="Priority"],
    .posys-current-jobs-table
    td[data-mobile-label="Required Date"],
    .posys-current-jobs-table
    td[data-mobile-label="Action"] {
        vertical-align: top !important;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    .posys-current-jobs-table
    .posys-operational-items-v1 {
        display: flex !important;
        flex-wrap: wrap;
        gap: 6px;
    }

    .posys-current-jobs-table
    .posys-operational-item-v1 {
        min-width: 76px;
        max-width: 130px;
    }

}


/* ============================================================
   POSYS CURRENT JOBS LAYOUT V4
   Compact row density + balanced vertical alignment
   ============================================================ */


/* Reduce excessive result-card breathing space */

.posys-current-jobs-results-v1 {
    padding-top: 26px;
}

.posys-current-jobs-results-v1
.posys-current-jobs-results-header {
    margin-bottom: 14px;
}


/* ------------------------------------------------------------
   MIXED ROW ALIGNMENT
   Job + Items top aligned
   Operational status fields vertically centered
   ------------------------------------------------------------ */

.posys-current-jobs-table
td[data-mobile-label="Job"],
.posys-current-jobs-table
td[data-mobile-label="Items"] {
    vertical-align: top !important;
    padding-top: 18px;
    padding-bottom: 18px;
}

.posys-current-jobs-table
td[data-mobile-label="Status"],
.posys-current-jobs-table
td[data-mobile-label="Priority"],
.posys-current-jobs-table
td[data-mobile-label="Required Date"],
.posys-current-jobs-table
td[data-mobile-label="Action"] {
    vertical-align: middle !important;
    padding-top: 16px;
    padding-bottom: 16px;
}


/* ------------------------------------------------------------
   JOB BLOCK
   ------------------------------------------------------------ */

.posys-current-jobs-table
td[data-mobile-label="Job"] > strong {
    margin-bottom: 7px;
}

.posys-current-jobs-table
td[data-mobile-label="Job"] {
    line-height: 1.38;
}


/* ------------------------------------------------------------
   COMPACT ITEM LIST
   ------------------------------------------------------------ */

.posys-current-jobs-table
.posys-operational-items-v1 {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    gap: 7px;
}

.posys-current-jobs-table
.posys-operational-item-v1 {
    display: inline-flex;
    flex-direction: column;
    min-width: 86px;
    max-width: 150px;
    padding: 6px 9px;
    border: 1px solid #e5ebf0;
    border-radius: 9px;
    background: #f8fafc;
    line-height: 1.2;
}

.posys-current-jobs-table
.posys-operational-item-v1 > strong {
    color: #20354a;
    font-size: 0.7rem;
    line-height: 1.15;
}

.posys-current-jobs-table
.posys-operational-item-v1 > span {
    margin-top: 3px;
    color: #738092;
    font-size: 0.68rem;
    line-height: 1.2;
}


/* Empty items should remain simple */

.posys-current-jobs-table
.posys-operational-items-v1
.posys-operational-muted-v1 {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
}


/* ------------------------------------------------------------
   STATUS / PRIORITY / DUE
   ------------------------------------------------------------ */

.posys-current-jobs-table
td[data-mobile-label="Status"],
.posys-current-jobs-table
td[data-mobile-label="Priority"],
.posys-current-jobs-table
td[data-mobile-label="Required Date"] {
    align-content: center;
}

.posys-current-jobs-table
.posys-operational-due-v1 {
    align-content: center;
}


/* ------------------------------------------------------------
   ACTION
   ------------------------------------------------------------ */

.posys-current-jobs-table
.posys-operational-action-cell-v1 {
    vertical-align: middle !important;
}

.posys-current-jobs-table
.posys-operational-open-v1 {
    min-width: 108px !important;
}


/* ------------------------------------------------------------
   TABLE ROW SEPARATION
   ------------------------------------------------------------ */

.posys-current-jobs-table
tbody tr {
    border-bottom: 1px solid #e3e9ee;
}

.posys-current-jobs-table
tbody tr:last-child {
    border-bottom: 0;
}


/* ------------------------------------------------------------
   MEDIUM WIDTH
   ------------------------------------------------------------ */

@media (max-width: 1100px) {

    .posys-current-jobs-table
    .posys-operational-item-v1 {
        min-width: 78px;
        max-width: 130px;
        padding: 5px 7px;
    }

}


/* ------------------------------------------------------------
   MOBILE: return to stacked field/value layout
   ------------------------------------------------------------ */

@media (max-width: 900px) {

    .posys-current-jobs-table
    td[data-mobile-label="Job"],
    .posys-current-jobs-table
    td[data-mobile-label="Items"],
    .posys-current-jobs-table
    td[data-mobile-label="Status"],
    .posys-current-jobs-table
    td[data-mobile-label="Priority"],
    .posys-current-jobs-table
    td[data-mobile-label="Required Date"],
    .posys-current-jobs-table
    td[data-mobile-label="Action"] {
        vertical-align: top !important;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    .posys-current-jobs-table
    .posys-operational-items-v1 {
        display: flex !important;
        flex-wrap: wrap;
        gap: 6px;
    }

    .posys-current-jobs-table
    .posys-operational-item-v1 {
        min-width: 76px;
        max-width: 130px;
    }

}


/* ============================================================
   POSYS CURRENT JOBS LAYOUT V5
   Top-align Status / Priority / Required Date
   ============================================================ */

.posys-current-jobs-table
td[data-mobile-label="Status"],
.posys-current-jobs-table
td[data-mobile-label="Priority"],
.posys-current-jobs-table
td[data-mobile-label="Required Date"] {
    vertical-align: top !important;
    padding-top: 18px !important;
    padding-bottom: 18px;
    align-content: start !important;
}

.posys-current-jobs-table
td[data-mobile-label="Status"] > *,
.posys-current-jobs-table
td[data-mobile-label="Priority"] > *,
.posys-current-jobs-table
td[data-mobile-label="Required Date"] > * {
    margin-top: 0;
}

.posys-current-jobs-table
.posys-operational-due-v1 {
    align-content: start !important;
    justify-content: start;
}


/* Keep Action top-aligned too for a consistent row */

.posys-current-jobs-table
td[data-mobile-label="Action"] {
    vertical-align: top !important;
    padding-top: 18px !important;
    padding-bottom: 18px;
}


/* Mobile retains the existing compact card spacing */

@media (max-width: 900px) {

    .posys-current-jobs-table
    td[data-mobile-label="Status"],
    .posys-current-jobs-table
    td[data-mobile-label="Priority"],
    .posys-current-jobs-table
    td[data-mobile-label="Required Date"],
    .posys-current-jobs-table
    td[data-mobile-label="Action"] {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

}

/* ============================================================
   POSYS CURRENT JOBS + DESIGN POLISH V6
   No-items empty state + aligned Design Queue results
   ============================================================ */

.posys-operational-empty-v2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: #eef3f7;
    border: 1px solid #d6e0ea;
    color: #6b7a90;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

/* Current Jobs result alignment */
.posys-current-jobs-table td,
.posys-current-jobs-table th {
    vertical-align: top;
}

.posys-current-jobs-table .posys-operational-items-v1 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

.posys-current-jobs-table .posys-operational-action-cell-v1 {
    vertical-align: top;
    text-align: right;
}

.posys-current-jobs-table .posys-operational-action-cell-v1 .posys-button {
    margin-top: 0;
}

/* Design Queue should visually follow the same result rhythm */
.posys-design-results-v2 .posys-operational-table-v2,
.posys-design-results-v2 .posys-design-register-v1-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.posys-design-results-v2 .posys-operational-table-v2 th,
.posys-design-results-v2 .posys-operational-table-v2 td,
.posys-design-results-v2 .posys-design-register-v1-table th,
.posys-design-results-v2 .posys-design-register-v1-table td {
    vertical-align: top;
}

.posys-design-results-v2 .posys-design-register-v1-table tbody tr td,
.posys-design-results-v2 .posys-operational-table-v2 tbody tr td {
    padding-top: 22px;
    padding-bottom: 22px;
}

.posys-design-results-v2 .posys-operational-open-v1 {
    vertical-align: top;
    text-align: right;
    white-space: nowrap;
}

.posys-design-results-v2 .posys-operational-open-v1 .posys-button {
    margin-top: 0;
}

.posys-design-results-v2 .posys-design-register-v1-table .posys-badge,
.posys-design-results-v2 .posys-design-register-v1-table .badge,
.posys-design-results-v2 .posys-design-register-v1-table [class*="status"],
.posys-design-results-v2 .posys-design-register-v1-table [class*="revision"] {
    vertical-align: top;
}

.posys-design-results-v2 .posys-design-register-v1-table td:first-child,
.posys-design-results-v2 .posys-design-register-v1-table th:first-child {
    width: 22%;
}

.posys-design-results-v2 .posys-design-register-v1-table td:last-child,
.posys-design-results-v2 .posys-design-register-v1-table th:last-child {
    width: 1%;
}

@media (max-width: 991.98px) {
    .posys-operational-empty-v2 {
        min-height: 32px;
        font-size: 0.9rem;
    }

    .posys-design-results-v2 .posys-operational-open-v1,
    .posys-current-jobs-table .posys-operational-action-cell-v1 {
        text-align: left;
    }
}


/* ============================================================
   POSYS DESIGN QUEUE LAYOUT V7
   Fit all 7 columns inside desktop results card
   ============================================================ */


/* ------------------------------------------------------------
   RESULTS CARD / TABLE WRAP
   ------------------------------------------------------------ */

.posys-design-results-v2 {
    overflow: hidden;
}

.posys-design-results-v2
.posys-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: visible;
}


/* ------------------------------------------------------------
   TABLE FIT
   ------------------------------------------------------------ */

.posys-design-results-v2
.posys-design-register-v1-table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
}


/* Item */

.posys-design-results-v2
.posys-design-register-v1-table
th:nth-child(1),
.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(1) {
    width: 20%;
}


/* Product / Service */

.posys-design-results-v2
.posys-design-register-v1-table
th:nth-child(2),
.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(2) {
    width: 22%;
}


/* Design Status */

.posys-design-results-v2
.posys-design-register-v1-table
th:nth-child(3),
.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(3) {
    width: 20%;
}


/* Designer */

.posys-design-results-v2
.posys-design-register-v1-table
th:nth-child(4),
.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(4) {
    width: 12%;
}


/* Required Date */

.posys-design-results-v2
.posys-design-register-v1-table
th:nth-child(5),
.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(5) {
    width: 11%;
}


/* Revision */

.posys-design-results-v2
.posys-design-register-v1-table
th:nth-child(6),
.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(6) {
    width: 6%;
    text-align: center;
}


/* Action */

.posys-design-results-v2
.posys-design-register-v1-table
th:nth-child(7),
.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(7) {
    width: 9%;
}


/* ------------------------------------------------------------
   GENERAL CELL BEHAVIOUR
   ------------------------------------------------------------ */

.posys-design-results-v2
.posys-design-register-v1-table
th,
.posys-design-results-v2
.posys-design-register-v1-table
td {
    min-width: 0 !important;
    max-width: none !important;
    box-sizing: border-box;
    overflow-wrap: normal;
    word-break: normal;
}


/* Keep item reference readable */

.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(1) {
    white-space: normal;
}

.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(1) strong {
    white-space: nowrap;
}


/* Product can wrap naturally */

.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(2) {
    overflow-wrap: anywhere;
}


/* ------------------------------------------------------------
   STATUS
   ------------------------------------------------------------ */

.posys-design-results-v2
.posys-design-register-v1-status {
    display: inline-flex;
    width: auto;
    max-width: 100%;
    box-sizing: border-box;
    white-space: normal;
    overflow-wrap: anywhere;
}


/* ------------------------------------------------------------
   DESIGNER
   ------------------------------------------------------------ */

.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(4) {
    overflow-wrap: anywhere;
}


/* ------------------------------------------------------------
   REQUIRED DATE
   ------------------------------------------------------------ */

.posys-design-results-v2
.posys-design-register-v1-due {
    min-width: 0;
}

.posys-design-results-v2
.posys-design-register-v1-due > strong {
    white-space: nowrap;
}


/* ------------------------------------------------------------
   REVISION
   ------------------------------------------------------------ */

.posys-design-results-v2
.posys-design-register-v1-revision {
    min-width: 42px;
    max-width: 50px;
    margin-left: auto;
    margin-right: auto;
}


/* ------------------------------------------------------------
   ACTION
   ------------------------------------------------------------ */

.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(7) {
    text-align: right;
}

.posys-design-results-v2
.posys-operational-open-v1 {
    display: inline-flex !important;
    width: auto !important;
    min-width: 82px !important;
    max-width: 100%;
    padding-left: 9px !important;
    padding-right: 9px !important;
    white-space: nowrap;
}


/* ------------------------------------------------------------
   MEDIUM DESKTOP
   ------------------------------------------------------------ */

@media (max-width: 1180px) {

    .posys-design-results-v2
    .posys-design-register-v1-table
    th,
    .posys-design-results-v2
    .posys-design-register-v1-table
    td {
        padding-left: 8px;
        padding-right: 8px;
    }

    .posys-design-results-v2
    .posys-design-register-v1-table {
        font-size: 0.94rem;
    }

    .posys-design-results-v2
    .posys-operational-open-v1 {
        min-width: 74px !important;
        font-size: 0.67rem;
    }

}


/* ------------------------------------------------------------
   MOBILE / SMALL TABLET
   Return to operational card system
   ------------------------------------------------------------ */

@media (max-width: 900px) {

    .posys-design-results-v2 {
        overflow: visible;
    }

    .posys-design-results-v2
    .posys-table-wrap {
        overflow: visible !important;
    }

    .posys-design-results-v2
    .posys-design-register-v1-table {
        display: block;
        width: 100% !important;
        min-width: 0 !important;
        table-layout: auto !important;
    }

    .posys-design-results-v2
    .posys-design-register-v1-table
    thead {
        display: none;
    }

    .posys-design-results-v2
    .posys-design-register-v1-table
    tbody {
        display: grid;
        gap: 12px;
    }

    .posys-design-results-v2
    .posys-design-register-v1-table
    tbody tr {
        display: grid !important;
        width: 100%;
        padding: 5px 14px !important;
        border: 1px solid #e0e6ec !important;
        border-radius: 14px !important;
        background: #ffffff !important;
        box-sizing: border-box;
    }

    .posys-design-results-v2
    .posys-design-register-v1-table
    tbody td {
        display: grid !important;
        grid-template-columns:
            minmax(105px, 0.34fr)
            minmax(0, 1fr) !important;
        gap: 10px;
        width: auto !important;
        max-width: 100% !important;
        padding: 10px 0 !important;
        border: 0 !important;
        border-bottom:
            1px solid #edf1f4 !important;
        text-align: left !important;
    }

    .posys-design-results-v2
    .posys-design-register-v1-table
    tbody td:last-child {
        border-bottom: 0 !important;
    }

    .posys-design-results-v2
    .posys-operational-open-v1 {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 44px;
    }

}


/* ============================================================
   POSYS DESIGN QUEUE LAYOUT V7
   Fit all 7 columns inside desktop results card
   ============================================================ */


/* ------------------------------------------------------------
   RESULTS CARD / TABLE WRAP
   ------------------------------------------------------------ */

.posys-design-results-v2 {
    overflow: hidden;
}

.posys-design-results-v2
.posys-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: visible;
}


/* ------------------------------------------------------------
   TABLE FIT
   ------------------------------------------------------------ */

.posys-design-results-v2
.posys-design-register-v1-table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
}


/* Item */

.posys-design-results-v2
.posys-design-register-v1-table
th:nth-child(1),
.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(1) {
    width: 20%;
}


/* Product / Service */

.posys-design-results-v2
.posys-design-register-v1-table
th:nth-child(2),
.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(2) {
    width: 22%;
}


/* Design Status */

.posys-design-results-v2
.posys-design-register-v1-table
th:nth-child(3),
.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(3) {
    width: 20%;
}


/* Designer */

.posys-design-results-v2
.posys-design-register-v1-table
th:nth-child(4),
.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(4) {
    width: 12%;
}


/* Required Date */

.posys-design-results-v2
.posys-design-register-v1-table
th:nth-child(5),
.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(5) {
    width: 11%;
}


/* Revision */

.posys-design-results-v2
.posys-design-register-v1-table
th:nth-child(6),
.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(6) {
    width: 6%;
    text-align: center;
}


/* Action */

.posys-design-results-v2
.posys-design-register-v1-table
th:nth-child(7),
.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(7) {
    width: 9%;
}


/* ------------------------------------------------------------
   GENERAL CELL BEHAVIOUR
   ------------------------------------------------------------ */

.posys-design-results-v2
.posys-design-register-v1-table
th,
.posys-design-results-v2
.posys-design-register-v1-table
td {
    min-width: 0 !important;
    max-width: none !important;
    box-sizing: border-box;
    overflow-wrap: normal;
    word-break: normal;
}


/* Keep item reference readable */

.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(1) {
    white-space: normal;
}

.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(1) strong {
    white-space: nowrap;
}


/* Product can wrap naturally */

.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(2) {
    overflow-wrap: anywhere;
}


/* ------------------------------------------------------------
   STATUS
   ------------------------------------------------------------ */

.posys-design-results-v2
.posys-design-register-v1-status {
    display: inline-flex;
    width: auto;
    max-width: 100%;
    box-sizing: border-box;
    white-space: normal;
    overflow-wrap: anywhere;
}


/* ------------------------------------------------------------
   DESIGNER
   ------------------------------------------------------------ */

.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(4) {
    overflow-wrap: anywhere;
}


/* ------------------------------------------------------------
   REQUIRED DATE
   ------------------------------------------------------------ */

.posys-design-results-v2
.posys-design-register-v1-due {
    min-width: 0;
}

.posys-design-results-v2
.posys-design-register-v1-due > strong {
    white-space: nowrap;
}


/* ------------------------------------------------------------
   REVISION
   ------------------------------------------------------------ */

.posys-design-results-v2
.posys-design-register-v1-revision {
    min-width: 42px;
    max-width: 50px;
    margin-left: auto;
    margin-right: auto;
}


/* ------------------------------------------------------------
   ACTION
   ------------------------------------------------------------ */

.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(7) {
    text-align: right;
}

.posys-design-results-v2
.posys-operational-open-v1 {
    display: inline-flex !important;
    width: auto !important;
    min-width: 82px !important;
    max-width: 100%;
    padding-left: 9px !important;
    padding-right: 9px !important;
    white-space: nowrap;
}


/* ------------------------------------------------------------
   MEDIUM DESKTOP
   ------------------------------------------------------------ */

@media (max-width: 1180px) {

    .posys-design-results-v2
    .posys-design-register-v1-table
    th,
    .posys-design-results-v2
    .posys-design-register-v1-table
    td {
        padding-left: 8px;
        padding-right: 8px;
    }

    .posys-design-results-v2
    .posys-design-register-v1-table {
        font-size: 0.94rem;
    }

    .posys-design-results-v2
    .posys-operational-open-v1 {
        min-width: 74px !important;
        font-size: 0.67rem;
    }

}


/* ------------------------------------------------------------
   MOBILE / SMALL TABLET
   Return to operational card system
   ------------------------------------------------------------ */

@media (max-width: 900px) {

    .posys-design-results-v2 {
        overflow: visible;
    }

    .posys-design-results-v2
    .posys-table-wrap {
        overflow: visible !important;
    }

    .posys-design-results-v2
    .posys-design-register-v1-table {
        display: block;
        width: 100% !important;
        min-width: 0 !important;
        table-layout: auto !important;
    }

    .posys-design-results-v2
    .posys-design-register-v1-table
    thead {
        display: none;
    }

    .posys-design-results-v2
    .posys-design-register-v1-table
    tbody {
        display: grid;
        gap: 12px;
    }

    .posys-design-results-v2
    .posys-design-register-v1-table
    tbody tr {
        display: grid !important;
        width: 100%;
        padding: 5px 14px !important;
        border: 1px solid #e0e6ec !important;
        border-radius: 14px !important;
        background: #ffffff !important;
        box-sizing: border-box;
    }

    .posys-design-results-v2
    .posys-design-register-v1-table
    tbody td {
        display: grid !important;
        grid-template-columns:
            minmax(105px, 0.34fr)
            minmax(0, 1fr) !important;
        gap: 10px;
        width: auto !important;
        max-width: 100% !important;
        padding: 10px 0 !important;
        border: 0 !important;
        border-bottom:
            1px solid #edf1f4 !important;
        text-align: left !important;
    }

    .posys-design-results-v2
    .posys-design-register-v1-table
    tbody td:last-child {
        border-bottom: 0 !important;
    }

    .posys-design-results-v2
    .posys-operational-open-v1 {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 44px;
    }

}


/* ============================================================
   POSYS DESIGN QUEUE LAYOUT V8
   Six columns - Revision moved to Item Detail
   ============================================================ */

.posys-design-results-v2
.posys-design-register-v1-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
}


/* Item */

.posys-design-results-v2
.posys-design-register-v1-table
th:nth-child(1),
.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(1) {
    width: 20%;
}


/* Product / Service */

.posys-design-results-v2
.posys-design-register-v1-table
th:nth-child(2),
.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(2) {
    width: 23%;
}


/* Design Status */

.posys-design-results-v2
.posys-design-register-v1-table
th:nth-child(3),
.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(3) {
    width: 21%;
}


/* Designer */

.posys-design-results-v2
.posys-design-register-v1-table
th:nth-child(4),
.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(4) {
    width: 13%;
}


/* Required Date */

.posys-design-results-v2
.posys-design-register-v1-table
th:nth-child(5),
.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(5) {
    width: 13%;
}


/* Action */

.posys-design-results-v2
.posys-design-register-v1-table
th:nth-child(6),
.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(6) {
    width: 10%;
    text-align: right;
}


/* Neutralise previous V7 seventh-column rules */

.posys-design-results-v2
.posys-design-register-v1-table
th:nth-child(7),
.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(7) {
    width: auto;
}


/* Keep all operational fields top aligned */

.posys-design-results-v2
.posys-design-register-v1-table
tbody td {
    vertical-align: top !important;
}


/* Action */

.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(6)
.posys-operational-open-v1 {
    display: inline-flex !important;
    width: auto !important;
    min-width: 96px !important;
    padding-left: 11px !important;
    padding-right: 11px !important;
    white-space: nowrap;
}


/* Medium desktop */

@media (max-width: 1180px) {

    .posys-design-results-v2
    .posys-design-register-v1-table
    th,
    .posys-design-results-v2
    .posys-design-register-v1-table
    td {
        padding-left: 9px;
        padding-right: 9px;
    }

}


/* Mobile cards remain unchanged */

@media (max-width: 900px) {

    .posys-design-results-v2
    .posys-design-register-v1-table
    td:nth-child(6) {
        text-align: left;
    }

    .posys-design-results-v2
    .posys-design-register-v1-table
    td:nth-child(6)
    .posys-operational-open-v1 {
        width: 100% !important;
        min-width: 0 !important;
    }

}


/* ============================================================
   POSYS DESIGN QUEUE OPEN BUTTON V9
   Compact action button
   ============================================================ */

.posys-design-results-v2
.posys-design-register-v1-table
td:nth-child(6)
.posys-operational-open-v1 {
    min-width: 76px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
}



/* ============================================================
   POSYS ITEM PRODUCTION LAYOUT V3
   Seven-column operational register
   ============================================================ */


/* ------------------------------------------------------------
   RESULTS CARD / TABLE
   ------------------------------------------------------------ */

.posys-production-results-v3 {
    overflow: hidden;
}

.posys-production-results-v3
.posys-production-register-v2-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: visible;
}

.posys-production-results-v3
.posys-production-table-v3 {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
}


/* ------------------------------------------------------------
   COLUMN BALANCE
   ------------------------------------------------------------ */

/* Item */

.posys-production-results-v3
.posys-production-table-v3
th:nth-child(1),
.posys-production-results-v3
.posys-production-table-v3
td:nth-child(1) {
    width: 18%;
}


/* Product / Service */

.posys-production-results-v3
.posys-production-table-v3
th:nth-child(2),
.posys-production-results-v3
.posys-production-table-v3
td:nth-child(2) {
    width: 20%;
}


/* Required Date */

.posys-production-results-v3
.posys-production-table-v3
th:nth-child(3),
.posys-production-results-v3
.posys-production-table-v3
td:nth-child(3) {
    width: 12%;
}


/* Stage */

.posys-production-results-v3
.posys-production-table-v3
th:nth-child(4),
.posys-production-results-v3
.posys-production-table-v3
td:nth-child(4) {
    width: 11%;
}


/* Detailed Status */

.posys-production-results-v3
.posys-production-table-v3
th:nth-child(5),
.posys-production-results-v3
.posys-production-table-v3
td:nth-child(5) {
    width: 17%;
}


/* Production Team */

.posys-production-results-v3
.posys-production-table-v3
th:nth-child(6),
.posys-production-results-v3
.posys-production-table-v3
td:nth-child(6) {
    width: 14%;
}


/* Action */

.posys-production-results-v3
.posys-production-table-v3
th:nth-child(7),
.posys-production-results-v3
.posys-production-table-v3
td:nth-child(7) {
    width: 8%;
}


/* ------------------------------------------------------------
   TOP ALIGN EVERYTHING
   ------------------------------------------------------------ */

.posys-production-results-v3
.posys-production-table-v3
tbody td {
    vertical-align: top !important;
    padding-top: 18px;
    padding-bottom: 18px;
}


/* ------------------------------------------------------------
   ITEM REFERENCE
   ------------------------------------------------------------ */

.posys-production-results-v3
.posys-global-item-reference {
    display: inline-block;
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
    line-height: 1.3;
}

.posys-production-results-v3
.posys-global-item-job-part,
.posys-production-results-v3
.posys-global-item-local-part {
    white-space: nowrap;
}


/* ------------------------------------------------------------
   PRODUCT / SERVICE
   ------------------------------------------------------------ */

.posys-production-results-v3
td[data-mobile-label="Product / Service"] > strong {
    display: block;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.posys-production-results-v3
.posys-production-register-v2-subtext {
    display: block;
    margin-top: 4px;
}


/* ------------------------------------------------------------
   REQUIRED DATE
   ------------------------------------------------------------ */

.posys-production-results-v3
.posys-production-register-v2-due {
    align-content: start;
    justify-content: start;
}

.posys-production-results-v3
.posys-production-register-v2-due > strong {
    white-space: nowrap;
}


/* ------------------------------------------------------------
   STAGE
   ------------------------------------------------------------ */

.posys-production-results-v3
.posys-item-production-stage {
    display: inline-flex;
    width: auto;
    max-width: 100%;
    white-space: normal;
    line-height: 1.25;
}


/* ------------------------------------------------------------
   DETAILED STATUS
   ------------------------------------------------------------ */

.posys-production-results-v3
.posys-production-register-v2-status {
    display: block;
    max-width: 100%;
    color: #26374a;
    font-size: 0.76rem;
    line-height: 1.3;
    overflow-wrap: anywhere;
}


/* ------------------------------------------------------------
   PRODUCTION TEAM
   ------------------------------------------------------------ */

.posys-production-results-v3
.posys-production-register-v2-team {
    display: grid;
    justify-items: start;
    gap: 6px;
}

.posys-production-results-v3
.posys-production-register-v2-team-member,
.posys-production-results-v3
.posys-production-register-v2-unassigned {
    max-width: 100%;
    overflow-wrap: anywhere;
}


/* ------------------------------------------------------------
   ACTION
   ------------------------------------------------------------ */

.posys-production-results-v3
.posys-production-table-v3
td:nth-child(7) {
    text-align: right;
}

.posys-production-results-v3
.posys-production-table-v3
td:nth-child(7)
.posys-operational-open-v1 {
    display: inline-flex !important;
    width: auto !important;
    min-width: 76px !important;
    max-width: 100%;
    padding-left: 12px !important;
    padding-right: 12px !important;
    white-space: nowrap;
}


/* ------------------------------------------------------------
   MEDIUM DESKTOP
   ------------------------------------------------------------ */

@media (max-width: 1180px) {

    .posys-production-results-v3
    .posys-production-table-v3
    th,
    .posys-production-results-v3
    .posys-production-table-v3
    td {
        padding-left: 8px;
        padding-right: 8px;
    }

    .posys-production-results-v3
    .posys-production-table-v3 {
        font-size: 0.93rem;
    }

    .posys-production-results-v3
    .posys-production-table-v3
    td:nth-child(7)
    .posys-operational-open-v1 {
        min-width: 68px !important;
        font-size: 0.68rem;
    }

}


/* ------------------------------------------------------------
   MOBILE / SMALL TABLET
   ------------------------------------------------------------ */

@media (max-width: 900px) {

    .posys-production-results-v3 {
        overflow: visible;
    }

    .posys-production-results-v3
    .posys-production-register-v2-table-wrap {
        overflow: visible !important;
    }

    .posys-production-results-v3
    .posys-production-table-v3 {
        display: block;
        width: 100% !important;
        min-width: 0 !important;
        table-layout: auto !important;
    }

    .posys-production-results-v3
    .posys-production-table-v3
    thead {
        display: none;
    }

    .posys-production-results-v3
    .posys-production-table-v3
    tbody {
        display: grid;
        gap: 12px;
    }

    .posys-production-results-v3
    .posys-production-table-v3
    tbody tr {
        display: grid !important;
        width: 100%;
        padding: 5px 14px !important;
        border: 1px solid #e0e6ec !important;
        border-radius: 14px !important;
        background: #ffffff !important;
        box-sizing: border-box;
    }

    .posys-production-results-v3
    .posys-production-table-v3
    tbody td {
        display: grid !important;
        grid-template-columns:
            minmax(110px, 0.34fr)
            minmax(0, 1fr) !important;
        gap: 10px;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding: 10px 0 !important;
        border: 0 !important;
        border-bottom:
            1px solid #edf1f4 !important;
        text-align: left !important;
        box-shadow: none !important;
    }

    .posys-production-results-v3
    .posys-production-table-v3
    tbody td:last-child {
        border-bottom: 0 !important;
    }

    .posys-production-results-v3
    .posys-production-table-v3
    td:nth-child(7) {
        text-align: left;
    }

    .posys-production-results-v3
    .posys-production-table-v3
    td:nth-child(7)
    .posys-operational-open-v1 {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 44px;
    }

}


/* ============================================================
   POSYS ITEM PRODUCTION LAYOUT V4
   Six-column Production Register
   Stage removed from Production page
   ============================================================ */

.posys-production-results-v4
.posys-production-table-v3 {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
}


/* Item */

.posys-production-results-v4
.posys-production-table-v3
th:nth-child(1),
.posys-production-results-v4
.posys-production-table-v3
td:nth-child(1) {
    width: 19%;
}


/* Product / Service */

.posys-production-results-v4
.posys-production-table-v3
th:nth-child(2),
.posys-production-results-v4
.posys-production-table-v3
td:nth-child(2) {
    width: 23%;
}


/* Required Date */

.posys-production-results-v4
.posys-production-table-v3
th:nth-child(3),
.posys-production-results-v4
.posys-production-table-v3
td:nth-child(3) {
    width: 14%;
}


/* Production Status */

.posys-production-results-v4
.posys-production-table-v3
th:nth-child(4),
.posys-production-results-v4
.posys-production-table-v3
td:nth-child(4) {
    width: 22%;
}


/* Production Team */

.posys-production-results-v4
.posys-production-table-v3
th:nth-child(5),
.posys-production-results-v4
.posys-production-table-v3
td:nth-child(5) {
    width: 14%;
}


/* Action */

.posys-production-results-v4
.posys-production-table-v3
th:nth-child(6),
.posys-production-results-v4
.posys-production-table-v3
td:nth-child(6) {
    width: 8%;
}


/* Top-align all operational fields */

.posys-production-results-v4
.posys-production-table-v3
tbody td {
    vertical-align: top !important;
}


/* Production status */

.posys-production-results-v4
td[data-mobile-label="Production Status"]
.posys-production-register-v2-status {
    display: block;
    max-width: 100%;
    font-size: 0.78rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}


/* Action */

.posys-production-results-v4
.posys-production-table-v3
td:nth-child(6) {
    text-align: right;
}

.posys-production-results-v4
.posys-production-table-v3
td:nth-child(6)
.posys-operational-open-v1 {
    min-width: 76px !important;
}


/* Remove influence from previous seven-column action rule */

.posys-production-results-v4
.posys-production-table-v3
td:nth-child(7),
.posys-production-results-v4
.posys-production-table-v3
th:nth-child(7) {
    width: auto;
}


/* Mobile */

@media (max-width: 900px) {

    .posys-production-results-v4
    .posys-production-table-v3
    td:nth-child(6) {
        text-align: left;
    }

    .posys-production-results-v4
    .posys-production-table-v3
    td:nth-child(6)
    .posys-operational-open-v1 {
        width: 100% !important;
        min-width: 0 !important;
    }

}


/* ============================================================
   POSYS ITEM PRODUCTION LAYOUT V5
   Final desktop column balance + action alignment
   ============================================================ */


/* ------------------------------------------------------------
   COLUMN BALANCE
   ------------------------------------------------------------ */

.posys-production-results-v5
.posys-production-table-v3
th:nth-child(1),
.posys-production-results-v5
.posys-production-table-v3
td:nth-child(1) {
    width: 17%;
}

.posys-production-results-v5
.posys-production-table-v3
th:nth-child(2),
.posys-production-results-v5
.posys-production-table-v3
td:nth-child(2) {
    width: 26%;
}

.posys-production-results-v5
.posys-production-table-v3
th:nth-child(3),
.posys-production-results-v5
.posys-production-table-v3
td:nth-child(3) {
    width: 14%;
}

.posys-production-results-v5
.posys-production-table-v3
th:nth-child(4),
.posys-production-results-v5
.posys-production-table-v3
td:nth-child(4) {
    width: 15%;
}

.posys-production-results-v5
.posys-production-table-v3
th:nth-child(5),
.posys-production-results-v5
.posys-production-table-v3
td:nth-child(5) {
    width: 16%;
}

.posys-production-results-v5
.posys-production-table-v3
th:nth-child(6),
.posys-production-results-v5
.posys-production-table-v3
td:nth-child(6) {
    width: 12%;
}


/* ------------------------------------------------------------
   ITEM REFERENCE
   ------------------------------------------------------------ */

.posys-production-results-v5
.posys-global-item-reference {
    display: grid;
    gap: 2px;
    justify-items: start;
    line-height: 1.25;
}

.posys-production-results-v5
.posys-global-item-job-part,
.posys-production-results-v5
.posys-global-item-local-part {
    display: block;
    white-space: nowrap;
}


/* ------------------------------------------------------------
   PRODUCTION STATUS
   ------------------------------------------------------------ */

.posys-production-results-v5
td[data-mobile-label="Production Status"] {
    padding-right: 16px;
}

.posys-production-results-v5
.posys-production-register-v2-status {
    display: block;
    max-width: 100%;
    line-height: 1.3;
}


/* ------------------------------------------------------------
   PRODUCTION TEAM
   ------------------------------------------------------------ */

.posys-production-results-v5
th:nth-child(5),
.posys-production-results-v5
td[data-mobile-label="Production Team"] {
    padding-left: 16px;
    padding-right: 18px;
}

.posys-production-results-v5
.posys-production-register-v2-team,
.posys-production-results-v5
.posys-production-register-v2-unassigned {
    max-width: 100%;
}


/* ------------------------------------------------------------
   ACTION
   ------------------------------------------------------------ */

.posys-production-results-v5
.posys-production-table-v3
th:nth-child(6) {
    text-align: right;
    padding-right: 18px;
}

.posys-production-results-v5
.posys-production-table-v3
td:nth-child(6) {
    text-align: right;
    padding-left: 14px;
    padding-right: 12px;
}

.posys-production-results-v5
.posys-production-table-v3
td:nth-child(6)
.posys-operational-open-v1 {
    display: inline-flex !important;
    width: auto !important;
    min-width: 76px !important;
    margin-left: auto;
    justify-content: center;
}


/* ------------------------------------------------------------
   MEDIUM DESKTOP
   ------------------------------------------------------------ */

@media (max-width: 1180px) {

    .posys-production-results-v5
    .posys-production-table-v3
    th,
    .posys-production-results-v5
    .posys-production-table-v3
    td {
        padding-left: 8px;
        padding-right: 8px;
    }

    .posys-production-results-v5
    .posys-production-table-v3
    th:nth-child(5),
    .posys-production-results-v5
    .posys-production-table-v3
    td:nth-child(5) {
        padding-left: 12px;
        padding-right: 12px;
    }

    .posys-production-results-v5
    .posys-production-table-v3
    th:nth-child(6),
    .posys-production-results-v5
    .posys-production-table-v3
    td:nth-child(6) {
        padding-left: 8px;
        padding-right: 8px;
    }

}


/* ------------------------------------------------------------
   MOBILE
   ------------------------------------------------------------ */

@media (max-width: 900px) {

    .posys-production-results-v5
    .posys-production-table-v3
    th:nth-child(1),
    .posys-production-results-v5
    .posys-production-table-v3
    td:nth-child(1),
    .posys-production-results-v5
    .posys-production-table-v3
    th:nth-child(2),
    .posys-production-results-v5
    .posys-production-table-v3
    td:nth-child(2),
    .posys-production-results-v5
    .posys-production-table-v3
    th:nth-child(3),
    .posys-production-results-v5
    .posys-production-table-v3
    td:nth-child(3),
    .posys-production-results-v5
    .posys-production-table-v3
    th:nth-child(4),
    .posys-production-results-v5
    .posys-production-table-v3
    td:nth-child(4),
    .posys-production-results-v5
    .posys-production-table-v3
    th:nth-child(5),
    .posys-production-results-v5
    .posys-production-table-v3
    td:nth-child(5),
    .posys-production-results-v5
    .posys-production-table-v3
    th:nth-child(6),
    .posys-production-results-v5
    .posys-production-table-v3
    td:nth-child(6) {
        width: auto !important;
    }

    .posys-production-results-v5
    td[data-mobile-label="Production Status"],
    .posys-production-results-v5
    td[data-mobile-label="Production Team"],
    .posys-production-results-v5
    td[data-mobile-label="Action"] {
        padding-left: 0 !important;
        padding-right: 0 !important;
        text-align: left !important;
    }

    .posys-production-results-v5
    .posys-production-table-v3
    td:nth-child(6)
    .posys-operational-open-v1 {
        width: 100% !important;
        min-width: 0 !important;
        margin-left: 0;
    }

}

/* ============================================================
   POSYS ITEM PRODUCTION LAYOUT V6
   Fix Production Status / Production Team header collision
   ============================================================ */

@media (min-width: 992px) {
    .posys-production-results-v5 table {
        width: 100%;
        table-layout: fixed;
    }

    .posys-production-results-v5 table th,
    .posys-production-results-v5 table td {
        vertical-align: top;
    }

    .posys-production-results-v5 table th {
        white-space: nowrap;
        padding-right: 24px;
    }

    .posys-production-results-v5 table td {
        padding-right: 24px;
    }

    /* Desktop column rebalance */
    .posys-production-results-v5 table th:nth-child(1),
    .posys-production-results-v5 table td:nth-child(1) {
        width: 16%;
    }

    .posys-production-results-v5 table th:nth-child(2),
    .posys-production-results-v5 table td:nth-child(2) {
        width: 24%;
    }

    .posys-production-results-v5 table th:nth-child(3),
    .posys-production-results-v5 table td:nth-child(3) {
        width: 14%;
    }

    .posys-production-results-v5 table th:nth-child(4),
    .posys-production-results-v5 table td:nth-child(4) {
        width: 18%;
        padding-right: 32px;
    }

    .posys-production-results-v5 table th:nth-child(5),
    .posys-production-results-v5 table td:nth-child(5) {
        width: 17%;
        padding-left: 10px;
    }

    .posys-production-results-v5 table th:nth-child(6),
    .posys-production-results-v5 table td:nth-child(6) {
        width: 11%;
        text-align: right;
        padding-right: 0;
    }

    .posys-production-results-v5 table th:nth-child(6) {
        white-space: nowrap;
    }

    .posys-production-results-v5 table td:nth-child(6) .posys-button,
    .posys-production-results-v5 table td:nth-child(6) a {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        min-width: 96px;
    }

    .posys-production-results-v5 table td:nth-child(5) .badge,
    .posys-production-results-v5 table td:nth-child(5) .posys-badge,
    .posys-production-results-v5 table td:nth-child(5) span {
        display: inline-flex;
        max-width: 100%;
    }
}


/* ============================================================
   POSYS PRODUCTION ITEM DETAIL LAYOUT V1
   Production-focused workspace
   ============================================================ */


/* ------------------------------------------------------------
   PAGE RHYTHM
   ------------------------------------------------------------ */

.posys-production-detail-layout-v1 {
    display: grid;
    gap: 18px;
}

.posys-production-detail-layout-v1
> section,
.posys-production-detail-layout-v1
> div {
    margin-top: 0;
    margin-bottom: 0;
}


/* ------------------------------------------------------------
   HERO
   ------------------------------------------------------------ */

.posys-production-detail-layout-v1
.posys-item-detail-hero {
    align-items: end;
    margin-bottom: 0;
}

.posys-production-detail-layout-v1
.posys-item-detail-hero h1 {
    margin-bottom: 4px;
}

.posys-production-detail-layout-v1
.posys-item-detail-local {
    margin-top: 0;
}


/* ------------------------------------------------------------
   THREE KPI SUMMARY
   Job Number | Status | Required Date
   ------------------------------------------------------------ */

.posys-production-detail-layout-v1
.posys-item-detail-kpis {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr)
        minmax(0, 1fr);
    gap: 12px;
}

.posys-production-detail-layout-v1
.posys-item-detail-kpi {
    min-width: 0;
    min-height: 82px;
    padding: 16px 18px;
}

.posys-production-detail-layout-v1
.posys-item-detail-kpi > span {
    display: block;
    margin-bottom: 7px;
}

.posys-production-detail-layout-v1
.posys-item-detail-kpi > strong {
    display: block;
    line-height: 1.25;
    overflow-wrap: anywhere;
}


/* ------------------------------------------------------------
   NEXT ACTION
   ------------------------------------------------------------ */

.posys-production-detail-layout-v1
.posys-item-v2-next-action {
    border-top: 3px solid #00aeef;
}

.posys-production-detail-layout-v1
.posys-item-v2-next-action
.posys-section-header {
    margin-bottom: 12px;
}

.posys-production-detail-layout-v1
.posys-item-v2-next-action
.posys-section-header p {
    margin-top: 7px;
    margin-bottom: 0;
}

.posys-production-detail-layout-v1
.posys-item-v2-action-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
}


/* Normal exception action */

.posys-production-detail-layout-v1
.posys-production-detail-hold-v1 {
    background: #ffffff !important;
    border-color: #9aa8b5 !important;
    color: #33475b !important;
}

.posys-production-detail-layout-v1
.posys-production-detail-hold-v1:hover {
    background: #f4f6f8 !important;
    border-color: #708090 !important;
    color: #1d3349 !important;
}


/* Destructive / cancellation action */

.posys-production-detail-layout-v1
.posys-production-detail-cancel-v1 {
    background: #ffffff !important;
    border-color: #ed1c24 !important;
    color: #c81920 !important;
}

.posys-production-detail-layout-v1
.posys-production-detail-cancel-v1:hover {
    background: #ed1c24 !important;
    border-color: #ed1c24 !important;
    color: #ffffff !important;
}


/* ------------------------------------------------------------
   INFORMATION + TEAM
   ------------------------------------------------------------ */

.posys-production-detail-layout-v1
.posys-item-detail-grid-aligned {
    align-items: stretch;
    gap: 16px;
}

.posys-production-detail-layout-v1
.posys-item-detail-grid-aligned
> .posys-card {
    height: 100%;
    margin-top: 0;
}


/* ------------------------------------------------------------
   CARD DENSITY
   ------------------------------------------------------------ */

.posys-production-detail-layout-v1
.posys-card {
    box-sizing: border-box;
}

.posys-production-detail-layout-v1
.posys-card
.posys-section-header {
    gap: 14px;
}

.posys-production-detail-layout-v1
.posys-item-detail-empty {
    line-height: 1.45;
}


/* ------------------------------------------------------------
   LOWER-PRIORITY TRACEABILITY
   Keep all audit information but visually quieter
   ------------------------------------------------------------ */

.posys-production-detail-layout-v1
.posys-item-detail-timeline,
.posys-production-detail-layout-v1
.posys-item-detail-record {
    margin-top: 0;
}


/* ------------------------------------------------------------
   TABLET
   ------------------------------------------------------------ */

@media (max-width: 980px) {

    .posys-production-detail-layout-v1
    .posys-item-detail-kpis {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

}


/* ------------------------------------------------------------
   MOBILE
   ------------------------------------------------------------ */

@media (max-width: 700px) {

    .posys-production-detail-layout-v1 {
        gap: 14px;
    }

    .posys-production-detail-layout-v1
    .posys-item-detail-kpis {
        grid-template-columns: 1fr;
        gap: 9px;
    }

    .posys-production-detail-layout-v1
    .posys-item-detail-kpi {
        min-height: 0;
        padding: 14px 15px;
    }

    .posys-production-detail-layout-v1
    .posys-item-detail-hero-actions {
        width: 100%;
    }

    .posys-production-detail-layout-v1
    .posys-item-detail-hero-actions
    .posys-button {
        flex: 1 1 auto;
    }

    .posys-production-detail-layout-v1
    .posys-item-v2-action-row {
        display: grid;
        grid-template-columns: 1fr;
    }

    .posys-production-detail-layout-v1
    .posys-item-v2-action-row
    .posys-button {
        width: 100%;
        min-height: 44px;
    }

}


/* ============================================================
   POSYS PRODUCTION ITEM DETAIL LAYOUT V2
   Design handoff card spacing + alignment
   ============================================================ */


/* ------------------------------------------------------------
   TWO-COLUMN DESIGN HANDOFF GRID
   ------------------------------------------------------------ */

.posys-production-detail-layout-v1
.posys-item-v3-design-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
    margin: 0;
}


/* Equal-height cards */

.posys-production-detail-layout-v1
.posys-item-v3-design-grid
> .posys-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-width: 0;
    margin: 0 !important;
    padding: 24px;
    box-sizing: border-box;
}


/* ------------------------------------------------------------
   SECTION HEADERS
   ------------------------------------------------------------ */

.posys-production-detail-layout-v1
.posys-item-v3-design-grid
.posys-section-header {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        auto;
    align-items: start;
    gap: 20px;
    margin: 0 0 20px;
}


/* Heading block */

.posys-production-detail-layout-v1
.posys-item-v3-design-grid
.posys-section-header
> div:first-child {
    min-width: 0;
}


/* Small heading label */

.posys-production-detail-layout-v1
.posys-item-v3-design-grid
.posys-dashboard-small-label {
    display: block;
    margin-bottom: 7px;
}


/* Card heading */

.posys-production-detail-layout-v1
.posys-item-v3-design-grid
.posys-section-header h2 {
    margin-top: 0;
    margin-bottom: 12px;
    line-height: 1.16;
}


/* Header description */

.posys-production-detail-layout-v1
.posys-item-v3-design-grid
.posys-section-header p {
    max-width: 620px;
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1.48;
}


/* ------------------------------------------------------------
   HEADER ACTION BUTTONS
   ------------------------------------------------------------ */

.posys-production-detail-layout-v1
.posys-item-v3-design-grid
.posys-section-header
> .posys-button {
    align-self: start;
    width: auto !important;
    min-width: max-content;
    max-width: none;
    min-height: 40px;
    padding-left: 16px;
    padding-right: 16px;
    white-space: nowrap;
}


/* Prevent Add Raw Working File from becoming tall/narrow */

.posys-production-detail-layout-v1
.posys-item-v3-design-grid
a[href*="working-file"] {
    width: auto;
    white-space: nowrap;
}


/* ------------------------------------------------------------
   EMPTY STATES / BODY CONTENT
   ------------------------------------------------------------ */

.posys-production-detail-layout-v1
.posys-item-v3-design-grid
.posys-item-detail-empty {
    margin-top: 0;
    line-height: 1.5;
}


/* Register-first-file action spacing */

.posys-production-detail-layout-v1
.posys-item-v3-design-grid
.posys-item-v3-empty-action {
    margin-top: 16px;
}

.posys-production-detail-layout-v1
.posys-item-v3-design-grid
.posys-item-v3-empty-action
.posys-button {
    width: auto !important;
    max-width: 100%;
    white-space: normal;
}


/* ------------------------------------------------------------
   ARTWORK / FILE LIST SPACING
   ------------------------------------------------------------ */

.posys-production-detail-layout-v1
.posys-item-v3-design-grid
.posys-item-v3-access-list,
.posys-production-detail-layout-v1
.posys-item-v3-design-grid
.posys-item-v3-production-list {
    margin-top: 0;
}

.posys-production-detail-layout-v1
.posys-item-v3-design-grid
.posys-item-v3-access-row,
.posys-production-detail-layout-v1
.posys-item-v3-design-grid
.posys-item-v3-production-row {
    margin-top: 0;
}


/* ------------------------------------------------------------
   SECOND ROW ALIGNMENT
   Artwork Approval / Production Files
   ------------------------------------------------------------ */

.posys-production-detail-layout-v1
.posys-item-v3-design-grid
> .posys-card:nth-child(3),
.posys-production-detail-layout-v1
.posys-item-v3-design-grid
> .posys-card:nth-child(4) {
    min-height: 230px;
}


/* ------------------------------------------------------------
   FOLLOWING FULL-WIDTH CARDS
   ------------------------------------------------------------ */

.posys-production-detail-layout-v1
.posys-item-v3-design-grid
+ .posys-card {
    margin-top: 0 !important;
}


/* Consistent gap after Design Handoff area */

.posys-production-detail-layout-v1
.posys-item-v3-design-grid
+ section.posys-card {
    margin-top: 0 !important;
}


/* ------------------------------------------------------------
   TABLET
   ------------------------------------------------------------ */

@media (max-width: 1050px) {

    .posys-production-detail-layout-v1
    .posys-item-v3-design-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .posys-production-detail-layout-v1
    .posys-item-v3-design-grid
    > .posys-card {
        padding: 20px;
    }

    .posys-production-detail-layout-v1
    .posys-item-v3-design-grid
    .posys-section-header {
        gap: 14px;
    }

}


/* ------------------------------------------------------------
   MOBILE
   ------------------------------------------------------------ */

@media (max-width: 760px) {

    .posys-production-detail-layout-v1
    .posys-item-v3-design-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .posys-production-detail-layout-v1
    .posys-item-v3-design-grid
    > .posys-card {
        min-height: 0 !important;
        padding: 18px;
    }

    .posys-production-detail-layout-v1
    .posys-item-v3-design-grid
    .posys-section-header {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-bottom: 16px;
    }

    .posys-production-detail-layout-v1
    .posys-item-v3-design-grid
    .posys-section-header
    > .posys-button {
        width: 100% !important;
        min-width: 0;
        white-space: normal;
    }

    .posys-production-detail-layout-v1
    .posys-item-v3-design-grid
    .posys-item-v3-empty-action
    .posys-button {
        width: 100% !important;
    }

}


/* ============================================================
   POSYS PRODUCTION ITEM DETAIL LAYOUT V3
   Lower governance / traceability compaction
   ============================================================ */


/* ------------------------------------------------------------
   GENERAL LOWER CARD RHYTHM
   ------------------------------------------------------------ */

.posys-production-detail-layout-v3
.posys-card {
    scroll-margin-top: 90px;
}


/* Keep lower full-width cards compact */

.posys-production-detail-layout-v3
.posys-item-v3-design-grid
~ .posys-card {
    padding-top: 22px;
    padding-bottom: 22px;
}


/* ------------------------------------------------------------
   SPECIFICATION CHANGE REQUESTS
   ------------------------------------------------------------ */

.posys-production-detail-layout-v3
.posys-card
.posys-section-header {
    margin-bottom: 16px;
}

.posys-production-detail-layout-v3
.posys-card
.posys-section-header h2 {
    margin-bottom: 6px;
}

.posys-production-detail-layout-v3
.posys-card
.posys-section-header p {
    margin-top: 6px;
    margin-bottom: 0;
    line-height: 1.45;
}


/* ------------------------------------------------------------
   CONTROLLED FILES
   ------------------------------------------------------------ */

.posys-production-detail-layout-v3
.posys-item-v2-file-list {
    display: grid;
    gap: 10px;
}

.posys-production-detail-layout-v3
.posys-item-v2-file-row {
    padding-top: 12px;
    padding-bottom: 12px;
}


/* ------------------------------------------------------------
   EMPTY STATES
   Avoid oversized cards with one line of text
   ------------------------------------------------------------ */

.posys-production-detail-layout-v3
.posys-item-detail-empty {
    min-height: 0;
    padding-top: 4px;
    padding-bottom: 4px;
}


/* ------------------------------------------------------------
   TIMELINE
   ------------------------------------------------------------ */

.posys-production-detail-layout-v3
.posys-item-detail-timeline,
.posys-production-detail-layout-v3
.posys-item-v2-timeline {
    margin-top: 0;
}

.posys-production-detail-layout-v3
.posys-item-v2-timeline-item,
.posys-production-detail-layout-v3
.posys-item-detail-timeline-item {
    padding-bottom: 14px;
}


/* ------------------------------------------------------------
   ITEM RECORD / TRACEABILITY
   ------------------------------------------------------------ */

.posys-production-detail-layout-v3
.posys-item-detail-record {
    margin-top: 0;
}

.posys-production-detail-layout-v3
.posys-item-detail-record
dl,
.posys-production-detail-layout-v3
.posys-item-detail-record
.posys-item-detail-list {
    margin-bottom: 0;
}


/* ------------------------------------------------------------
   WORKING FILE CARD
   ------------------------------------------------------------ */

/* Header Add button only appears once files exist;
   make it compact and horizontal. */

.posys-production-detail-layout-v3
.posys-item-v3-design-grid
a[href*="working-file"] {
    min-height: 40px;
}


/* Empty-state first-registration action */

.posys-production-detail-layout-v3
.posys-item-v3-empty-action {
    margin-top: 14px;
}


/* ------------------------------------------------------------
   DESKTOP SECTION SPACING
   ------------------------------------------------------------ */

@media (min-width: 761px) {

    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid {
        margin-bottom: 0;
    }

}


/* ------------------------------------------------------------
   MOBILE
   ------------------------------------------------------------ */

@media (max-width: 760px) {

    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    ~ .posys-card {
        padding-top: 18px;
        padding-bottom: 18px;
    }

    .posys-production-detail-layout-v3
    .posys-item-detail-empty {
        padding-top: 2px;
        padding-bottom: 2px;
    }

}


/* ============================================================
   POSYS JOB DETAIL ITEM LIST LAYOUT V1
   Compact operational register + direct Item Page access
   ============================================================ */


.posys-job-items-layout-v1 {
    padding: 24px;
}


.posys-job-items-layout-v1
.posys-product-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}


.posys-job-items-layout-v1
.posys-product-section-header h2 {
    margin: 0;
}


/* ------------------------------------------------------------
   DESKTOP REGISTER
   ------------------------------------------------------------ */

@media (min-width: 701px) {

    .posys-job-items-layout-v1
    .posys-products-table {
        width: 100%;
        table-layout: fixed;
    }


    .posys-job-items-layout-v1
    .posys-products-table th {
        padding: 11px 14px;
        font-size: 12px;
        line-height: 1.2;
        text-transform: uppercase;
        letter-spacing: 0.035em;
        white-space: nowrap;
    }


    .posys-job-items-layout-v1
    .posys-product-table-main-row
    > td {
        padding: 14px;
        vertical-align: top;
    }


    .posys-job-items-layout-v1
    .posys-products-table th:nth-child(1),
    .posys-job-items-layout-v1
    .posys-products-table td:nth-child(1) {
        width: 10%;
    }


    .posys-job-items-layout-v1
    .posys-products-table th:nth-child(2),
    .posys-job-items-layout-v1
    .posys-products-table td:nth-child(2) {
        width: 31%;
    }


    .posys-job-items-layout-v1
    .posys-products-table th:nth-child(3),
    .posys-job-items-layout-v1
    .posys-products-table td:nth-child(3) {
        width: 14%;
    }


    .posys-job-items-layout-v1
    .posys-products-table th:nth-child(4),
    .posys-job-items-layout-v1
    .posys-products-table td:nth-child(4) {
        width: 22%;
    }


    .posys-job-items-layout-v1
    .posys-products-table th:nth-child(5),
    .posys-job-items-layout-v1
    .posys-products-table td:nth-child(5) {
        width: 23%;
    }

}


/* ------------------------------------------------------------
   DIRECT ITEM LINKS
   ------------------------------------------------------------ */

.posys-job-item-reference-link,
.posys-job-item-product-link {
    display: inline-flex;
    align-items: center;
    color: var(--text);
    text-decoration: none;
    transition:
        color 0.15s ease,
        text-decoration-color 0.15s ease;
}


.posys-job-item-reference-link {
    font-weight: 800;
    white-space: nowrap;
}


.posys-job-item-product-link {
    font-weight: 750;
    line-height: 1.3;
}


.posys-job-item-reference-link:hover,
.posys-job-item-product-link:hover {
    color: var(--primary);
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* ------------------------------------------------------------
   PRODUCT / ASSIGNMENT INFORMATION
   ------------------------------------------------------------ */

.posys-job-items-layout-v1
.posys-job-item-product-cell small {
    display: inline-block;
    margin-top: 3px;
    line-height: 1.3;
}


.posys-job-items-layout-v1
.posys-job-item-product-cell br {
    line-height: 0.55;
}


/* ------------------------------------------------------------
   COMPACT STATUS
   ------------------------------------------------------------ */

.posys-job-items-layout-v1
.posys-product-table-main-row
.posys-stage-badge,
.posys-job-items-layout-v1
.posys-product-table-main-row
[class*="posys-stage-"] {
    max-width: 100%;
}


.posys-job-items-layout-v1
.posys-next-step {
    margin-top: 5px;
    font-size: 12px;
    line-height: 1.25;
    color: var(--muted);
}


.posys-job-items-layout-v1
.posys-next-step strong {
    color: var(--text);
}


/* ------------------------------------------------------------
   ACTIONS
   ------------------------------------------------------------ */

.posys-job-items-layout-v1
.posys-action-group {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
    align-items: start;
}


.posys-job-items-layout-v1
.posys-primary-product-action {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
}


.posys-job-items-layout-v1
.posys-primary-product-action
.button {
    width: 100%;
    min-height: 36px;
    padding: 7px 12px;
    justify-content: center;
}


.posys-job-items-layout-v1
.posys-view-item-button {
    width: 100%;
    min-height: 34px;
    padding: 6px 12px;
    justify-content: center;
}


.posys-job-items-layout-v1
.posys-product-secondary-actions {
    margin: 0;
}


.posys-job-items-layout-v1
.posys-product-secondary-actions
> summary {
    min-height: 34px;
    padding: 6px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}


/* ------------------------------------------------------------
   SPECIFICATION / STAGE HISTORY DETAIL
   ------------------------------------------------------------ */

.posys-job-items-layout-v1
.posys-product-detail-row td {
    padding-top: 0;
    padding-bottom: 12px;
}


.posys-job-items-layout-v1
.posys-product-detail {
    margin-top: 0;
    padding: 9px 14px;
    border-radius: 7px;
}


.posys-job-items-layout-v1
.posys-product-detail p {
    margin-top: 0;
    margin-bottom: 6px;
    line-height: 1.35;
}


.posys-job-items-layout-v1
.posys-product-detail details {
    margin-top: 5px;
}


.posys-job-items-layout-v1
.posys-product-detail summary {
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
}


/* ------------------------------------------------------------
   ROW SEPARATION
   ------------------------------------------------------------ */

.posys-job-items-layout-v1
.posys-product-table-main-row:not(:first-child)
td {
    border-top-color: var(--border);
}


.posys-job-items-layout-v1
.posys-product-table-main-row:hover
td {
    background: rgba(15, 113, 161, 0.025);
}


/* ------------------------------------------------------------
   TABLET
   ------------------------------------------------------------ */

@media (max-width: 1050px) and (min-width: 701px) {

    .posys-job-items-layout-v1 {
        padding: 20px;
    }


    .posys-job-items-layout-v1
    .posys-products-table th,
    .posys-job-items-layout-v1
    .posys-product-table-main-row
    > td {
        padding-left: 10px;
        padding-right: 10px;
    }


    .posys-job-items-layout-v1
    .posys-products-table th:nth-child(1),
    .posys-job-items-layout-v1
    .posys-products-table td:nth-child(1) {
        width: 11%;
    }


    .posys-job-items-layout-v1
    .posys-products-table th:nth-child(2),
    .posys-job-items-layout-v1
    .posys-products-table td:nth-child(2) {
        width: 28%;
    }


    .posys-job-items-layout-v1
    .posys-products-table th:nth-child(3),
    .posys-job-items-layout-v1
    .posys-products-table td:nth-child(3) {
        width: 13%;
    }


    .posys-job-items-layout-v1
    .posys-products-table th:nth-child(4),
    .posys-job-items-layout-v1
    .posys-products-table td:nth-child(4) {
        width: 23%;
    }


    .posys-job-items-layout-v1
    .posys-products-table th:nth-child(5),
    .posys-job-items-layout-v1
    .posys-products-table td:nth-child(5) {
        width: 25%;
    }

}


/* ------------------------------------------------------------
   MOBILE ITEM CARDS
   Existing table-to-card transformation remains authoritative.
   These rules refine spacing and hierarchy only.
   ------------------------------------------------------------ */

@media (max-width: 700px) {

    .posys-job-items-layout-v1 {
        padding: 16px 12px !important;
    }


    .posys-job-items-layout-v1
    .posys-product-section-header {
        align-items: stretch;
        margin-bottom: 14px;
    }


    .posys-job-items-layout-v1
    .posys-product-table-main-row {
        margin-bottom: 12px !important;
        border-radius: 10px;
    }


    .posys-job-items-layout-v1
    .posys-product-table-main-row
    > td {
        padding-top: 7px !important;
        padding-bottom: 7px !important;
    }


    .posys-job-items-layout-v1
    .posys-job-item-reference-link {
        font-size: 14px;
    }


    .posys-job-items-layout-v1
    .posys-job-item-product-link {
        font-size: 15px;
    }


    .posys-job-items-layout-v1
    .posys-next-step {
        margin-top: 4px;
    }


    .posys-job-items-layout-v1
    .posys-action-group {
        gap: 8px;
    }


    .posys-job-items-layout-v1
    .posys-primary-product-action
    .button,
    .posys-job-items-layout-v1
    .posys-view-item-button,
    .posys-job-items-layout-v1
    .posys-product-secondary-actions
    > summary {
        min-height: 42px;
    }


    .posys-job-items-layout-v1
    .posys-product-detail {
        padding: 10px 12px;
    }

}




/* ============================================================
   POSYS JOB DETAIL MOBILE LAYOUT V2
   Mobile-only refinement
   ============================================================ */


@media (max-width: 700px) {

    /* --------------------------------------------------------
       PAGE RHYTHM
       -------------------------------------------------------- */

    body {
        overflow-x: hidden;
    }


    .posys-main-content,
    main {
        min-width: 0;
    }


    .posys-main-content > h1,
    main > h1 {
        font-size: 27px !important;
        line-height: 1.15 !important;
        margin-top: 12px !important;
        margin-bottom: 14px !important;
        overflow-wrap: anywhere;
    }


    /* --------------------------------------------------------
       GENERAL CARDS ON JOB DETAIL
       -------------------------------------------------------- */

    .posys-card {
        border-radius: 12px;
    }


    /* Only tighten cards used on the job detail content area. */
    .posys-products-services-section,
    .posys-job-items-layout-v1 {
        padding: 16px 12px !important;
    }


    /* --------------------------------------------------------
       PRODUCTS / SERVICES HEADER
       -------------------------------------------------------- */

    .posys-job-items-layout-v1
    .posys-product-section-header {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        align-items: stretch !important;
        margin-bottom: 16px !important;
    }


    .posys-job-items-layout-v1
    .posys-product-section-header h2 {
        font-size: 21px !important;
        line-height: 1.2 !important;
        margin: 0 !important;
    }


    .posys-job-items-layout-v1
    .posys-add-product-button {
        width: 100% !important;
        min-height: 44px;
        display: flex !important;
        align-items: center;
        justify-content: center;
        text-align: center;
        white-space: normal !important;
    }


    /* --------------------------------------------------------
       REMOVE DESKTOP TABLE FEEL
       -------------------------------------------------------- */

    .posys-job-items-layout-v1
    .posys-table-wrap {
        overflow: visible !important;
        margin: 0 !important;
    }


    .posys-job-items-layout-v1
    .posys-products-table {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }


    .posys-job-items-layout-v1
    .posys-products-table thead {
        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;
    }


    .posys-job-items-layout-v1
    .posys-products-table tbody {
        display: grid !important;
        gap: 14px !important;
        width: 100% !important;
    }


    /* --------------------------------------------------------
       ITEM CARD
       -------------------------------------------------------- */

    .posys-job-items-layout-v1
    .posys-product-table-main-row {
        display: grid !important;
        grid-template-columns:
            minmax(0, 1fr)
            auto !important;
        grid-template-areas:
            "item status"
            "product product"
            "date date"
            "actions actions" !important;

        gap: 7px 12px !important;

        width: 100% !important;
        margin: 0 !important;

        padding: 15px !important;

        box-sizing: border-box !important;

        border: 1px solid var(--border) !important;
        border-radius: 12px !important;

        background: #fff !important;
    }


    .posys-job-items-layout-v1
    .posys-product-table-main-row
    > td {
        display: block !important;
        width: auto !important;
        padding: 0 !important;
        border: 0 !important;
        min-width: 0 !important;
    }


    /* Item reference */
    .posys-job-items-layout-v1
    .posys-product-table-main-row
    > td:nth-child(1) {
        grid-area: item;
        align-self: center;
    }


    .posys-job-items-layout-v1
    .posys-job-item-reference-link {
        font-size: 13px !important;
        line-height: 1.2;
        font-weight: 800;
        letter-spacing: 0.01em;
    }


    /* Product */
    .posys-job-items-layout-v1
    .posys-product-table-main-row
    > td:nth-child(2) {
        grid-area: product;
        padding-top: 2px !important;
    }


    .posys-job-items-layout-v1
    .posys-job-item-product-link {
        display: inline !important;
        font-size: 17px !important;
        line-height: 1.3 !important;
        font-weight: 750 !important;
    }


    .posys-job-items-layout-v1
    .posys-job-item-product-cell small {
        display: block !important;
        margin-top: 4px !important;
        line-height: 1.3 !important;
        font-size: 12px !important;
    }


    .posys-job-items-layout-v1
    .posys-job-item-product-cell br {
        display: none !important;
    }


    /* Required date */
    .posys-job-items-layout-v1
    .posys-product-table-main-row
    > td:nth-child(3) {
        grid-area: date;
        font-size: 12px;
        color: var(--muted);
        padding-top: 3px !important;
    }


    .posys-job-items-layout-v1
    .posys-product-table-main-row
    > td:nth-child(3)::before {
        content: "Required: ";
        font-weight: 700;
        color: var(--text);
    }


    /* Status */
    .posys-job-items-layout-v1
    .posys-product-table-main-row
    > td:nth-child(4) {
        grid-area: status;
        justify-self: end;
        align-self: start;
        max-width: 155px;
    }


    .posys-job-items-layout-v1
    .posys-product-table-main-row
    > td:nth-child(4)
    [class*="posys-stage-"] {
        max-width: 155px !important;
        min-width: 0 !important;
    }


    /* Make compact status badge text behave on phones */
    .posys-job-items-layout-v1
    .posys-product-table-main-row
    > td:nth-child(4)
    small,
    .posys-job-items-layout-v1
    .posys-product-table-main-row
    > td:nth-child(4)
    span {
        overflow-wrap: anywhere;
    }


    /* --------------------------------------------------------
       ITEM ACTIONS
       -------------------------------------------------------- */

    .posys-job-items-layout-v1
    .posys-product-table-main-row
    > td:nth-child(5) {
        grid-area: actions;
        padding-top: 7px !important;
    }


    .posys-job-items-layout-v1
    .posys-action-group {
        display: grid !important;
        grid-template-columns:
            minmax(0, 1fr)
            minmax(110px, 0.42fr) !important;

        gap: 8px !important;
        align-items: stretch !important;
    }


    .posys-job-items-layout-v1
    .posys-view-item-button {
        width: 100% !important;
        min-height: 44px !important;
        margin: 0 !important;

        display: flex !important;
        align-items: center;
        justify-content: center;

        font-size: 14px !important;
    }


    .posys-job-items-layout-v1
    .posys-product-secondary-actions {
        width: 100% !important;
        margin: 0 !important;
    }


    .posys-job-items-layout-v1
    .posys-product-secondary-actions
    > summary {
        width: 100% !important;
        min-height: 44px !important;

        box-sizing: border-box !important;

        display: flex !important;
        align-items: center;
        justify-content: center;

        padding: 8px 10px !important;

        font-size: 13px !important;
    }


    /* --------------------------------------------------------
       SPECIFICATION DETAIL
       Make it visually belong to the item above.
       -------------------------------------------------------- */

    .posys-job-items-layout-v1
    .posys-product-detail-row {
        display: block !important;

        margin:
            -6px
            7px
            0 !important;

        width: auto !important;
    }


    .posys-job-items-layout-v1
    .posys-product-detail-row
    > td {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
    }


    .posys-job-items-layout-v1
    .posys-product-detail-spacer {
        display: none !important;
    }


    .posys-job-items-layout-v1
    .posys-product-detail {
        width: 100% !important;

        margin: 0 !important;
        padding: 11px 12px !important;

        box-sizing: border-box !important;

        border-radius:
            0
            0
            10px
            10px !important;

        font-size: 13px;
    }


    .posys-job-items-layout-v1
    .posys-product-detail p {
        margin: 0 0 7px !important;
        line-height: 1.4 !important;
    }


    .posys-job-items-layout-v1
    .posys-product-detail
    strong {
        font-weight: 750;
    }


    .posys-job-items-layout-v1
    .posys-product-detail
    details {
        margin-top: 7px !important;
    }


    .posys-job-items-layout-v1
    .posys-product-detail
    summary {
        min-height: 34px;

        display: flex;
        align-items: center;

        font-size: 12px !important;
    }


    /* --------------------------------------------------------
       MOBILE ACTION MENU
       -------------------------------------------------------- */

    .posys-job-items-layout-v1
    .posys-product-secondary-actions-menu {
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }


    .posys-job-items-layout-v1
    .posys-product-secondary-actions-menu
    .button {
        width: 100% !important;
        min-height: 40px !important;
    }


}


/* ------------------------------------------------------------
   SMALL PHONES
   ------------------------------------------------------------ */

@media (max-width: 430px) {

    .posys-job-items-layout-v1
    .posys-product-table-main-row {
        grid-template-columns: 1fr !important;

        grid-template-areas:
            "item"
            "product"
            "status"
            "date"
            "actions" !important;

        gap: 7px !important;
    }


    .posys-job-items-layout-v1
    .posys-product-table-main-row
    > td:nth-child(4) {
        justify-self: start !important;
        max-width: 100%;
    }


    .posys-job-items-layout-v1
    .posys-product-table-main-row
    > td:nth-child(4)
    [class*="posys-stage-"] {
        max-width: 100% !important;
    }


    .posys-job-items-layout-v1
    .posys-action-group {
        grid-template-columns: 1fr !important;
    }


    .posys-job-items-layout-v1
    .posys-product-detail-row {
        margin:
            -7px
            5px
            0 !important;
    }

}




/* ============================================================
   POSYS JOB ITEM MOBILE CARD V3
   Authoritative mobile layout for items inside Job Detail
   ============================================================ */


@media (max-width: 700px) {

    /* --------------------------------------------------------
       SECTION
       -------------------------------------------------------- */

    .posys-job-items-mobile-v3 {
        width: 100% !important;
        max-width: 100% !important;
        padding: 15px 12px !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }


    .posys-job-items-mobile-v3
    .posys-product-section-header {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        margin-bottom: 16px !important;
    }


    .posys-job-items-mobile-v3
    .posys-product-section-header h2 {
        margin: 0 !important;
        font-size: 1.25rem !important;
        line-height: 1.25 !important;
    }


    .posys-job-items-mobile-v3
    .posys-add-product-button {
        width: 100% !important;
        min-height: 44px !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }


    /* --------------------------------------------------------
       REMOVE TABLE BEHAVIOUR
       -------------------------------------------------------- */

    .posys-job-items-mobile-v3
    .posys-table-wrap {
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        margin: 0 !important;
    }


    .posys-job-items-mobile-v3
    table.posys-products-table {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: auto !important;
        border: 0 !important;
        background: transparent !important;
    }


    .posys-job-items-mobile-v3
    .posys-products-table thead {
        display: none !important;
    }


    .posys-job-items-mobile-v3
    .posys-products-table tbody {
        display: block !important;
        width: 100% !important;
    }


    /* --------------------------------------------------------
       MAIN ITEM CARD
       -------------------------------------------------------- */

    .posys-job-items-mobile-v3
    tr.posys-product-table-main-row {
        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr)
            auto !important;

        grid-template-areas:
            "reference status"
            "product product"
            "date date"
            "actions actions" !important;

        width: 100% !important;
        max-width: 100% !important;

        gap: 8px 12px !important;

        margin:
            0
            0
            0 !important;

        padding:
            14px
            14px
            13px !important;

        box-sizing: border-box !important;

        border:
            1px solid
            #dce4ea !important;

        border-radius:
            12px
            12px
            0
            0 !important;

        background:
            #ffffff !important;

        box-shadow:
            0
            3px
            10px
            rgba(15, 42, 61, 0.05) !important;
    }


    .posys-job-items-mobile-v3
    tr.posys-product-table-main-row
    > td {
        display: block !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;

        padding: 0 !important;

        border: 0 !important;

        background:
            transparent !important;

        text-align:
            left !important;
    }


    /* Remove old generated mobile labels. */

    .posys-job-items-mobile-v3
    tr.posys-product-table-main-row
    > td::before {
        content: none !important;
        display: none !important;
    }


    /* --------------------------------------------------------
       ITEM NUMBER
       -------------------------------------------------------- */

    .posys-job-items-mobile-v3
    .posys-job-item-reference-cell {
        grid-area: reference !important;
        align-self: center !important;
    }


    .posys-job-items-mobile-v3
    .posys-job-item-reference-link {
        display: inline-flex !important;

        align-items: center !important;

        margin: 0 !important;

        font-size: 0.79rem !important;
        line-height: 1.2 !important;
        font-weight: 800 !important;

        letter-spacing:
            0.025em !important;

        color:
            #31536a !important;

        white-space:
            nowrap !important;

        text-decoration:
            none !important;
    }


    /* --------------------------------------------------------
       STATUS
       -------------------------------------------------------- */

    .posys-job-items-mobile-v3
    tr.posys-product-table-main-row
    > td:nth-child(4) {
        grid-area: status !important;

        justify-self:
            end !important;

        align-self:
            start !important;

        width:
            auto !important;

        max-width:
            155px !important;
    }


    .posys-job-items-mobile-v3
    tr.posys-product-table-main-row
    > td:nth-child(4)
    > * {
        max-width:
            155px !important;
    }


    .posys-job-items-mobile-v3
    tr.posys-product-table-main-row
    > td:nth-child(4)
    [class*="posys-stage-"] {
        min-width:
            0 !important;

        max-width:
            155px !important;

        margin:
            0 !important;

        padding:
            6px
            9px !important;

        font-size:
            0.68rem !important;

        line-height:
            1.15 !important;

        white-space:
            normal !important;

        text-align:
            center !important;
    }


    /* --------------------------------------------------------
       PRODUCT / SERVICE
       -------------------------------------------------------- */

    .posys-job-items-mobile-v3
    .posys-job-item-product-cell {
        grid-area: product !important;

        padding-top:
            3px !important;
    }


    .posys-job-items-mobile-v3
    .posys-job-item-product-link {
        display: block !important;

        margin:
            0
            0
            4px !important;

        font-size:
            1.02rem !important;

        line-height:
            1.3 !important;

        font-weight:
            800 !important;

        color:
            #172b3a !important;

        text-decoration:
            none !important;

        overflow-wrap:
            anywhere !important;
    }


    .posys-job-items-mobile-v3
    .posys-job-item-product-cell br {
        display:
            none !important;
    }


    .posys-job-items-mobile-v3
    .posys-job-item-product-cell small {
        display:
            block !important;

        margin:
            2px
            0
            0 !important;

        color:
            #607080 !important;

        font-size:
            0.76rem !important;

        line-height:
            1.35 !important;

        font-weight:
            500 !important;
    }


    .posys-job-items-mobile-v3
    .posys-job-item-product-cell small strong {
        color:
            #405365 !important;

        font-weight:
            750 !important;
    }


    /* --------------------------------------------------------
       REQUIRED DATE
       -------------------------------------------------------- */

    .posys-job-items-mobile-v3
    tr.posys-product-table-main-row
    > td:nth-child(3) {
        grid-area:
            date !important;

        display:
            flex !important;

        gap:
            5px !important;

        align-items:
            baseline !important;

        padding-top:
            3px !important;

        font-size:
            0.77rem !important;

        line-height:
            1.3 !important;

        color:
            #576979 !important;
    }


    .posys-job-items-mobile-v3
    tr.posys-product-table-main-row
    > td:nth-child(3)::before {
        content:
            "Required:" !important;

        display:
            inline !important;

        color:
            #31485a !important;

        font-size:
            inherit !important;

        font-weight:
            750 !important;

        letter-spacing:
            0 !important;

        text-transform:
            none !important;
    }


    /* --------------------------------------------------------
       ACTIONS
       -------------------------------------------------------- */

    .posys-job-items-mobile-v3
    tr.posys-product-table-main-row
    > td:nth-child(5) {
        grid-area:
            actions !important;

        padding-top:
            5px !important;
    }


    .posys-job-items-mobile-v3
    .posys-action-group {
        display:
            grid !important;

        grid-template-columns:
            minmax(0, 1fr)
            118px !important;

        gap:
            8px !important;

        width:
            100% !important;

        margin:
            0 !important;
    }


    .posys-job-items-mobile-v3
    .posys-view-item-button {
        width:
            100% !important;

        min-width:
            0 !important;

        min-height:
            42px !important;

        margin:
            0 !important;

        display:
            flex !important;

        align-items:
            center !important;

        justify-content:
            center !important;

        box-sizing:
            border-box !important;
    }


    .posys-job-items-mobile-v3
    .posys-product-secondary-actions {
        width:
            100% !important;

        max-width:
            100% !important;

        margin:
            0 !important;
    }


    .posys-job-items-mobile-v3
    .posys-product-secondary-actions
    > summary {
        width:
            100% !important;

        min-height:
            42px !important;

        display:
            flex !important;

        align-items:
            center !important;

        justify-content:
            center !important;

        box-sizing:
            border-box !important;

        padding:
            7px
            10px !important;

        margin:
            0 !important;

        font-size:
            0.78rem !important;

        white-space:
            nowrap !important;
    }


    .posys-job-items-mobile-v3
    .posys-product-secondary-actions-menu {
        width:
            100% !important;

        min-width:
            0 !important;

        max-width:
            100% !important;

        box-sizing:
            border-box !important;
    }


    .posys-job-items-mobile-v3
    .posys-product-secondary-actions-menu
    .button {
        width:
            100% !important;

        max-width:
            100% !important;

        box-sizing:
            border-box !important;
    }


    /* --------------------------------------------------------
       SPECIFICATION / HISTORY
       -------------------------------------------------------- */

    .posys-job-items-mobile-v3
    tr.posys-product-detail-row {
        display:
            block !important;

        width:
            100% !important;

        max-width:
            100% !important;

        margin:
            0
            0
            14px !important;

        padding:
            0 !important;

        box-sizing:
            border-box !important;

        border:
            0 !important;

        background:
            transparent !important;
    }


    .posys-job-items-mobile-v3
    tr.posys-product-detail-row
    > td {
        display:
            block !important;

        width:
            100% !important;

        max-width:
            100% !important;

        padding:
            0 !important;

        border:
            0 !important;
    }


    .posys-job-items-mobile-v3
    .posys-product-detail-spacer {
        display:
            none !important;
    }


    .posys-job-items-mobile-v3
    .posys-product-detail {
        width:
            100% !important;

        max-width:
            100% !important;

        margin:
            0 !important;

        padding:
            10px
            13px
            11px !important;

        box-sizing:
            border-box !important;

        border:
            1px solid
            #dce4ea !important;

        border-top:
            0 !important;

        border-radius:
            0
            0
            12px
            12px !important;

        background:
            #f8fafb !important;

        box-shadow:
            0
            3px
            10px
            rgba(15, 42, 61, 0.04) !important;

        overflow-wrap:
            anywhere !important;
    }


    .posys-job-items-mobile-v3
    .posys-product-detail-spec {
        font-size:
            0.76rem !important;

        line-height:
            1.4 !important;

        color:
            #526574 !important;
    }


    .posys-job-items-mobile-v3
    .posys-product-detail-spec strong {
        color:
            #31485a !important;
    }


    .posys-job-items-mobile-v3
    .posys-item-stage-audit {
        margin:
            7px
            0
            0 !important;
    }


    .posys-job-items-mobile-v3
    .posys-item-stage-audit
    > summary {
        min-height:
            34px !important;

        display:
            flex !important;

        align-items:
            center !important;

        padding:
            0 !important;

        color:
            #31536a !important;

        font-size:
            0.75rem !important;

        font-weight:
            750 !important;
    }


}


/* ============================================================
   VERY SMALL PHONES
   ============================================================ */


@media (max-width: 430px) {

    .posys-job-items-mobile-v3
    tr.posys-product-table-main-row {
        grid-template-columns:
            minmax(0, 1fr) !important;

        grid-template-areas:
            "reference"
            "product"
            "status"
            "date"
            "actions" !important;

        gap:
            7px !important;
    }


    .posys-job-items-mobile-v3
    tr.posys-product-table-main-row
    > td:nth-child(4) {
        justify-self:
            start !important;

        max-width:
            100% !important;
    }


    .posys-job-items-mobile-v3
    tr.posys-product-table-main-row
    > td:nth-child(4)
    > * {
        max-width:
            100% !important;
    }


    .posys-job-items-mobile-v3
    .posys-action-group {
        grid-template-columns:
            minmax(0, 1fr) !important;
    }


    .posys-job-items-mobile-v3
    .posys-product-secondary-actions
    > summary {
        min-height:
            40px !important;
    }

}




/* ============================================================
   POSYS JOB ITEM MOBILE CARD V4
   Icon sizing + specification layout correction
   ============================================================ */


@media (max-width: 700px) {

    /* --------------------------------------------------------
       ICON PROTECTION
       Prevent controls from shrinking icons to almost zero.
       -------------------------------------------------------- */

    .posys-job-items-mobile-v3
    .button
    svg,

    .posys-job-items-mobile-v3
    button
    svg,

    .posys-job-items-mobile-v3
    summary
    svg,

    .posys-job-items-mobile-v3
    .posys-product-secondary-actions
    svg,

    .posys-job-items-mobile-v3
    .posys-item-stage-audit
    svg {
        display: block !important;

        width: 18px !important;
        height: 18px !important;

        min-width: 18px !important;
        min-height: 18px !important;

        max-width: 18px !important;
        max-height: 18px !important;

        flex:
            0
            0
            18px !important;

        overflow:
            visible !important;
    }


    .posys-job-items-mobile-v3
    .button
    [class*="icon"],

    .posys-job-items-mobile-v3
    button
    [class*="icon"],

    .posys-job-items-mobile-v3
    summary
    [class*="icon"] {
        width: 18px !important;
        height: 18px !important;

        min-width: 18px !important;
        min-height: 18px !important;

        flex:
            0
            0
            18px !important;
    }


    /* Keep button contents aligned without crushing icons. */

    .posys-job-items-mobile-v3
    .button,

    .posys-job-items-mobile-v3
    button,

    .posys-job-items-mobile-v3
    .posys-product-secondary-actions
    > summary {
        gap: 7px !important;
    }


    /* --------------------------------------------------------
       ITEM CARD / DETAIL CONNECTION
       -------------------------------------------------------- */

    .posys-job-items-mobile-v3
    tr.posys-product-table-main-row {
        position: relative !important;

        margin-bottom:
            0 !important;

        border-radius:
            12px
            12px
            0
            0 !important;

        box-shadow:
            none !important;
    }


    .posys-job-items-mobile-v3
    tr.posys-product-detail-row {
        display:
            block !important;

        width:
            100% !important;

        max-width:
            100% !important;

        min-width:
            0 !important;

        margin:
            0
            0
            15px !important;

        padding:
            0 !important;

        border:
            0 !important;

        box-sizing:
            border-box !important;
    }


    .posys-job-items-mobile-v3
    tr.posys-product-detail-row
    > td {
        display:
            block !important;

        width:
            100% !important;

        max-width:
            100% !important;

        min-width:
            0 !important;

        margin:
            0 !important;

        padding:
            0 !important;

        border:
            0 !important;

        box-sizing:
            border-box !important;
    }


    .posys-job-items-mobile-v3
    .posys-product-detail-spacer {
        display:
            none !important;
    }


    /* --------------------------------------------------------
       SPECIFICATION PANEL
       -------------------------------------------------------- */

    .posys-job-items-mobile-v3
    .posys-product-detail {
        display:
            block !important;

        width:
            100% !important;

        max-width:
            100% !important;

        min-width:
            0 !important;

        margin:
            0 !important;

        padding:
            12px
            14px
            13px !important;

        box-sizing:
            border-box !important;

        border:
            1px solid
            #dce4ea !important;

        border-top:
            0 !important;

        border-radius:
            0
            0
            12px
            12px !important;

        background:
            #f7f9fb !important;

        box-shadow:
            0
            4px
            12px
            rgba(15, 42, 61, 0.045) !important;

        overflow:
            visible !important;

        overflow-wrap:
            anywhere !important;
    }


    /* Specification heading on its own line. */

    .posys-job-items-mobile-v3
    .posys-product-detail-spec {
        display:
            block !important;

        width:
            100% !important;

        max-width:
            100% !important;

        min-width:
            0 !important;

        margin:
            0 !important;

        padding:
            0 !important;

        color:
            #536676 !important;

        font-size:
            0.79rem !important;

        line-height:
            1.5 !important;

        font-weight:
            500 !important;

        white-space:
            normal !important;

        overflow-wrap:
            anywhere !important;
    }


    .posys-job-items-mobile-v3
    .posys-product-detail-spec
    strong {
        display:
            block !important;

        margin:
            0
            0
            5px !important;

        color:
            #243b4c !important;

        font-size:
            0.73rem !important;

        line-height:
            1.2 !important;

        font-weight:
            800 !important;

        letter-spacing:
            0.045em !important;

        text-transform:
            uppercase !important;
    }


    /* --------------------------------------------------------
       PRODUCTION CALCULATION
       -------------------------------------------------------- */

    .posys-job-items-mobile-v3
    .posys-item-production-summary {
        display:
            grid !important;

        grid-template-columns:
            minmax(0, 1fr) !important;

        gap:
            6px !important;

        width:
            100% !important;

        max-width:
            100% !important;

        min-width:
            0 !important;

        margin:
            10px
            0
            0 !important;

        padding:
            10px
            0
            0 !important;

        border-top:
            1px solid
            #e1e7ec !important;

        box-sizing:
            border-box !important;
    }


    .posys-job-items-mobile-v3
    .posys-item-production-summary
    > div {
        display:
            block !important;

        width:
            100% !important;

        max-width:
            100% !important;

        min-width:
            0 !important;

        margin:
            0 !important;

        padding:
            0 !important;

        font-size:
            0.77rem !important;

        line-height:
            1.45 !important;

        white-space:
            normal !important;

        overflow-wrap:
            anywhere !important;
    }


    .posys-job-items-mobile-v3
    .posys-item-production-summary
    strong {
        font-weight:
            750 !important;
    }


    .posys-job-items-mobile-v3
    .posys-production-status {
        margin-top:
            2px !important;

        padding:
            7px
            9px !important;

        border-radius:
            7px !important;

        box-sizing:
            border-box !important;
    }


    /* --------------------------------------------------------
       STAGE HISTORY
       -------------------------------------------------------- */

    .posys-job-items-mobile-v3
    .posys-item-stage-audit {
        display:
            block !important;

        width:
            100% !important;

        max-width:
            100% !important;

        min-width:
            0 !important;

        margin:
            10px
            0
            0 !important;

        padding:
            9px
            0
            0 !important;

        border-top:
            1px solid
            #e1e7ec !important;
    }


    .posys-job-items-mobile-v3
    .posys-item-stage-audit
    > summary {
        display:
            flex !important;

        align-items:
            center !important;

        justify-content:
            flex-start !important;

        gap:
            7px !important;

        width:
            100% !important;

        min-height:
            36px !important;

        margin:
            0 !important;

        padding:
            0 !important;

        box-sizing:
            border-box !important;

        color:
            #31536a !important;

        font-size:
            0.76rem !important;

        line-height:
            1.3 !important;

        font-weight:
            750 !important;

        cursor:
            pointer !important;
    }


    /* If stage history is expanded, allow its internal tables
       to scroll instead of widening the whole mobile page. */

    .posys-job-items-mobile-v3
    .posys-item-stage-audit-body
    .posys-table-wrap {
        display:
            block !important;

        width:
            100% !important;

        max-width:
            100% !important;

        overflow-x:
            auto !important;

        overflow-y:
            hidden !important;

        -webkit-overflow-scrolling:
            touch;
    }


    .posys-job-items-mobile-v3
    .posys-item-stage-audit-body
    .posys-stage-table {
        min-width:
            700px !important;
    }


}


/* ------------------------------------------------------------
   SMALL PHONE FINE TUNING
   ------------------------------------------------------------ */

@media (max-width: 430px) {

    .posys-job-items-mobile-v3
    .posys-product-detail {
        padding:
            11px
            12px
            12px !important;
    }


    .posys-job-items-mobile-v3
    .posys-product-detail-spec {
        font-size:
            0.77rem !important;
    }


    .posys-job-items-mobile-v3
    .button
    svg,

    .posys-job-items-mobile-v3
    button
    svg,

    .posys-job-items-mobile-v3
    summary
    svg {
        width:
            17px !important;

        height:
            17px !important;

        min-width:
            17px !important;

        min-height:
            17px !important;

        max-width:
            17px !important;

        max-height:
            17px !important;

        flex:
            0
            0
            17px !important;
    }

}




/* ============================================================
   POSYS JOB ITEM MOBILE V5
   Stage / Status icon visibility correction
   ============================================================ */

@media (max-width: 700px) {

    /* Give the status badge enough room for icon + text. */

    .posys-job-items-mobile-v3
    tr.posys-product-table-main-row
    > td:nth-child(4) {
        min-width: 0 !important;
        max-width: 180px !important;
    }


    .posys-job-items-mobile-v3
    tr.posys-product-table-main-row
    > td:nth-child(4)
    .posys-stage-badge {
        display: inline-flex !important;

        align-items: center !important;

        justify-content: flex-start !important;

        gap: 7px !important;

        width: auto !important;

        min-width: 0 !important;

        max-width: 180px !important;

        padding: 6px 9px !important;

        box-sizing: border-box !important;

        overflow: visible !important;
    }


    /* --------------------------------------------------------
       STAGE ICON
       Never allow flex/grid compression to hide it.
       -------------------------------------------------------- */

    .posys-job-items-mobile-v3
    .posys-stage-badge
    .posys-stage-icon {
        display: inline-flex !important;

        align-items: center !important;

        justify-content: center !important;

        flex: 0 0 26px !important;

        flex-shrink: 0 !important;

        width: 26px !important;

        height: 26px !important;

        min-width: 26px !important;

        min-height: 26px !important;

        max-width: 26px !important;

        max-height: 26px !important;

        margin: 0 !important;

        padding: 0 !important;

        visibility: visible !important;

        opacity: 1 !important;

        overflow: visible !important;
    }


    .posys-job-items-mobile-v3
    .posys-stage-badge
    .posys-stage-icon
    svg {
        display: block !important;

        width: 19px !important;

        height: 19px !important;

        min-width: 19px !important;

        min-height: 19px !important;

        max-width: 19px !important;

        max-height: 19px !important;

        flex: 0 0 19px !important;

        fill: none !important;

        stroke: currentColor !important;

        stroke-width: 1.9 !important;

        stroke-linecap: round !important;

        stroke-linejoin: round !important;

        visibility: visible !important;

        opacity: 1 !important;

        overflow: visible !important;
    }


    /* Status text gets the remaining space. */

    .posys-job-items-mobile-v3
    .posys-stage-badge
    .posys-stage-copy {
        display: flex !important;

        flex: 1 1 auto !important;

        min-width: 0 !important;

        flex-direction: column !important;

        gap: 1px !important;

        overflow: visible !important;
    }


    .posys-job-items-mobile-v3
    .posys-stage-badge
    .posys-stage-copy
    strong,

    .posys-job-items-mobile-v3
    .posys-stage-badge
    .posys-stage-copy
    small {
        min-width: 0 !important;

        white-space: normal !important;

        overflow-wrap: normal !important;

        word-break: normal !important;
    }


    .posys-job-items-mobile-v3
    .posys-stage-badge
    .posys-stage-copy
    strong {
        font-size: 0.72rem !important;

        line-height: 1.15 !important;
    }


    .posys-job-items-mobile-v3
    .posys-stage-badge
    .posys-stage-copy
    small {
        font-size: 0.65rem !important;

        line-height: 1.15 !important;
    }

}


/* Small phones still keep a visible icon. */

@media (max-width: 430px) {

    .posys-job-items-mobile-v3
    tr.posys-product-table-main-row
    > td:nth-child(4) {
        max-width: 100% !important;
    }


    .posys-job-items-mobile-v3
    tr.posys-product-table-main-row
    > td:nth-child(4)
    .posys-stage-badge {
        max-width: 100% !important;
    }


    .posys-job-items-mobile-v3
    .posys-stage-badge
    .posys-stage-icon {
        flex-basis: 26px !important;

        width: 26px !important;

        height: 26px !important;

        min-width: 26px !important;

        min-height: 26px !important;
    }


    .posys-job-items-mobile-v3
    .posys-stage-badge
    .posys-stage-icon
    svg {
        width: 19px !important;

        height: 19px !important;

        min-width: 19px !important;

        min-height: 19px !important;
    }

}




/* ============================================================
   POSYS ITEM DETAIL WORKFLOW LAYOUT V1
   Working File -> Client Proof -> Approval -> Production Output
   ============================================================ */


/* ------------------------------------------------------------
   DESKTOP / LARGE TABLET
   ------------------------------------------------------------ */

@media (min-width: 761px) {

    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid {
        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr) !important;

        gap:
            18px !important;

        align-items:
            stretch !important;
    }


    /*
     * Workflow placement is semantic, not positional.
     *
     * Working Files       full width
     * Artwork & Revisions full width
     * Artwork Review      full width
     * Artwork Approval    full width
     * Production Files    full width
     */

    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-item-designer-files-card,

    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-item-client-proof-card,

    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-artwork-review-card,

    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-item-client-approval-card,

    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-item-production-files-card {
        grid-column:
            1 / -1 !important;
    }


    /* Do not force equal card heights between workflow bands. */

    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-card {
        height:
            auto !important;

        min-height:
            0 !important;

        align-self:
            start !important;
    }


    /* --------------------------------------------------------
       PRODUCTION FILES
       Fourth workflow card
       -------------------------------------------------------- */

    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-item-production-files-card {
        padding:
            20px
            24px !important;
    }


    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-item-production-files-card
    h2 {
        margin-bottom:
            12px !important;
    }


    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-item-production-files-card
    h3,
    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-item-production-files-card
    h4 {
        margin-top:
            10px !important;

        margin-bottom:
            6px !important;
    }


    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-item-production-files-card
    p {
        margin-top:
            5px !important;

        margin-bottom:
            8px !important;

        line-height:
            1.4 !important;
    }


    /*
     * Production-folder information is allowed to use the
     * horizontal space now that Production Files is full width.
     */

    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-item-production-files-card
    [class*="production-folder"] {
        max-width:
            100% !important;
    }


    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-item-production-files-card
    pre,
    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-item-production-files-card
    code {
        white-space:
            pre-wrap !important;

        overflow-wrap:
            anywhere !important;
    }


    /* Folder action buttons stay compact on desktop. */

    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-item-production-files-card
    .button {
        min-height:
            38px;

        padding-top:
            7px;

        padding-bottom:
            7px;
    }

}


/* ------------------------------------------------------------
   COMMON WORKFLOW CARD DENSITY
   ------------------------------------------------------------ */

.posys-production-detail-layout-v3
.posys-item-v3-design-grid
> .posys-card {
    box-sizing:
        border-box;
}


.posys-production-detail-layout-v3
.posys-item-v3-design-grid
> .posys-card
> :last-child {
    margin-bottom:
        0 !important;
}


.posys-production-detail-layout-v3
.posys-item-v3-design-grid
> .posys-card
.posys-dashboard-small-label,
.posys-production-detail-layout-v3
.posys-item-v3-design-grid
> .posys-card
[class*="eyebrow"] {
    margin-bottom:
        7px !important;

    font-size:
        0.68rem !important;

    letter-spacing:
        0.09em !important;
}


/* ------------------------------------------------------------
   MOBILE
   Authoritative workflow sequence
   ------------------------------------------------------------ */

@media (max-width: 760px) {

    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid {
        display:
            grid !important;

        grid-template-columns:
            minmax(0, 1fr) !important;

        gap:
            12px !important;

        width:
            100% !important;

        max-width:
            100% !important;

        min-width:
            0 !important;
    }


    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-card {
        grid-column:
            1 !important;

        width:
            100% !important;

        max-width:
            100% !important;

        min-width:
            0 !important;

        min-height:
            0 !important;

        height:
            auto !important;

        margin:
            0 !important;

        padding:
            15px
            14px !important;

        box-sizing:
            border-box !important;
    }


    /*
     * Explicit visual order using semantic workflow classes.
     *
     * 1 Working Files
     * 2 Client Proof
     * 3 Artwork Review
     * 4 Client Approval
     * 5 Production Output
     */

    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-item-designer-files-card {
        order:
            1 !important;
    }


    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-item-client-proof-card {
        order:
            2 !important;
    }


    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-artwork-review-card {
        order:
            3 !important;
    }


    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-item-client-approval-card {
        order:
            4 !important;
    }


    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-item-production-files-card {
        order:
            5 !important;
    }


    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-card
    h2 {
        margin-bottom:
            10px !important;

        font-size:
            1.2rem !important;

        line-height:
            1.2 !important;
    }


    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-card
    p {
        margin-top:
            5px !important;

        margin-bottom:
            8px !important;

        line-height:
            1.42 !important;
    }


    /* --------------------------------------------------------
       MOBILE PRODUCTION FILES
       -------------------------------------------------------- */

    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-item-production-files-card {
        padding:
            14px
            13px !important;
    }


    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-item-production-files-card
    h3,
    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-item-production-files-card
    h4 {
        margin-top:
            9px !important;

        margin-bottom:
            5px !important;
    }


    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-item-production-files-card
    pre,
    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-item-production-files-card
    code {
        display:
            block !important;

        width:
            100% !important;

        max-width:
            100% !important;

        min-width:
            0 !important;

        white-space:
            pre-wrap !important;

        overflow-wrap:
            anywhere !important;

        word-break:
            break-word !important;

        box-sizing:
            border-box !important;
    }


    /* Folder/action controls stack cleanly on phones. */

    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-item-production-files-card
    .button {
        min-height:
            42px;

        white-space:
            normal !important;
    }


    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-item-production-files-card
    .posys-action-group {
        width:
            100% !important;

        max-width:
            100% !important;

        gap:
            7px !important;
    }

}


/* Small-phone density */

@media (max-width: 430px) {

    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid {
        gap:
            10px !important;
    }


    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-card {
        padding:
            13px
            12px !important;
    }


    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-card
    h2 {
        font-size:
            1.12rem !important;
    }

}




/* ============================================================
   POSYS ITEM DETAIL PRODUCTION FILES REFINE V2
   Client Proof / Approval alignment
   Compact Production Folder
   Desktop + Mobile
   ============================================================ */


/* ------------------------------------------------------------
   CLIENT PROOF / CLIENT APPROVAL
   ------------------------------------------------------------ */

@media (min-width: 761px) {

    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-item-client-proof-card,

    .posys-production-detail-layout-v3
    .posys-item-v3-design-grid
    > .posys-item-client-approval-card {
        height:
            100% !important;

        min-height:
            0 !important;

        align-self:
            stretch !important;
    }


    .posys-item-client-proof-card,
    .posys-item-client-approval-card {
        display:
            flex;

        flex-direction:
            column;
    }


    .posys-item-client-proof-card
    > .posys-section-header,

    .posys-item-client-approval-card
    > .posys-section-header {
        flex:
            0
            0
            auto;
    }


    .posys-item-client-proof-card
    .posys-item-detail-empty,

    .posys-item-client-approval-card
    .posys-item-detail-empty {
        margin-top:
            6px;
    }

}


/* ------------------------------------------------------------
   PRODUCTION FILES CARD
   ------------------------------------------------------------ */

.posys-item-production-files-card {
    min-height:
        0 !important;
}


.posys-item-production-files-card
> .posys-section-header {
    align-items:
        flex-start;
}


.posys-item-production-files-card
.posys-section-header
h2 {
    margin-bottom:
        6px !important;
}


.posys-production-files-intro {
    margin:
        8px
        0
        0 !important;

    color:
        #607080;

    font-size:
        0.84rem;

    line-height:
        1.4;
}


/* ------------------------------------------------------------
   COMPACT PRODUCTION FOLDER
   ------------------------------------------------------------ */

.posys-production-folder-compact {
    width:
        100%;

    max-width:
        100%;

    margin-top:
        12px;

    padding:
        14px
        15px;

    box-sizing:
        border-box;

    border:
        1px solid #e0e6eb;

    border-radius:
        10px;

    background:
        #f6f8fa;
}


.posys-production-folder-compact-main {
    display:
        flex;

    justify-content:
        space-between;

    align-items:
        center;

    gap:
        18px;
}


.posys-production-folder-compact-copy {
    display:
        grid;

    gap:
        3px;

    min-width:
        0;
}


.posys-production-folder-compact-copy
.posys-dashboard-small-label {
    margin:
        0 !important;
}


.posys-production-folder-compact-copy
> strong {
    color:
        #172b3a;

    font-size:
        0.95rem;

    line-height:
        1.25;
}


.posys-production-folder-compact-copy
> small {
    color:
        #607080;

    font-size:
        0.78rem;

    line-height:
        1.35;
}


.posys-production-folder-compact-actions {
    display:
        flex;

    flex-wrap:
        wrap;

    justify-content:
        flex-end;

    gap:
        7px;

    flex:
        0
        0
        auto;
}


.posys-production-folder-compact-actions
.posys-button {
    min-height:
        38px;

    margin:
        0;
}


.posys-production-folder-counts {
    display:
        flex;

    flex-wrap:
        wrap;

    align-items:
        center;

    gap:
        5px;

    margin-top:
        10px;

    color:
        #647584;

    font-size:
        0.75rem;

    line-height:
        1.3;
}


.posys-production-folder-counts
strong {
    color:
        #2e4658;
}


/* ------------------------------------------------------------
   COLLAPSED FOLDER DETAILS
   ------------------------------------------------------------ */

.posys-production-folder-details {
    width:
        100%;

    margin-top:
        9px;

    padding-top:
        8px;

    border-top:
        1px solid #e0e6eb;
}


.posys-production-folder-details
> summary {
    display:
        inline-flex;

    align-items:
        center;

    min-height:
        30px;

    margin:
        0;

    color:
        #31536a;

    font-size:
        0.76rem;

    font-weight:
        750;

    cursor:
        pointer;
}


.posys-production-folder-details-body {
    display:
        grid;

    gap:
        8px;

    margin-top:
        7px;
}


.posys-production-folder-details-body
> div {
    display:
        grid;

    gap:
        3px;
}


.posys-production-folder-details-body
span {
    color:
        #687988;

    font-size:
        0.7rem;

    font-weight:
        750;

    letter-spacing:
        0.03em;

    text-transform:
        uppercase;
}


.posys-production-folder-details-body
code {
    display:
        block;

    width:
        100%;

    max-width:
        100%;

    padding:
        7px
        9px;

    box-sizing:
        border-box;

    border-radius:
        7px;

    background:
        #ffffff;

    color:
        #1f394b;

    font-size:
        0.74rem;

    line-height:
        1.35;

    white-space:
        normal;

    overflow-wrap:
        anywhere;

    word-break:
        break-word;
}


.posys-production-folder-details-body
small {
    color:
        #687988;

    font-size:
        0.73rem;

    line-height:
        1.35;
}


/* ------------------------------------------------------------
   PRODUCTION FILE ROWS
   ------------------------------------------------------------ */

.posys-item-production-files-card
.posys-item-v3-production-list {
    margin-top:
        12px;
}


.posys-item-production-files-card
.posys-item-v3-production-row {
    min-height:
        0;

    padding-top:
        11px;

    padding-bottom:
        11px;
}


.posys-item-production-files-card
.posys-item-v3-production-row
> div:first-child {
    min-width:
        0;
}


.posys-item-production-files-card
.posys-item-v3-production-row
> div:first-child
strong {
    overflow-wrap:
        anywhere;
}


.posys-item-production-files-card
.posys-item-v3-action-group {
    gap:
        7px;
}


.posys-item-production-files-card
.posys-item-v3-action-group
.posys-button {
    min-height:
        36px;

    white-space:
        nowrap;
}


/* ------------------------------------------------------------
   MOBILE
   ------------------------------------------------------------ */

@media (max-width: 760px) {

    .posys-item-client-proof-card,
    .posys-item-client-approval-card {
        height:
            auto !important;

        min-height:
            0 !important;
    }


    .posys-production-folder-compact {
        margin-top:
            10px;

        padding:
            12px;
    }


    .posys-production-folder-compact-main {
        display:
            grid;

        grid-template-columns:
            minmax(0, 1fr);

        gap:
            10px;
    }


    .posys-production-folder-compact-actions {
        display:
            grid;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        width:
            100%;

        gap:
            7px;
    }


    .posys-production-folder-compact-actions
    .posys-button {
        display:
            flex;

        width:
            100%;

        min-width:
            0;

        min-height:
            42px;

        align-items:
            center;

        justify-content:
            center;

        box-sizing:
            border-box;

        text-align:
            center;

        white-space:
            normal;
    }


    .posys-production-folder-counts {
        margin-top:
            9px;

        font-size:
            0.72rem;
    }


    .posys-production-folder-details {
        margin-top:
            8px;
    }


    .posys-item-production-files-card
    .posys-item-v3-production-row {
        display:
            grid !important;

        grid-template-columns:
            minmax(0, 1fr) !important;

        gap:
            8px !important;

        padding:
            11px !important;
    }


    .posys-item-production-files-card
    .posys-item-v3-production-state {
        justify-self:
            start !important;
    }


    .posys-item-production-files-card
    .posys-item-v3-action-group {
        display:
            grid !important;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        width:
            100% !important;

        gap:
            7px !important;
    }


    .posys-item-production-files-card
    .posys-item-v3-action-group
    .posys-button {
        width:
            100% !important;

        min-width:
            0 !important;

        min-height:
            42px !important;

        justify-content:
            center !important;

        box-sizing:
            border-box !important;

        white-space:
            normal !important;
    }

}


@media (max-width: 430px) {

    .posys-production-folder-compact-actions {
        grid-template-columns:
            minmax(0, 1fr);
    }


    .posys-item-production-files-card
    .posys-item-v3-action-group {
        grid-template-columns:
            minmax(0, 1fr);
    }


    .posys-production-folder-counts
    span[aria-hidden="true"] {
        display:
            none;
    }


    .posys-production-folder-counts {
        gap:
            5px 9px;
    }

}




/* ============================================================
   POSYS ITEM DETAIL DESIGNER FILES REFINE V1
   Compact Designer Folder + Download Files
   ============================================================ */


.posys-item-designer-files-card {
    min-height:
        0 !important;
}


.posys-item-designer-files-card
> .posys-section-header {
    align-items:
        flex-start;
}


.posys-designer-files-intro {
    margin:
        6px
        0
        0 !important;

    color:
        #607080;

    font-size:
        0.84rem;

    line-height:
        1.4;
}


/* ------------------------------------------------------------
   COMPACT DESIGNER FOLDER
   ------------------------------------------------------------ */

.posys-designer-folder-compact {
    width:
        100%;

    max-width:
        100%;

    margin-top:
        12px;

    padding:
        14px
        15px;

    box-sizing:
        border-box;

    border:
        1px solid #e0e6eb;

    border-radius:
        10px;

    background:
        #f6f8fa;
}


.posys-designer-folder-compact-main {
    display:
        flex;

    justify-content:
        space-between;

    align-items:
        center;

    gap:
        18px;
}


.posys-designer-folder-compact-copy {
    display:
        grid;

    gap:
        3px;

    min-width:
        0;
}


.posys-designer-folder-compact-copy
.posys-dashboard-small-label {
    margin:
        0 !important;
}


.posys-designer-folder-compact-copy
> strong {
    color:
        #172b3a;

    font-size:
        0.95rem;

    line-height:
        1.25;
}


.posys-designer-folder-compact-copy
> small {
    color:
        #607080;

    font-size:
        0.78rem;

    line-height:
        1.35;
}


.posys-designer-folder-compact-actions {
    display:
        flex;

    flex-wrap:
        wrap;

    justify-content:
        flex-end;

    gap:
        7px;

    flex:
        0
        0
        auto;
}


.posys-designer-folder-compact-actions
.posys-button {
    min-height:
        38px;

    margin:
        0;
}


.posys-designer-folder-counts {
    margin-top:
        9px;

    color:
        #647584;

    font-size:
        0.75rem;

    line-height:
        1.3;
}


.posys-designer-folder-counts
strong {
    color:
        #2e4658;
}


/* ------------------------------------------------------------
   FOLDER DETAILS
   ------------------------------------------------------------ */

.posys-designer-folder-details {
    width:
        100%;

    margin-top:
        8px;

    padding-top:
        8px;

    border-top:
        1px solid #e0e6eb;
}


.posys-designer-folder-details
> summary {
    display:
        inline-flex;

    align-items:
        center;

    min-height:
        30px;

    color:
        #31536a;

    font-size:
        0.76rem;

    font-weight:
        750;

    cursor:
        pointer;
}


.posys-designer-folder-details-body {
    display:
        grid;

    gap:
        8px;

    margin-top:
        7px;
}


.posys-designer-folder-details-body
> div {
    display:
        grid;

    gap:
        3px;
}


.posys-designer-folder-details-body
span {
    color:
        #687988;

    font-size:
        0.7rem;

    font-weight:
        750;

    letter-spacing:
        0.03em;

    text-transform:
        uppercase;
}


.posys-designer-folder-details-body
code {
    display:
        block;

    width:
        100%;

    max-width:
        100%;

    padding:
        7px
        9px;

    box-sizing:
        border-box;

    border-radius:
        7px;

    background:
        #ffffff;

    color:
        #1f394b;

    font-size:
        0.74rem;

    line-height:
        1.35;

    white-space:
        normal;

    overflow-wrap:
        anywhere;

    word-break:
        break-word;
}


.posys-designer-folder-details-body
small {
    color:
        #687988;

    font-size:
        0.73rem;

    line-height:
        1.35;
}


/* ------------------------------------------------------------
   RAW FILE LIST
   ------------------------------------------------------------ */

.posys-designer-file-list,
.posys-designer-approved-files {
    display:
        grid;

    gap:
        7px;

    margin-top:
        11px;
}


.posys-designer-file-row {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    gap:
        12px;

    align-items:
        center;

    width:
        100%;

    padding:
        10px
        12px;

    box-sizing:
        border-box;

    border:
        1px solid #e2e8ed;

    border-radius:
        9px;

    background:
        #ffffff;
}


.posys-designer-file-main {
    display:
        grid;

    gap:
        3px;

    min-width:
        0;
}


.posys-designer-file-main
strong {
    color:
        #203847;

    font-size:
        0.86rem;

    line-height:
        1.3;

    overflow-wrap:
        anywhere;
}


.posys-designer-file-main
span {
    color:
        #607080;

    font-size:
        0.73rem;

    line-height:
        1.3;
}


.posys-designer-file-main
small {
    color:
        #71808d;

    font-size:
        0.7rem;

    line-height:
        1.3;
}


.posys-designer-file-actions {
    display:
        flex;

    gap:
        7px;

    flex:
        0
        0
        auto;
}


.posys-designer-file-actions
.posys-button {
    min-height:
        36px;

    white-space:
        nowrap;
}


/* ------------------------------------------------------------
   MOBILE
   ------------------------------------------------------------ */

@media (max-width: 760px) {

    .posys-designer-folder-compact {
        margin-top:
            10px;

        padding:
            12px;
    }


    .posys-designer-folder-compact-main {
        display:
            grid;

        grid-template-columns:
            minmax(0, 1fr);

        gap:
            10px;
    }


    .posys-designer-folder-compact-actions {
        display:
            grid;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        width:
            100%;

        gap:
            7px;
    }


    .posys-designer-folder-compact-actions
    .posys-button {
        display:
            flex;

        width:
            100%;

        min-width:
            0;

        min-height:
            42px;

        align-items:
            center;

        justify-content:
            center;

        box-sizing:
            border-box;

        text-align:
            center;

        white-space:
            normal;
    }


    .posys-designer-file-row {
        grid-template-columns:
            minmax(0, 1fr);

        gap:
            8px;

        padding:
            10px;
    }


    .posys-designer-file-actions {
        display:
            grid;

        grid-template-columns:
            minmax(0, 1fr);

        width:
            100%;
    }


    .posys-designer-file-actions
    .posys-button {
        width:
            100%;

        min-height:
            42px;

        justify-content:
            center;

        box-sizing:
            border-box;

        white-space:
            normal;
    }

}


@media (max-width: 430px) {

    .posys-designer-folder-compact-actions {
        grid-template-columns:
            minmax(0, 1fr);
    }

}




/* ============================================================
   POSYS DESIGNER WORKING FILES UI CLEANUP V2
   Missing-file restore rows
   ============================================================ */

.posys-designer-missing-list {
    display:
        grid;

    gap:
        7px;

    margin-top:
        10px;
}


.posys-designer-missing-row {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    align-items:
        center;

    gap:
        12px;

    padding:
        9px
        10px;

    border:
        1px solid #d9e1e7;

    border-radius:
        8px;

    background:
        rgba(255, 255, 255, 0.72);
}


.posys-designer-missing-copy {
    display:
        grid;

    gap:
        2px;

    min-width:
        0;
}


.posys-designer-missing-copy
strong {
    font-size:
        0.82rem;

    line-height:
        1.3;

    overflow-wrap:
        anywhere;
}


.posys-designer-missing-copy
span {
    color:
        #687987;

    font-size:
        0.7rem;

    line-height:
        1.3;
}


.posys-designer-missing-row
.posys-button {
    min-height:
        35px;

    margin:
        0;

    white-space:
        nowrap;
}


.posys-item-designer-files-card
.posys-item-v3-integrity-warning
p {
    margin:
        5px
        0
        0;

    font-size:
        0.82rem;

    line-height:
        1.4;
}


.posys-designer-integrity-summary {
    margin-left:
        4px;

    font-size:
        0.82rem;
}


@media (max-width: 760px) {

    .posys-designer-missing-row {
        grid-template-columns:
            minmax(0, 1fr);

        gap:
            8px;
    }


    .posys-designer-missing-row
    .posys-button {
        width:
            100%;

        min-height:
            42px;

        justify-content:
            center;

        box-sizing:
            border-box;
    }

}




/* ============================================================
   POSYS PRODUCTION FILE DRAG DROP V1
   ============================================================ */


.posys-production-drop-zone {
    transition:
        border-color 0.16s ease,
        background 0.16s ease,
        transform 0.16s ease;
}


.posys-production-drop-zone.posys-drop-zone-dragging {
    border-style:
        dashed;

    border-width:
        2px;

    background:
        rgba(10, 169, 214, 0.06);

    transform:
        translateY(-1px);
}


.posys-production-drop-zone.posys-drop-zone-selected {
    border-style:
        solid;
}


.posys-production-drop-size {
    display:
        block;

    min-height:
        1em;

    margin-top:
        4px;

    font-size:
        0.76rem;

    line-height:
        1.3;

    color:
        #657886;
}


.posys-production-drop-zone.posys-drop-zone-selected
.posys-drop-zone-filename {
    font-weight:
        750;
}


@media (max-width: 760px) {

    .posys-production-drop-zone {
        min-height:
            150px;

        padding:
            22px
            16px;

        box-sizing:
            border-box;
    }

}




/* ============================================================
   POSYS PRODUCTION FILES LAYOUT + SUCCESS STATE V2
   ============================================================ */


/*
 * Production Folder should visually match the
 * Designer Working Folder:
 * - full available card width
 * - folder information left
 * - Open / Copy actions right
 */

.posys-item-production-files-card
.posys-production-folder-compact {
    width:
        100%;

    max-width:
        none;

    box-sizing:
        border-box;
}


.posys-item-production-files-card
.posys-production-folder-compact-main {
    width:
        100%;

    box-sizing:
        border-box;
}


.posys-item-production-files-card
.posys-production-folder-compact-copy {
    min-width:
        0;

    flex:
        1 1 auto;
}


.posys-item-production-files-card
.posys-production-folder-compact-actions {
    flex:
        0 0 auto;
}


/*
 * Persistent server-registration indicator.
 * It is deliberately separate from Draft / Released,
 * because upload success and release status mean
 * different things.
 */

.posys-production-upload-success {
    display:
        inline-flex;

    align-items:
        center;

    width:
        fit-content;

    min-height:
        25px;

    margin-top:
        5px;

    padding:
        3px
        9px;

    border:
        1px solid rgba(31, 122, 78, 0.20);

    border-radius:
        999px;

    background:
        rgba(31, 122, 78, 0.08);

    color:
        #1f7049;

    font-size:
        0.72rem;

    font-weight:
        750;

    line-height:
        1.25;
}


/*
 * Normalize Production Folder dimensions against
 * the Designer Working Folder even if older CSS
 * assigns a narrower desktop max-width.
 */

.posys-item-production-files-card
.posys-production-folder-compact,
.posys-item-designer-files-card
.posys-designer-folder-compact {
    min-width:
        0;

    width:
        100%;
}


@media (max-width: 760px) {

    .posys-item-production-files-card
    .posys-production-folder-compact-main {
        display:
            grid;

        grid-template-columns:
            minmax(0, 1fr);

        gap:
            12px;
    }


    .posys-item-production-files-card
    .posys-production-folder-compact-actions {
        width:
            100%;

        display:
            grid;

        grid-template-columns:
            minmax(0, 1fr);

        gap:
            8px;
    }


    .posys-item-production-files-card
    .posys-production-folder-compact-actions
    .posys-button {
        width:
            100%;

        justify-content:
            center;

        box-sizing:
            border-box;
    }

}




/* ============================================================
   POSYS PRODUCTION UPLOAD SUCCESS PAGE V1
   ============================================================ */


.posys-production-upload-confirmation {
    display:
        grid;

    grid-template-columns:
        auto
        minmax(0, 1fr)
        auto;

    align-items:
        center;

    gap:
        14px;

    margin:
        20px
        0;

    padding:
        16px
        18px;

    border:
        1px solid rgba(31, 122, 78, 0.24);

    border-radius:
        10px;

    background:
        rgba(31, 122, 78, 0.07);

    box-sizing:
        border-box;
}


.posys-production-upload-confirmation-icon {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        38px;

    height:
        38px;

    border-radius:
        50%;

    background:
        #1f7049;

    color:
        #ffffff;

    font-size:
        1.15rem;

    font-weight:
        800;

    line-height:
        1;
}


.posys-production-upload-confirmation-copy {
    display:
        grid;

    gap:
        3px;

    min-width:
        0;
}


.posys-production-upload-confirmation-copy
strong {
    color:
        #174d35;

    font-size:
        0.96rem;

    line-height:
        1.35;
}


.posys-production-upload-confirmation-copy
span {
    color:
        #50685d;

    font-size:
        0.79rem;

    line-height:
        1.4;
}


/*
 * The upload-status badge previously added to
 * Item Detail is no longer used. Hide any stale
 * cached instance defensively.
 */

.posys-item-production-files-card
.posys-production-upload-success {
    display:
        none !important;
}


@media (max-width: 760px) {

    .posys-production-upload-confirmation {
        grid-template-columns:
            auto
            minmax(0, 1fr);
    }


    .posys-production-upload-confirmation
    .posys-button {
        grid-column:
            1 / -1;

        width:
            100%;

        justify-content:
            center;

        box-sizing:
            border-box;
    }

}




/* ============================================================
   POSYS PRODUCTION PACKAGE MULTI-FILE V1
   ============================================================ */


.posys-production-selected-files {
    display:
        grid;

    gap:
        6px;

    width:
        min(760px, 100%);

    margin-top:
        12px;
}


.posys-production-selected-file {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    align-items:
        center;

    gap:
        12px;

    padding:
        8px
        10px;

    border:
        1px solid #d8e1e7;

    border-radius:
        7px;

    background:
        rgba(255, 255, 255, 0.82);
}


.posys-production-selected-file strong {
    min-width:
        0;

    overflow-wrap:
        anywhere;

    font-size:
        0.78rem;
}


.posys-production-selected-file span {
    color:
        #687b87;

    font-size:
        0.71rem;

    white-space:
        nowrap;
}


.posys-production-package-list {
    display:
        grid;

    gap:
        14px;

    margin-top:
        18px;
}


.posys-production-package {
    overflow:
        hidden;

    border:
        1px solid #d8e1e7;

    border-radius:
        11px;

    background:
        #f7f9fa;
}


.posys-production-package-header {
    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        18px;

    padding:
        15px
        17px;

    border-bottom:
        1px solid #dce4e9;
}


.posys-production-package-title {
    min-width:
        0;
}


.posys-production-package-title h3 {
    margin:
        3px
        0
        2px;

    font-size:
        1.08rem;
}


.posys-production-package-title p {
    margin:
        0;

    color:
        #677a86;

    font-size:
        0.76rem;

    line-height:
        1.45;
}


.posys-production-package-state {
    flex:
        0 0 auto;
}


.posys-production-package-files {
    display:
        grid;
}


.posys-production-package-file-row {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    align-items:
        center;

    gap:
        14px;

    padding:
        11px
        17px;

    background:
        #ffffff;

    border-bottom:
        1px solid #e4eaee;
}


.posys-production-package-file-row:last-child {
    border-bottom:
        0;
}


.posys-production-package-file-copy {
    display:
        grid;

    gap:
        2px;

    min-width:
        0;
}


.posys-production-package-file-copy strong {
    overflow-wrap:
        anywhere;

    font-size:
        0.84rem;
}


.posys-production-package-file-copy span {
    color:
        #71818c;

    font-size:
        0.7rem;

    line-height:
        1.35;
}


.posys-production-package-file-row
.posys-button {
    min-height:
        34px;

    padding:
        6px
        11px;

    margin:
        0;
}


.posys-production-package-actions {
    display:
        flex;

    justify-content:
        flex-end;

    padding:
        12px
        17px;

    border-top:
        1px solid #dce4e9;

    background:
        #f7f9fa;
}


.posys-production-release-package {
    margin:
        0
        0
        20px;

    padding:
        16px;

    border:
        1px solid #d8e1e7;

    border-radius:
        10px;

    background:
        #f7f9fa;
}


.posys-production-release-package h2 {
    margin:
        4px
        0;
}


.posys-production-release-package p {
    margin:
        0;

    color:
        #687a86;
}


.posys-production-release-file-list {
    display:
        grid;

    gap:
        6px;

    margin-top:
        14px;
}


.posys-production-release-file-row {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    align-items:
        center;

    gap:
        12px;

    padding:
        8px
        10px;

    border:
        1px solid #dce4e9;

    border-radius:
        7px;

    background:
        #ffffff;
}


.posys-production-release-file-row strong {
    overflow-wrap:
        anywhere;
}


.posys-production-release-file-row span {
    color:
        #71818c;

    font-size:
        0.72rem;

    white-space:
        nowrap;
}


@media (max-width: 760px) {

    .posys-production-selected-file {
        grid-template-columns:
            minmax(0, 1fr);
    }


    .posys-production-package-header {
        display:
            grid;

        grid-template-columns:
            minmax(0, 1fr);

        gap:
            8px;
    }


    .posys-production-package-file-row {
        grid-template-columns:
            minmax(0, 1fr);
    }


    .posys-production-package-file-row
    .posys-button {
        width:
            100%;

        justify-content:
            center;

        box-sizing:
            border-box;
    }


    .posys-production-package-actions {
        display:
            grid;
    }


    .posys-production-package-actions
    .posys-button {
        width:
            100%;

        justify-content:
            center;

        box-sizing:
            border-box;
    }


    .posys-production-release-file-row {
        grid-template-columns:
            minmax(0, 1fr);
    }

}




/* ============================================================
   POSYS PRODUCTION PACKAGE LEGACY COMPATIBILITY V1
   ============================================================ */

.posys-production-legacy-list {
    overflow:
        hidden;

    margin-top:
        14px;

    border:
        1px solid #d8e1e7;

    border-radius:
        10px;

    background:
        #ffffff;
}


.posys-production-legacy-heading {
    padding:
        12px
        17px;

    border-bottom:
        1px solid #e2e8ec;

    background:
        #f7f9fa;
}


.posys-production-legacy-heading p {
    margin:
        3px
        0
        0;

    color:
        #687a86;

    font-size:
        0.74rem;

    line-height:
        1.4;
}




/* ============================================================
   POSYS PRODUCTION FOLDER FULL-WIDTH V2
   ============================================================ */

.posys-production-folder-fullwidth {
    width:
        100%;

    min-width:
        0;

    margin:
        16px
        0
        0;

    box-sizing:
        border-box;
}


.posys-production-folder-fullwidth
.posys-production-folder-compact {
    width:
        100%;

    max-width:
        none;

    min-width:
        0;

    margin:
        0;

    box-sizing:
        border-box;
}


.posys-production-folder-fullwidth
.posys-production-folder-compact-main {
    width:
        100%;

    min-width:
        0;

    box-sizing:
        border-box;
}


.posys-production-folder-fullwidth
.posys-production-folder-compact-copy {
    min-width:
        0;

    flex:
        1 1 auto;
}


.posys-production-folder-fullwidth
.posys-production-folder-compact-actions {
    flex:
        0 0 auto;

    margin-left:
        auto;
}


.posys-production-folder-fullwidth
.posys-production-folder-counts,
.posys-production-folder-fullwidth
.posys-production-folder-details,
.posys-production-folder-fullwidth
.posys-item-v3-integrity-warning {
    width:
        100%;

    box-sizing:
        border-box;
}


@media (max-width: 760px) {

    .posys-production-folder-fullwidth {
        margin-top:
            12px;
    }


    .posys-production-folder-fullwidth
    .posys-production-folder-compact-main {
        display:
            grid;

        grid-template-columns:
            minmax(0, 1fr);

        gap:
            12px;
    }


    .posys-production-folder-fullwidth
    .posys-production-folder-compact-actions {
        display:
            grid;

        grid-template-columns:
            minmax(0, 1fr);

        gap:
            8px;

        width:
            100%;

        margin-left:
            0;
    }


    .posys-production-folder-fullwidth
    .posys-production-folder-compact-actions
    .posys-button {
        width:
            100%;

        box-sizing:
            border-box;

        justify-content:
            center;
    }

}



/* ============================================================
   POSYS PRODUCTION DROP FEEDBACK V2
   ============================================================ */


.posys-production-upload-ready-status {
    display:
        grid;

    grid-template-columns:
        auto
        minmax(0, 1fr);

    align-items:
        center;

    gap:
        10px;

    width:
        min(760px, 100%);

    margin-top:
        12px;

    padding:
        10px
        12px;

    border:
        1px solid rgba(31, 122, 78, 0.24);

    border-radius:
        8px;

    background:
        rgba(31, 122, 78, 0.07);

    box-sizing:
        border-box;
}


.posys-production-upload-ready-status[hidden] {
    display:
        none !important;
}


.posys-production-upload-ready-icon {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        28px;

    height:
        28px;

    border-radius:
        50%;

    background:
        #1f7049;

    color:
        #ffffff;

    font-weight:
        800;

    line-height:
        1;
}


.posys-production-upload-ready-status
div {
    display:
        grid;

    gap:
        2px;

    min-width:
        0;
}


.posys-production-upload-ready-status
strong {
    color:
        #174d35;

    font-size:
        0.79rem;
}


.posys-production-upload-ready-status
span:not(
    .posys-production-upload-ready-icon
) {
    color:
        #50685d;

    font-size:
        0.72rem;
}


.posys-production-drop-zone.posys-drop-zone-selected {
    border-color:
        rgba(31, 122, 78, 0.55);

    background:
        rgba(31, 122, 78, 0.025);
}


.posys-production-drop-zone.posys-drop-zone-dragging {
    border-color:
        #08a5d1;

    background:
        rgba(8, 165, 209, 0.06);
}


@media (max-width: 760px) {

    .posys-production-upload-ready-status {
        width:
            100%;
    }

}




/* ============================================================
   POSYS PRODUCTION NATIVE DRAG DROP V3
   ============================================================ */

.posys-production-drop-zone {
    position:
        relative;

    overflow:
        hidden;

    cursor:
        pointer;
}


.posys-production-drop-zone
input[type="file"] {
    position:
        absolute !important;

    inset:
        0 !important;

    z-index:
        5 !important;

    display:
        block !important;

    width:
        100% !important;

    height:
        100% !important;

    margin:
        0 !important;

    padding:
        0 !important;

    opacity:
        0 !important;

    cursor:
        pointer !important;
}


.posys-production-drop-zone
> *:not(input[type="file"]) {
    pointer-events:
        none;
}


.posys-production-drop-zone.posys-drop-zone-dragging {
    border-style:
        solid;

    border-color:
        #08a5d1;

    box-shadow:
        inset 0 0 0 2px
        rgba(8, 165, 209, 0.12);
}


.posys-production-drop-zone.posys-drop-zone-selected {
    border-style:
        solid;

    border-color:
        rgba(31, 122, 78, 0.55);
}




/* ============================================================
   POSYS PRODUCTION DRAG DROP V4
   Override V3 native overlay.
   JavaScript now performs explicit drop assignment.
   ============================================================ */


.posys-production-drop-zone {
    position:
        relative;

    overflow:
        visible;

    cursor:
        pointer;
}


.posys-production-drop-zone
input[type="file"] {
    position:
        absolute !important;

    width:
        1px !important;

    height:
        1px !important;

    left:
        -9999px !important;

    top:
        auto !important;

    right:
        auto !important;

    bottom:
        auto !important;

    inset:
        auto !important;

    opacity:
        0 !important;

    overflow:
        hidden !important;

    pointer-events:
        none !important;
}


.posys-production-drop-zone
> *:not(input[type="file"]) {
    pointer-events:
        auto;
}


.posys-production-drop-zone.posys-drop-zone-dragging {
    border-style:
        solid !important;

    border-color:
        #08a5d1 !important;

    background:
        rgba(8, 165, 209, 0.08) !important;

    box-shadow:
        inset 0 0 0 2px
        rgba(8, 165, 209, 0.12);
}


.posys-production-drop-zone.posys-drop-zone-selected {
    border-style:
        solid;

    border-color:
        rgba(31, 122, 78, 0.55);

    background:
        rgba(31, 122, 78, 0.035);
}




/* ============================================================
   POSYS DESIGNER DROP FEEDBACK V1
   Match Production upload ready-state experience
   ============================================================ */

.posys-designer-drop-zone {
    position: relative;
    overflow: visible;
    cursor: pointer;
}

.posys-designer-drop-zone input[type="file"] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    left: -9999px !important;
    top: auto !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.posys-designer-drop-zone.posys-drop-zone-dragging {
    border-style: solid !important;
    border-color: #08a5d1 !important;
    background: rgba(8, 165, 209, 0.08) !important;
    box-shadow: inset 0 0 0 2px rgba(8, 165, 209, 0.12);
}

.posys-designer-drop-zone.posys-drop-zone-selected {
    border-style: solid;
    border-color: rgba(31, 122, 78, 0.55);
    background: rgba(31, 122, 78, 0.035);
}

.posys-selected-file-list {
    display: grid;
    gap: 0.75rem;
    margin-top: 1rem;
}

.posys-production-selected-file {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 0.85rem 1rem;
    border: 1px solid #c8d3dc;
    border-radius: 0.75rem;
    background: #ffffff;
}

.posys-production-selected-file strong {
    font-weight: 700;
    word-break: break-word;
}

.posys-production-selected-file span {
    white-space: nowrap;
    color: #54687d;
    font-weight: 700;
}

.posys-upload-ready-status {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(31, 122, 78, 0.28);
    border-radius: 0.85rem;
    background: rgba(31, 122, 78, 0.08);
    color: #174a30;
}

.posys-upload-ready-icon {
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #1f7a4e;
    color: #ffffff;
    font-size: 1.35rem;
    font-weight: 700;
    flex: 0 0 auto;
}

.posys-upload-ready-copy {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.posys-upload-ready-copy strong {
    font-weight: 800;
    color: #174a30;
}

.posys-upload-ready-copy span {
    color: #315943;
    font-weight: 600;
}

@media (max-width: 700px) {

    .posys-production-selected-file {
        flex-direction: column;
        align-items: flex-start;
    }

    .posys-production-selected-file span {
        white-space: normal;
    }

    .posys-upload-ready-status {
        align-items: flex-start;
    }
}


/* ============================================================
   POSYS PRODUCTION UPLOAD PAGE VISUAL V2
   ============================================================ */

.posys-production-upload-page-v2 {
    width: min(1180px, 100%);
    margin: 0 auto;
    padding-bottom: 28px;
}

.posys-production-upload-header-v2 {
    margin-bottom: 18px;
}

.posys-production-upload-header-v2
.posys-dashboard-small-label {
    margin-bottom: 7px;
}

.posys-production-upload-header-v2 h1 {
    margin: 0;
    font-size: clamp(2rem, 3vw, 2.55rem);
    line-height: 1.08;
    letter-spacing: -0.025em;
}

.posys-production-upload-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin-top: 10px;
    color: #5f7180;
    font-size: 0.92rem;
    line-height: 1.35;
}

.posys-production-upload-meta strong {
    color: #3d5265;
    font-weight: 800;
}

.posys-production-upload-header-v2
.posys-designer-upload-note {
    max-width: 860px;
    margin: 18px 0 0;
    color: #607483;
    font-size: 0.95rem;
    line-height: 1.5;
}

.posys-production-upload-page-v2
.posys-designer-upload-form {
    display: grid;
    gap: 16px;
}

.posys-production-upload-page-v2
.posys-upload-panel {
    padding: 22px;
    border-radius: 14px;
}

.posys-production-upload-page-v2
.posys-upload-panel-heading {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 18px;
}

.posys-production-upload-page-v2
.posys-upload-number {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    font-size: 0.8rem;
}

.posys-production-package-heading-copy {
    min-width: 0;
}

.posys-production-package-heading-copy h2 {
    margin: 0;
    font-size: 1.1rem;
    line-height: 1.25;
}

.posys-production-package-heading-copy p {
    max-width: 700px;
    margin: 3px 0 0;
    color: #667987;
    font-size: 0.79rem;
    line-height: 1.45;
}

.posys-production-upload-page-v2
.posys-production-drop-zone {
    min-height: 170px;
    padding: 24px 22px;
    border-radius: 11px;
    box-sizing: border-box;
}

.posys-production-upload-page-v2
.posys-production-selected-files,
.posys-production-upload-page-v2
.posys-production-upload-ready-status {
    width: min(820px, 100%);
}

.posys-production-upload-page-v2
.posys-upload-help {
    display: block;
    margin-top: 9px;
    color: #657887;
    font-size: 0.75rem;
    line-height: 1.4;
}

.posys-production-upload-remarks-v2 {
    margin: 0;
}

.posys-production-upload-remarks-v2 label {
    display: block;
    margin-bottom: 7px;
    font-size: 0.82rem;
    font-weight: 800;
    color: #122b3e;
}

.posys-production-upload-remarks-v2 textarea {
    width: 100%;
    min-height: 90px;
    max-height: 150px;
    padding: 12px 14px;
    box-sizing: border-box;
    resize: vertical;
}

.posys-production-upload-limit-v2 {
    margin: -2px 0 0;
    color: #627585;
    font-size: 0.76rem;
}

.posys-production-upload-actions-v2 {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 0;
}

.posys-production-upload-actions-v2
.posys-button {
    min-height: 44px;
    padding: 9px 18px;
}

@media (max-width: 620px) {

    .posys-production-upload-header-v2 h1 {
        font-size: 1.75rem;
    }

    .posys-production-upload-header-v2
    .posys-designer-upload-note {
        margin-top: 14px;
        font-size: 0.84rem;
    }

    .posys-production-upload-page-v2
    .posys-upload-panel {
        padding: 16px;
        border-radius: 11px;
    }

    .posys-production-upload-page-v2
    .posys-production-drop-zone {
        min-height: 145px;
        padding: 18px 14px;
    }

    .posys-production-upload-actions-v2 {
        display: grid;
        grid-template-columns: 1fr;
    }

    .posys-production-upload-actions-v2
    .posys-button {
        width: 100%;
        justify-content: center;
        box-sizing: border-box;
    }
}



/* ============================================================
   POSYS DESIGNER READY STATUS HIDDEN FIX
   Respect the HTML hidden attribute until a file is selected.
   ============================================================ */

.posys-upload-ready-status[hidden] {
    display: none !important;
}



/* =========================================================
   POSYS PRODUCTION EXECUTION WORKSPACE REFINE V1
   ========================================================= */

.posys-production-process-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 12px 0 20px;
    padding: 10px 0 0;
    border-top: 1px solid var(--posys-border, #dbe3ea);
}

.posys-production-process-controls > span {
    color: #66788a;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.posys-production-process-controls > div {
    display: flex;
    align-items: center;
    gap: 10px;
}

.posys-production-process-controls form {
    margin: 0;
}

.posys-button-compact {
    min-height: 40px;
    padding: 9px 16px;
}


.posys-production-progress-panel {
    margin-top: 8px;
    padding: 24px;
    border: 1px solid var(--posys-border, #dbe3ea);
    border-radius: 16px;
    background: #f8fafc;
}

.posys-production-progress-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 22px;
}

.posys-production-progress-header h3 {
    margin: 4px 0 6px;
    font-size: 1.35rem;
}

.posys-production-progress-header p {
    max-width: 720px;
    margin: 0;
    color: #5c6d7e;
    line-height: 1.5;
}

.posys-production-progress-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(110px, 1fr));
    min-width: 260px;
    gap: 10px;
}

.posys-production-progress-summary > div {
    padding: 12px 14px;
    border: 1px solid var(--posys-border, #dbe3ea);
    border-radius: 12px;
    background: #ffffff;
}

.posys-production-progress-summary span {
    display: block;
    margin-bottom: 3px;
    color: #687b8d;
    font-size: 0.73rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.posys-production-progress-summary strong {
    display: block;
    color: #10283c;
    font-size: 1.05rem;
}


.posys-production-progress-form {
    margin: 0;
}

.posys-production-quantity-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.posys-production-quantity-field label,
.posys-production-remarks-field label {
    display: block;
    margin-bottom: 7px;
    font-weight: 700;
}

.posys-production-quantity-field input {
    width: 100%;
    min-height: 48px;
}

.posys-production-remarks-field {
    margin-top: 16px;
}

.posys-production-remarks-field textarea {
    width: 100%;
    min-height: 92px;
    resize: vertical;
}

.posys-production-remarks-field small {
    display: block;
    margin-top: 6px;
    color: #748494;
    line-height: 1.4;
}


.posys-production-progress-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid var(--posys-border, #dbe3ea);
}

.posys-production-progress-actions .posys-button {
    min-width: 150px;
}

.posys-production-complete-button {
    min-width: 180px !important;
}


@media (max-width: 900px) {

    .posys-production-progress-header {
        flex-direction: column;
    }

    .posys-production-progress-summary {
        width: 100%;
        min-width: 0;
    }

}


@media (max-width: 640px) {

    .posys-production-progress-panel {
        padding: 18px;
        border-radius: 14px;
    }

    .posys-production-quantity-fields {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .posys-production-process-controls {
        align-items: flex-start;
        flex-direction: column;
    }

    .posys-production-process-controls > div {
        width: 100%;
    }

    .posys-production-process-controls form {
        width: 100%;
    }

    .posys-production-process-controls .posys-button {
        width: 100%;
    }

    .posys-production-progress-summary {
        grid-template-columns: 1fr 1fr;
    }

    .posys-production-progress-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .posys-production-progress-actions .posys-button {
        width: 100%;
        min-width: 0;
    }

    .posys-production-complete-button {
        min-width: 0 !important;
    }

}


/* =========================================================
   POSYS PRODUCTION NEXT ACTION UI V1
   ========================================================= */

.posys-production-next-stage {
    margin-top: 22px;
    padding-top: 24px;
    border-top: 1px solid #dce4eb;
}

.posys-production-next-stage-header {
    margin-bottom: 18px;
}

.posys-production-next-stage-header h3 {
    margin: 5px 0 6px;
    font-size: 1.45rem;
}

.posys-production-next-stage-header p {
    max-width: 760px;
    margin: 0;
    color: #647587;
    line-height: 1.5;
}


.posys-production-next-stage-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.65fr)
        minmax(310px, 0.85fr);
    gap: 20px;
    align-items: stretch;
}


.posys-production-next-card {
    min-width: 0;
    padding: 22px;
    border: 1px solid #dbe3ea;
    border-radius: 16px;
    background: #ffffff;
}


.posys-production-next-card-continue {
    background: #ffffff;
}


.posys-production-next-card-finish {
    display: flex;
    flex-direction: column;
    background: #f8fafc;
}


.posys-production-next-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 20px;
}

.posys-production-next-card-header h3 {
    margin: 5px 0 6px;
    font-size: 1.22rem;
}

.posys-production-next-card-header p {
    margin: 0;
    color: #66788a;
    line-height: 1.48;
}


.posys-production-next-step-badge {
    flex: 0 0 auto;
    padding: 6px 10px;
    border: 1px solid #d5e2eb;
    border-radius: 999px;
    background: #f4f8fb;
    color: #4d6678;
    font-size: 0.72rem;
    font-weight: 700;
    white-space: nowrap;
}


.posys-production-next-process-form,
.posys-production-finish-form {
    margin: 0;
}


.posys-production-next-process-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.4fr)
        minmax(220px, 0.8fr);
    gap: 14px;
}


.posys-production-next-process-main label,
.posys-production-next-process-machine label,
.posys-production-next-other label,
.posys-production-next-remarks label {
    display: block;
    margin-bottom: 6px;
    font-weight: 700;
}


.posys-production-next-process-main select,
.posys-production-next-process-machine input,
.posys-production-next-other input,
.posys-production-next-remarks textarea {
    width: 100%;
}


.posys-production-next-process-main select,
.posys-production-next-process-machine input,
.posys-production-next-other input {
    min-height: 46px;
}


.posys-production-next-other,
.posys-production-next-remarks {
    margin-top: 14px;
}


.posys-production-next-remarks textarea {
    min-height: 88px;
    resize: vertical;
}


.posys-production-next-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 16px;
}


.posys-production-finish-summary {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 16px;
}


.posys-production-finish-summary > div {
    padding: 13px 14px;
    border: 1px solid #dce4eb;
    border-radius: 12px;
    background: #ffffff;
}


.posys-production-finish-summary span {
    display: block;
    margin-bottom: 3px;
    color: #6b7d8e;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}


.posys-production-finish-summary strong {
    display: block;
    color: #10283c;
    font-size: 1rem;
}


.posys-production-finish-destination {
    margin-bottom: 2px;
    padding: 15px;
    border: 1px solid #dbe5eb;
    border-radius: 12px;
    background: #ffffff;
}


.posys-production-finish-destination > span {
    display: block;
    margin-bottom: 3px;
    color: #6b7d8e;
    font-size: 0.69rem;
    font-weight: 700;
    letter-spacing: 0.07em;
}


.posys-production-finish-destination > strong {
    display: block;
    margin-bottom: 4px;
    font-size: 1.05rem;
}


.posys-production-finish-destination p {
    margin: 0;
    color: #66788a;
    font-size: 0.9rem;
    line-height: 1.45;
}


.posys-production-finish-form {
    display: flex;
    flex-direction: column;
    flex: 1;
}


.posys-production-finish-form
.posys-production-next-remarks {
    margin-top: 14px;
}


.posys-production-finish-button {
    width: 100%;
    margin-top: 16px;
}


@media (max-width: 1000px) {

    .posys-production-next-stage-grid {
        grid-template-columns: 1fr;
    }

    .posys-production-next-card-finish {
        display: block;
    }

}


@media (max-width: 720px) {

    .posys-production-next-stage {
        margin-top: 18px;
        padding-top: 18px;
    }

    .posys-production-next-card {
        padding: 18px;
        border-radius: 14px;
    }

    .posys-production-next-card-header {
        flex-direction: column;
        gap: 8px;
    }

    .posys-production-next-process-grid {
        grid-template-columns: 1fr;
    }

    .posys-production-next-actions {
        justify-content: stretch;
    }

    .posys-production-next-actions .posys-button {
        width: 100%;
    }

}


@media (max-width: 480px) {

    .posys-production-finish-summary {
        grid-template-columns: 1fr;
    }

}



/* ============================================================
   POSYS CONTROLLED FILES TABLE V2
   Scoped to job-detail controlled files only.
   ============================================================ */

.posys-controlled-files-card {
    min-width: 0;
    overflow: hidden;
}


.posys-controlled-files-card > h2 {
    margin-bottom: 20px;
}


.posys-controlled-files-table-wrap-v2 {
    width: 100%;
    max-width: 100%;
    margin-top: 18px;
    overflow-x: auto;
    overflow-y: hidden;
    border: 1px solid #d8e2ea;
    border-radius: 12px;
    background: #ffffff;
    box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
}


.posys-controlled-files-table-v2 {
    width: 100%;
    min-width: 1080px;
    margin: 0;
    border-collapse: collapse;
    table-layout: fixed;
}


.posys-controlled-files-table-v2 th,
.posys-controlled-files-table-v2 td {
    box-sizing: border-box;
    padding: 14px 12px;
    vertical-align: top;
    line-height: 1.4;
    overflow-wrap: break-word;
    word-break: normal;
}


.posys-controlled-files-table-v2 th {
    background: #edf4f7;
    color: #10283b;
    font-size: 0.79rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.015em;
    white-space: normal;
}


.posys-controlled-files-table-v2 tbody td {
    border-top: 1px solid #e1e8ee;
    color: #142b3e;
    font-size: 0.88rem;
}


.posys-controlled-files-table-v2 tbody tr:first-child td {
    border-top: 0;
}


.posys-controlled-files-table-v2 tbody tr:hover {
    background: #fbfdfe;
}


/*
 * Desktop column balance:
 * Filename / Category / Purpose / Item / Size /
 * Uploaded by / Uploaded at / Release / Action
 */

.posys-controlled-files-table-v2 th:nth-child(1),
.posys-controlled-files-table-v2 td:nth-child(1) {
    width: 17%;
}

.posys-controlled-files-table-v2 th:nth-child(2),
.posys-controlled-files-table-v2 td:nth-child(2) {
    width: 10%;
}

.posys-controlled-files-table-v2 th:nth-child(3),
.posys-controlled-files-table-v2 td:nth-child(3) {
    width: 11%;
}

.posys-controlled-files-table-v2 th:nth-child(4),
.posys-controlled-files-table-v2 td:nth-child(4) {
    width: 7%;
}

.posys-controlled-files-table-v2 th:nth-child(5),
.posys-controlled-files-table-v2 td:nth-child(5) {
    width: 7%;
}

.posys-controlled-files-table-v2 th:nth-child(6),
.posys-controlled-files-table-v2 td:nth-child(6) {
    width: 8%;
}

.posys-controlled-files-table-v2 th:nth-child(7),
.posys-controlled-files-table-v2 td:nth-child(7) {
    width: 11%;
}

.posys-controlled-files-table-v2 th:nth-child(8),
.posys-controlled-files-table-v2 td:nth-child(8) {
    width: 16%;
}

.posys-controlled-files-table-v2 th:nth-child(9),
.posys-controlled-files-table-v2 td:nth-child(9) {
    width: 13%;
}


.posys-controlled-file-name-v2 {
    font-weight: 700;
    overflow-wrap: anywhere !important;
}


.posys-controlled-files-table-v2 td:nth-child(4),
.posys-controlled-file-size-v2 {
    white-space: nowrap;
}


.posys-controlled-file-size-v2 {
    color: #536979;
    font-variant-numeric: tabular-nums;
}


.posys-controlled-file-user-v2 {
    overflow-wrap: anywhere;
}


.posys-controlled-file-date-v2 strong,
.posys-controlled-file-date-v2 span,
.posys-controlled-file-release-v2 strong,
.posys-controlled-file-release-v2 span,
.posys-controlled-file-release-v2 small {
    display: block;
}


.posys-controlled-file-date-v2 strong {
    color: #183348;
    font-size: 0.86rem;
}


.posys-controlled-file-date-v2 span {
    margin-top: 2px;
    color: #617486;
    font-size: 0.8rem;
    white-space: nowrap;
}


.posys-controlled-file-release-v2 strong {
    margin-bottom: 3px;
    color: #183348;
    font-size: 0.85rem;
}


.posys-controlled-file-release-v2 span {
    color: #445d70;
    font-size: 0.82rem;
}


.posys-controlled-file-release-v2 small {
    margin-top: 3px;
    color: #697b8b;
    font-size: 0.75rem;
    line-height: 1.35;
}


.posys-controlled-file-not-released-v2 {
    display: inline-flex !important;
    width: fit-content;
    padding: 4px 8px;
    border: 1px solid #d8e1e8;
    border-radius: 999px;
    background: #f7f9fb;
    color: #607384 !important;
    font-size: 0.73rem !important;
    font-weight: 700;
    white-space: nowrap;
}


/*
 * The original template uses "|" between actions.
 * font-size: 0 hides those separators while the links
 * retain an explicit font size.
 */

.posys-controlled-file-actions-v2 {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    min-width: 0;
    font-size: 0;
}


.posys-controlled-file-actions-v2 a {
    display: flex;
    align-items: center;
    min-height: 32px;
    padding: 5px 8px;
    border: 1px solid #d6e1e9;
    border-radius: 8px;
    background: #ffffff;
    color: #075d82;
    font-size: 0.77rem;
    font-weight: 700;
    line-height: 1.25;
    text-decoration: none;
    overflow-wrap: anywhere;
}


.posys-controlled-file-actions-v2 a:hover {
    border-color: #a9c9d8;
    background: #f1f8fb;
    text-decoration: none;
}


/* ------------------------------------------------------------
   Tablet
   ------------------------------------------------------------ */

@media (max-width: 1100px) {

    .posys-controlled-files-table-v2 {
        min-width: 1050px;
    }

}


/* ------------------------------------------------------------
   Mobile: convert each controlled file into a readable card.
   ------------------------------------------------------------ */

@media (max-width: 720px) {

    .posys-controlled-files-card {
        overflow: visible;
    }


    .posys-controlled-files-table-wrap-v2 {
        overflow: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
    }


    .posys-controlled-files-table-v2 {
        display: block;
        width: 100%;
        min-width: 0;
        background: transparent;
    }


    .posys-controlled-files-table-v2 thead {
        display: none;
    }


    .posys-controlled-files-table-v2 tbody {
        display: grid;
        gap: 14px;
    }


    .posys-controlled-files-table-v2 tr {
        display: block;
        overflow: hidden;
        border: 1px solid #d9e3ea;
        border-radius: 12px;
        background: #ffffff;
    }


    .posys-controlled-files-table-v2 tbody tr:hover {
        background: #ffffff;
    }


    .posys-controlled-files-table-v2 td {
        display: grid;
        grid-template-columns: 104px minmax(0, 1fr);
        gap: 10px;
        width: 100% !important;
        padding: 10px 12px;
        border: 0;
        border-top: 1px solid #e7edf1;
        font-size: 0.84rem;
    }


    .posys-controlled-files-table-v2 td:first-child {
        border-top: 0;
    }


    .posys-controlled-files-table-v2 td::before {
        align-self: start;
        color: #6b7d8c;
        font-size: 0.67rem;
        font-weight: 800;
        line-height: 1.35;
        letter-spacing: 0.045em;
        text-transform: uppercase;
    }


    .posys-controlled-files-table-v2 td:nth-child(1)::before {
        content: "Filename";
    }

    .posys-controlled-files-table-v2 td:nth-child(2)::before {
        content: "Category";
    }

    .posys-controlled-files-table-v2 td:nth-child(3)::before {
        content: "Purpose";
    }

    .posys-controlled-files-table-v2 td:nth-child(4)::before {
        content: "Item";
    }

    .posys-controlled-files-table-v2 td:nth-child(5)::before {
        content: "Size";
    }

    .posys-controlled-files-table-v2 td:nth-child(6)::before {
        content: "Uploaded by";
    }

    .posys-controlled-files-table-v2 td:nth-child(7)::before {
        content: "Uploaded at";
    }

    .posys-controlled-files-table-v2 td:nth-child(8)::before {
        content: "Release";
    }

    .posys-controlled-files-table-v2 td:nth-child(9)::before {
        content: "Action";
    }


    .posys-controlled-file-actions-v2 {
        width: 100%;
    }


    .posys-controlled-file-actions-v2 a {
        min-height: 36px;
        justify-content: center;
        text-align: center;
    }

}


/* ------------------------------------------------------------
   Very small phones
   ------------------------------------------------------------ */

@media (max-width: 460px) {

    .posys-controlled-files-table-v2 td {
        grid-template-columns: 88px minmax(0, 1fr);
        gap: 8px;
        padding: 10px;
    }

}



/* ============================================================
   POSYS CREATE JOB CUSTOMER SEARCH V1
   Searchable enhancement for the existing Django Customer
   ModelChoiceField. The real select remains authoritative.
   ============================================================ */

.posys-customer-picker-v1 {
    position: relative;
    width: 100%;
}


.posys-customer-search-v1 {
    width: 100%;
    min-height: 58px;
    padding:
        12px
        44px
        12px
        20px;
    box-sizing: border-box;
    border: 1px solid #bfd0dd;
    border-radius: 11px;
    background-color: #ffffff;
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23596f80' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position:
        right 16px center;
    color: #10283c;
    font: inherit;
}


.posys-customer-search-v1:focus {
    outline: none;
    border-color: #15a7ce;
    box-shadow:
        0 0 0 3px
        rgba(
            15,
            171,
            210,
            0.12
        );
}


.posys-customer-search-v1::placeholder {
    color: #8293a1;
}


.posys-customer-select-enhanced-v1 {
    /*
     * Keep the field in the form and validation flow,
     * but remove the long dropdown from the visual UI.
     */
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}


.posys-customer-results-v1 {
    position: absolute;
    z-index: 60;
    top: calc(100% - 22px);
    left: 0;
    right: 0;
    max-height: 320px;
    overflow-y: auto;
    padding: 6px;
    border: 1px solid #cbd9e3;
    border-radius: 10px;
    background: #ffffff;
    box-shadow:
        0 14px 32px
        rgba(
            20,
            45,
            65,
            0.14
        );
}


.posys-customer-result-v1 {
    display: block;
    width: 100%;
    min-height: 42px;
    padding: 9px 12px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #173247;
    font: inherit;
    font-size: 0.87rem;
    line-height: 1.35;
    text-align: left;
    cursor: pointer;
}


.posys-customer-result-v1:hover,
.posys-customer-result-v1:focus {
    outline: none;
    background: #eef8fb;
    color: #075d82;
}


.posys-customer-empty-v1 {
    padding: 12px;
    color: #6b7e8d;
    font-size: 0.84rem;
}


.posys-customer-search-help-v1 {
    margin-top: 6px;
    color: #758796;
    font-size: 0.74rem;
    line-height: 1.35;
}


@media (max-width: 640px) {

    .posys-customer-search-v1 {
        min-height: 52px;
        padding-left: 14px;
    }


    .posys-customer-results-v1 {
        max-height: 260px;
    }

}



/* ============================================================
   POSYS CREATE JOB SPACING REFINE V1
   ============================================================ */

.posys-customer-select-enhanced-v1,
.posys-customer-select-enhanced-v1[hidden] {
    display: none !important;
}


.posys-customer-picker-v1 {
    margin: 0;
}


.posys-customer-search-v1 {
    min-height: 54px;
}


.posys-customer-search-help-v1 {
    margin-top: 6px;
    margin-bottom: 0;
    color: #718493;
    font-size: 0.73rem;
    line-height: 1.35;
}


/*
 * Job form field rhythm.
 * Scoped to job_form through the customer picker so other
 * POSYS forms remain unchanged.
 */

form:has(.posys-customer-picker-v1) > p {
    margin-top: 0;
    margin-bottom: 15px;
}


form:has(.posys-customer-picker-v1) > p > label {
    display: block;
    margin-bottom: 7px;
    line-height: 1.25;
}


form:has(.posys-customer-picker-v1)
input:not([type="hidden"]),
form:has(.posys-customer-picker-v1)
select,
form:has(.posys-customer-picker-v1)
textarea {
    box-sizing: border-box;
}


form:has(.posys-customer-picker-v1)
textarea {
    margin-top: 0;
}


/*
 * Keep the action button visually separated from the
 * final Sales Owner field.
 */

form:has(.posys-customer-picker-v1)
button[type="submit"],
form:has(.posys-customer-picker-v1)
input[type="submit"] {
    margin-top: 3px;
}


/*
 * Customer search results should sit directly beneath
 * the search box without affecting document spacing.
 */

.posys-customer-results-v1 {
    top: calc(100% - 22px);
}


@media (max-width: 640px) {

    form:has(.posys-customer-picker-v1) > p {
        margin-bottom: 13px;
    }


    form:has(.posys-customer-picker-v1) > p > label {
        margin-bottom: 6px;
    }


    .posys-customer-search-v1 {
        min-height: 50px;
    }

}



/* ============================================================
   POSYS CREATE JOB FINAL ACTION SPACING V1
   ============================================================ */

form:has(.posys-customer-picker-v1)
button[type="submit"],
form:has(.posys-customer-picker-v1)
input[type="submit"] {
    margin-top: 18px !important;
    margin-bottom: 20px;
}


/*
 * Give the final Sales Owner field slightly more separation
 * from the action area.
 */
form:has(.posys-customer-picker-v1) > p:last-of-type {
    margin-bottom: 0;
}


@media (max-width: 640px) {

    form:has(.posys-customer-picker-v1)
    button[type="submit"],
    form:has(.posys-customer-picker-v1)
    input[type="submit"] {
        width: 100%;
        margin-top: 16px !important;
        margin-bottom: 18px;
    }

}


/* ============================================================
   POSYS CURRENT JOBS CREATE JOB FINAL
   ============================================================ */

.posys-current-jobs-create-final {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: auto;
    min-height: 44px;
    padding: 9px 18px;
    margin: 0;
    box-sizing: border-box;
    white-space: nowrap;
}

.posys-current-jobs-create-final
span[aria-hidden="true"] {
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1;
}

@media (max-width: 720px) {

    .posys-current-jobs-create-row-final {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
    }

    .posys-current-jobs-create-final {
        width: 100% !important;
        min-height: 48px;
    }

}



/* ============================================================
   POSYS CURRENT JOBS INLINE CREATE ACTION - FINAL
   ============================================================ */

.posys-current-jobs-header-inline-final {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    width: 100%;
    margin: 0 0 38px;
    box-sizing: border-box;
}

.posys-current-jobs-heading-inline-final {
    min-width: 0;
}

.posys-current-jobs-heading-inline-final h1 {
    margin-bottom: 8px;
}

.posys-current-jobs-heading-inline-final p {
    max-width: 760px;
    margin-bottom: 0;
}

.posys-current-jobs-create-inline-final {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 44px;
    padding: 9px 18px;
    margin: 0;
    box-sizing: border-box;
    white-space: nowrap;
}

.posys-current-jobs-create-inline-final
span[aria-hidden="true"] {
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1;
}

@media (max-width: 720px) {

    .posys-current-jobs-header-inline-final {
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
        margin-bottom: 22px;
    }

    .posys-current-jobs-create-inline-final {
        width: 100%;
        min-height: 48px;
    }

}



/* ============================================================
   POSYS PREVIOUS JOB SEARCH V2
   ============================================================ */

.posys-history-header-v2 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 28px;
    margin-bottom: 32px;
}


.posys-history-heading-v2 {
    min-width: 0;
}


.posys-history-heading-v2 h1 {
    margin: 0 0 8px;
}


.posys-history-heading-v2 p {
    max-width: 760px;
    margin: 0;
    color: #647587;
    line-height: 1.5;
}


.posys-history-create-v2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 44px;
    padding: 9px 18px;
    margin: 0;
    white-space: nowrap;
}


.posys-history-create-v2 span {
    font-size: 1.15rem;
    line-height: 1;
}


.posys-history-search-card-v2,
.posys-history-results-card-v2 {
    min-width: 0;
}


.posys-history-search-card-v2 {
    margin-bottom: 24px;
}


.posys-history-section-heading-v2 {
    margin-bottom: 18px;
}


.posys-history-section-heading-v2 h2,
.posys-history-results-heading-v2 h2 {
    margin: 0;
}


.posys-history-section-heading-v2 p,
.posys-history-results-heading-v2 p {
    margin: 6px 0 0;
    color: #6b7c8b;
    font-size: 0.86rem;
    line-height: 1.45;
}


.posys-history-search-form-v2 {
    margin: 0;
}


.posys-history-search-grid-v2 {
    display: grid;
    grid-template-columns:
        minmax(260px, 2fr)
        minmax(170px, 0.75fr)
        minmax(170px, 0.75fr)
        auto;
    gap: 14px;
    align-items: end;
}


.posys-history-field-v2 {
    min-width: 0;
}


.posys-history-field-v2 label {
    display: block;
    margin-bottom: 7px;
    color: #273f52;
    font-size: 0.78rem;
    font-weight: 800;
}


.posys-history-field-v2 input {
    width: 100%;
    min-height: 48px;
    box-sizing: border-box;
}


.posys-history-query-v2 input {
    padding-left: 15px;
}


.posys-history-field-v2
.errorlist {
    margin: 6px 0 0;
}


.posys-history-search-actions-v2 {
    display: flex;
    align-items: center;
    gap: 8px;
}


.posys-history-search-button-v2,
.posys-history-clear-button-v2 {
    min-height: 48px;
    margin: 0;
    white-space: nowrap;
}


.posys-history-results-heading-v2 {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}


.posys-history-table-wrap-v2 {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    border: 1px solid #dbe4eb;
    border-radius: 12px;
    background: #ffffff;
    box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
}


.posys-history-table-v2 {
    width: 100%;
    min-width: 1120px;
    margin: 0;
    border-collapse: collapse;
    table-layout: fixed;
}


.posys-history-table-v2 th,
.posys-history-table-v2 td {
    box-sizing: border-box;
    padding: 15px 14px;
    vertical-align: top;
    text-align: left;
}


.posys-history-table-v2 th {
    background: #edf4f7;
    color: #10283c;
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}


.posys-history-table-v2 td {
    border-top: 1px solid #e2e9ee;
    color: #173044;
    font-size: 0.84rem;
    line-height: 1.4;
    overflow-wrap: break-word;
}


.posys-history-table-v2 tbody tr:first-child td {
    border-top: 0;
}


.posys-history-table-v2 tbody tr:hover {
    background: #fbfdfe;
}


.posys-history-table-v2 th:nth-child(1),
.posys-history-table-v2 td:nth-child(1) {
    width: 17%;
}


.posys-history-table-v2 th:nth-child(2),
.posys-history-table-v2 td:nth-child(2) {
    width: 13%;
}


.posys-history-table-v2 th:nth-child(3),
.posys-history-table-v2 td:nth-child(3) {
    width: 14%;
}


.posys-history-table-v2 th:nth-child(4),
.posys-history-table-v2 td:nth-child(4) {
    width: 21%;
}


.posys-history-table-v2 th:nth-child(5),
.posys-history-table-v2 td:nth-child(5) {
    width: 21%;
}


.posys-history-table-v2 th:nth-child(6),
.posys-history-table-v2 td:nth-child(6) {
    width: 14%;
}


.posys-history-job-number-v2 {
    display: inline-block;
    margin-bottom: 7px;
    font-weight: 900;
}


.posys-history-job-title-v2 {
    display: block;
    margin-bottom: 8px;
    color: #203a4e;
}


.posys-history-meta-v2 {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}


.posys-history-meta-v2 span {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 7px;
    border-radius: 999px;
    background: #f1f5f8;
    color: #617586;
    font-size: 0.69rem;
    font-weight: 700;
}


.posys-history-subtext-v2,
.posys-history-quantity-v2 {
    display: block;
    margin-top: 4px;
}


.posys-history-subtext-v2 {
    color: #617486;
}


.posys-history-quantity-v2 {
    color: #334f63;
    font-weight: 800;
}


.posys-history-item-number-v2 {
    display: inline-flex;
    padding: 4px 8px;
    border: 1px solid #d9e3ea;
    border-radius: 7px;
    background: #f8fafc;
    font-size: 0.75rem;
}


.posys-history-spec-list-v2 {
    display: grid;
    gap: 7px;
    margin: 0;
}


.posys-history-spec-list-v2 > div {
    display: grid;
    grid-template-columns: minmax(90px, 0.8fr) minmax(0, 1.2fr);
    gap: 8px;
}


.posys-history-spec-list-v2 dt {
    color: #687b8b;
    font-size: 0.72rem;
    font-weight: 800;
}


.posys-history-spec-list-v2 dd {
    min-width: 0;
    margin: 0;
    color: #263f53;
    overflow-wrap: anywhere;
}


.posys-history-artwork-v2 {
    display: grid;
    gap: 7px;
}


.posys-history-file-v2 {
    display: block;
    padding: 7px 8px;
    border: 1px solid #e0e8ee;
    border-radius: 7px;
    background: #f9fbfc;
    overflow-wrap: anywhere;
}


.posys-history-file-v2 small {
    display: block;
    margin-top: 2px;
    color: #718391;
}


.posys-history-muted-v2 {
    color: #82919d;
}


.posys-history-actions-v2 {
    display: grid;
    gap: 7px;
}


.posys-history-actions-v2 .button {
    width: 100%;
    min-height: 38px;
    padding: 7px 10px;
    margin: 0;
    box-sizing: border-box;
    justify-content: center;
    text-align: center;
    white-space: normal;
}


.posys-history-pagination-v2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 18px;
    color: #667989;
    font-size: 0.82rem;
}


.posys-history-pagination-actions-v2 {
    display: flex;
    gap: 8px;
}


.posys-history-pagination-actions-v2 .button {
    margin: 0;
}


.posys-history-empty-v2 {
    padding: 24px;
    border: 1px dashed #ccd9e2;
    border-radius: 11px;
    background: #f8fafc;
}


.posys-history-empty-v2 strong {
    display: block;
    margin-bottom: 5px;
    color: #213b4f;
}


.posys-history-empty-v2 p {
    margin: 0;
    color: #6a7d8c;
}


@media (max-width: 1050px) {

    .posys-history-search-grid-v2 {
        grid-template-columns:
            minmax(0, 1.5fr)
            minmax(160px, 0.75fr)
            minmax(160px, 0.75fr);
    }


    .posys-history-search-actions-v2 {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }

}


@media (max-width: 760px) {

    .posys-history-header-v2 {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-bottom: 22px;
    }


    .posys-history-create-v2 {
        width: 100%;
        min-height: 48px;
        box-sizing: border-box;
    }


    .posys-history-search-grid-v2 {
        grid-template-columns: 1fr;
    }


    .posys-history-search-actions-v2 {
        grid-column: auto;
        display: grid;
        grid-template-columns: 1fr;
    }


    .posys-history-search-actions-v2 .button {
        width: 100%;
    }


    .posys-history-table-wrap-v2 {
        overflow: visible;
        border: 0;
        background: transparent;
    }


    .posys-history-table-v2 {
        display: block;
        min-width: 0;
        background: transparent;
    }


    .posys-history-table-v2 thead {
        display: none;
    }


    .posys-history-table-v2 tbody {
        display: grid;
        gap: 14px;
    }


    .posys-history-table-v2 tr {
        display: block;
        overflow: hidden;
        border: 1px solid #dbe4eb;
        border-radius: 12px;
        background: #ffffff;
    }


    .posys-history-table-v2 td {
        display: grid;
        grid-template-columns: 108px minmax(0, 1fr);
        gap: 10px;
        width: 100% !important;
        padding: 11px 12px;
        border: 0;
        border-top: 1px solid #e6edf2;
    }


    .posys-history-table-v2 td:first-child {
        border-top: 0;
    }


    .posys-history-table-v2 td::before {
        content: attr(data-label);
        color: #718391;
        font-size: 0.66rem;
        font-weight: 900;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }


    .posys-history-spec-list-v2 > div {
        grid-template-columns: 1fr;
        gap: 2px;
    }


    .posys-history-pagination-v2 {
        align-items: stretch;
        flex-direction: column;
    }


    .posys-history-pagination-actions-v2 {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }


    .posys-history-pagination-actions-v2 .button {
        width: 100%;
    }

}


@media (max-width: 460px) {

    .posys-history-table-v2 td {
        grid-template-columns: 88px minmax(0, 1fr);
        gap: 8px;
        padding: 10px;
    }


    .posys-history-pagination-actions-v2 {
        grid-template-columns: 1fr;
    }

}



/* ============================================================
   POSYS PREVIOUS JOB SEARCH V3 - SPACING REFINEMENT
   ============================================================ */

.posys-history-header-v3 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 24px;
    margin: 0 0 24px;
}

.posys-history-heading-v3 h1 {
    margin: 0 0 8px;
}

.posys-history-heading-v3 p {
    margin: 0;
    max-width: 760px;
    color: #647587;
    line-height: 1.5;
}

.posys-history-create-v3 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 44px;
    padding: 9px 18px;
    margin: 0;
    white-space: nowrap;
    align-self: start;
}

.posys-history-search-card-v3 {
    margin-bottom: 22px;
    padding-top: 24px;
    padding-bottom: 24px;
}

.posys-history-section-heading-v3 {
    margin-bottom: 14px;
}

.posys-history-section-heading-v3 h2,
.posys-history-results-heading-v3 h2 {
    margin: 0;
}

.posys-history-section-heading-v3 p,
.posys-history-results-heading-v3 p {
    margin: 6px 0 0;
    color: #6b7c8b;
    font-size: 0.86rem;
    line-height: 1.45;
}

.posys-history-search-form-v3 {
    margin: 0;
}

.posys-history-search-grid-v3 {
    display: grid;
    grid-template-columns:
        minmax(280px, 2fr)
        minmax(170px, 0.9fr)
        minmax(170px, 0.9fr)
        auto;
    gap: 14px;
    align-items: end;
}

.posys-history-field-v3 {
    min-width: 0;
}

.posys-history-field-v3 label {
    display: block;
    margin-bottom: 6px;
    color: #273f52;
    font-size: 0.78rem;
    font-weight: 800;
}

.posys-history-field-v3 input {
    width: 100%;
    min-height: 46px;
    box-sizing: border-box;
}

.posys-history-query-v3 input {
    padding-left: 15px;
}

.posys-history-search-actions-v3 {
    display: flex;
    align-items: center;
    gap: 8px;
}

.posys-history-search-button-v3,
.posys-history-clear-button-v3 {
    min-height: 46px;
    margin: 0;
    white-space: nowrap;
}

.posys-history-results-card-v3 {
    padding-top: 24px;
    padding-bottom: 24px;
}

.posys-history-results-heading-v3 {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
}

.posys-history-empty-v3 {
    padding: 18px 20px;
    border: 1px dashed #ccd9e2;
    border-radius: 11px;
    background: #f8fafc;
}

.posys-history-empty-v3 strong {
    display: block;
    margin-bottom: 4px;
    color: #213b4f;
}

.posys-history-empty-v3 p {
    margin: 0;
    color: #6a7d8c;
    line-height: 1.45;
}

.posys-history-table-wrap-v3 {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    border: 1px solid #dbe4eb;
    border-radius: 12px;
    background: #ffffff;
    box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
}

.posys-history-table-v3 {
    width: 100%;
    min-width: 1120px;
    margin: 0;
    border-collapse: collapse;
    table-layout: fixed;
}

.posys-history-table-v3 th,
.posys-history-table-v3 td {
    box-sizing: border-box;
    padding: 14px 14px;
    vertical-align: top;
    text-align: left;
}

.posys-history-table-v3 th {
    background: #edf4f7;
    color: #10283c;
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.posys-history-table-v3 td {
    border-top: 1px solid #e2e9ee;
    color: #173044;
    font-size: 0.84rem;
    line-height: 1.4;
    overflow-wrap: break-word;
}

.posys-history-table-v3 tbody tr:first-child td {
    border-top: 0;
}

.posys-history-table-v3 tbody tr:hover {
    background: #fbfdfe;
}

.posys-history-table-v3 th:nth-child(1),
.posys-history-table-v3 td:nth-child(1) { width: 17%; }

.posys-history-table-v3 th:nth-child(2),
.posys-history-table-v3 td:nth-child(2) { width: 13%; }

.posys-history-table-v3 th:nth-child(3),
.posys-history-table-v3 td:nth-child(3) { width: 14%; }

.posys-history-table-v3 th:nth-child(4),
.posys-history-table-v3 td:nth-child(4) { width: 21%; }

.posys-history-table-v3 th:nth-child(5),
.posys-history-table-v3 td:nth-child(5) { width: 21%; }

.posys-history-table-v3 th:nth-child(6),
.posys-history-table-v3 td:nth-child(6) { width: 14%; }

.posys-history-job-number-v3 {
    display: inline-block;
    margin-bottom: 6px;
    font-weight: 900;
}

.posys-history-job-title-v3 {
    display: block;
    margin-bottom: 7px;
    color: #203a4e;
}

.posys-history-meta-v3 {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.posys-history-meta-v3 span {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 7px;
    border-radius: 999px;
    background: #f1f5f8;
    color: #617586;
    font-size: 0.69rem;
    font-weight: 700;
}

.posys-history-subtext-v3,
.posys-history-quantity-v3 {
    display: block;
    margin-top: 4px;
}

.posys-history-subtext-v3 {
    color: #617486;
}

.posys-history-quantity-v3 {
    color: #334f63;
    font-weight: 800;
}

.posys-history-item-number-v3 {
    display: inline-flex;
    padding: 4px 8px;
    border: 1px solid #d9e3ea;
    border-radius: 7px;
    background: #f8fafc;
    font-size: 0.75rem;
}

.posys-history-spec-list-v3 {
    display: grid;
    gap: 7px;
    margin: 0;
}

.posys-history-spec-list-v3 > div {
    display: grid;
    grid-template-columns: minmax(90px, 0.8fr) minmax(0, 1.2fr);
    gap: 8px;
}

.posys-history-spec-list-v3 dt {
    color: #687b8b;
    font-size: 0.72rem;
    font-weight: 800;
}

.posys-history-spec-list-v3 dd {
    min-width: 0;
    margin: 0;
    color: #263f53;
    overflow-wrap: anywhere;
}

.posys-history-artwork-v3 {
    display: grid;
    gap: 7px;
}

.posys-history-file-v3 {
    display: block;
    padding: 7px 8px;
    border: 1px solid #e0e8ee;
    border-radius: 7px;
    background: #f9fbfc;
    overflow-wrap: anywhere;
}

.posys-history-file-v3 small {
    display: block;
    margin-top: 2px;
    color: #718391;
}

.posys-history-muted-v3 {
    color: #82919d;
}

.posys-history-actions-v3 {
    display: grid;
    gap: 7px;
}

.posys-history-actions-v3 .button {
    width: 100%;
    min-height: 38px;
    padding: 7px 10px;
    margin: 0;
    box-sizing: border-box;
    justify-content: center;
    text-align: center;
    white-space: normal;
}

.posys-history-pagination-v3 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 16px;
    color: #667989;
    font-size: 0.82rem;
}

.posys-history-pagination-actions-v3 {
    display: flex;
    gap: 8px;
}

.posys-history-pagination-actions-v3 .button {
    margin: 0;
}

@media (max-width: 1050px) {
    .posys-history-search-grid-v3 {
        grid-template-columns:
            minmax(0, 1.5fr)
            minmax(160px, 0.75fr)
            minmax(160px, 0.75fr);
    }

    .posys-history-search-actions-v3 {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }
}

@media (max-width: 760px) {
    .posys-history-header-v3 {
        grid-template-columns: 1fr;
        gap: 14px;
        margin-bottom: 18px;
    }

    .posys-history-create-v3 {
        width: 100%;
        min-height: 48px;
        box-sizing: border-box;
    }

    .posys-history-search-grid-v3 {
        grid-template-columns: 1fr;
    }

    .posys-history-search-actions-v3 {
        grid-column: auto;
        display: grid;
        grid-template-columns: 1fr;
    }

    .posys-history-search-actions-v3 .button {
        width: 100%;
    }

    .posys-history-table-wrap-v3 {
        overflow: visible;
        border: 0;
        background: transparent;
    }

    .posys-history-table-v3 {
        display: block;
        min-width: 0;
        background: transparent;
    }

    .posys-history-table-v3 thead {
        display: none;
    }

    .posys-history-table-v3 tbody {
        display: grid;
        gap: 14px;
    }

    .posys-history-table-v3 tr {
        display: block;
        overflow: hidden;
        border: 1px solid #dbe4eb;
        border-radius: 12px;
        background: #ffffff;
    }

    .posys-history-table-v3 td {
        display: grid;
        grid-template-columns: 108px minmax(0, 1fr);
        gap: 10px;
        width: 100% !important;
        padding: 11px 12px;
        border: 0;
        border-top: 1px solid #e6edf2;
    }

    .posys-history-table-v3 td:first-child {
        border-top: 0;
    }

    .posys-history-table-v3 td::before {
        content: attr(data-label);
        color: #718391;
        font-size: 0.66rem;
        font-weight: 900;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .posys-history-spec-list-v3 > div {
        grid-template-columns: 1fr;
        gap: 2px;
    }

    .posys-history-pagination-v3 {
        align-items: stretch;
        flex-direction: column;
    }

    .posys-history-pagination-actions-v3 {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .posys-history-pagination-actions-v3 .button {
        width: 100%;
    }
}

@media (max-width: 460px) {
    .posys-history-table-v3 td {
        grid-template-columns: 88px minmax(0, 1fr);
        gap: 8px;
        padding: 10px;
    }

    .posys-history-pagination-actions-v3 {
        grid-template-columns: 1fr;
    }
}



/* ============================================================
   POSYS CONTROLLED FILES TABLE V3
   Compact 7-column desktop table + mobile cards.
   ============================================================ */

.posys-controlled-files-card-v3 {
    min-width: 0;
}


.posys-controlled-files-header-v3 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}


.posys-controlled-files-header-v3 h2 {
    margin: 0;
}


.posys-controlled-files-header-v3 p {
    margin: 5px 0 0;
    color: #6b7d8c;
    font-size: 0.82rem;
    line-height: 1.4;
}


.posys-controlled-files-upload-v3 {
    flex: 0 0 auto;
    min-height: 42px;
    margin: 0;
    padding: 8px 16px;
    white-space: nowrap;
}


.posys-controlled-files-wrap-v3 {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    border: 1px solid #d7e2e9;
    border-radius: 11px;
    background: #ffffff;
    box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
}


table.posys-controlled-files-table-v3 {
    width: 100%;
    min-width: 900px;
    margin: 0;
    border-collapse: collapse;
    table-layout: fixed;
}


table.posys-controlled-files-table-v3 th,
table.posys-controlled-files-table-v3 td {
    box-sizing: border-box;
    padding: 13px 12px;
    text-align: left;
    vertical-align: top;
}


table.posys-controlled-files-table-v3 th {
    background: #edf4f7;
    color: #10283c;
    font-size: 0.72rem;
    font-weight: 900;
    line-height: 1.3;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}


table.posys-controlled-files-table-v3 td {
    border-top: 1px solid #e2e9ee;
    color: #183146;
    font-size: 0.81rem;
    line-height: 1.4;
}


table.posys-controlled-files-table-v3
tbody tr:first-child td {
    border-top: 0;
}


table.posys-controlled-files-table-v3
tbody tr:hover {
    background: #fbfdfe;
}


/* File */
table.posys-controlled-files-table-v3 th:nth-child(1),
table.posys-controlled-files-table-v3 td:nth-child(1) {
    width: 25%;
}


/* Type */
table.posys-controlled-files-table-v3 th:nth-child(2),
table.posys-controlled-files-table-v3 td:nth-child(2) {
    width: 18%;
}


/* Item */
table.posys-controlled-files-table-v3 th:nth-child(3),
table.posys-controlled-files-table-v3 td:nth-child(3) {
    width: 8%;
}


/* Size */
table.posys-controlled-files-table-v3 th:nth-child(4),
table.posys-controlled-files-table-v3 td:nth-child(4) {
    width: 8%;
}


/* Uploaded */
table.posys-controlled-files-table-v3 th:nth-child(5),
table.posys-controlled-files-table-v3 td:nth-child(5) {
    width: 13%;
}


/* Release */
table.posys-controlled-files-table-v3 th:nth-child(6),
table.posys-controlled-files-table-v3 td:nth-child(6) {
    width: 14%;
}


/* Actions */
table.posys-controlled-files-table-v3 th:nth-child(7),
table.posys-controlled-files-table-v3 td:nth-child(7) {
    width: 14%;
}


.posys-controlled-file-name-v3 strong {
    display: block;
    max-width: 100%;
    color: #163146;
    font-weight: 700;
    overflow-wrap: anywhere;
    word-break: break-word;
}


.posys-controlled-file-type-v3 {
    min-width: 0;
}


.posys-controlled-file-category-v3 {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    max-width: 100%;
    padding: 3px 8px;
    border: 1px solid #d7e2e9;
    border-radius: 999px;
    background: #f3f7f9;
    color: #355267;
    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1.25;
}


.posys-controlled-file-category-production_file {
    border-color: #b8e3ed;
    background: #eaf8fb;
    color: #08728f;
}


.posys-controlled-file-category-artwork_proof {
    border-color: #ddd7ee;
    background: #f6f3fb;
    color: #5e4a86;
}


.posys-controlled-file-purpose-v3 {
    display: block;
    margin-top: 6px;
    color: #667b8b;
    font-size: 0.73rem;
    line-height: 1.35;
}


.posys-controlled-file-item-v3 span {
    display: inline-flex;
    padding: 4px 7px;
    border: 1px solid #dce5eb;
    border-radius: 7px;
    background: #f8fafc;
    color: #29465a;
    font-size: 0.71rem;
    font-weight: 800;
}


.posys-controlled-file-size-v3 {
    white-space: nowrap;
}


.posys-controlled-file-uploaded-v3 strong,
.posys-controlled-file-uploaded-v3 span,
.posys-controlled-file-uploaded-v3 small,
.posys-controlled-file-release-v3 > span,
.posys-controlled-file-release-v3 > small {
    display: block;
}


.posys-controlled-file-uploaded-v3 strong {
    margin-bottom: 3px;
    color: #294457;
    font-size: 0.78rem;
}


.posys-controlled-file-uploaded-v3 span,
.posys-controlled-file-release-v3 > span {
    color: #536b7d;
    font-size: 0.73rem;
}


.posys-controlled-file-uploaded-v3 small,
.posys-controlled-file-release-v3 > small {
    margin-top: 2px;
    color: #7a8b98;
    font-size: 0.67rem;
    line-height: 1.35;
}


.posys-controlled-file-release-badge-v3 {
    display: inline-flex !important;
    align-items: center;
    width: fit-content;
    min-height: 25px;
    margin-bottom: 6px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 0.68rem !important;
    font-weight: 800;
    line-height: 1.2;
}


.posys-controlled-file-release-badge-v3.is-released {
    border: 1px solid #b9dfc8;
    background: #edf9f1;
    color: #237342;
}


.posys-controlled-file-release-badge-v3.is-pending {
    border: 1px solid #dbe3e8;
    background: #f3f6f8;
    color: #667987;
}


.posys-controlled-file-details-v3 {
    margin-top: 8px;
}


.posys-controlled-file-details-v3 summary {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 7px;
    border: 1px solid #d9e3e9;
    border-radius: 6px;
    background: #ffffff;
    color: #36596f;
    font-size: 0.68rem;
    font-weight: 800;
    cursor: pointer;
}


.posys-controlled-file-details-v3[open] summary {
    margin-bottom: 8px;
}


.posys-controlled-file-details-v3 dl {
    display: grid;
    gap: 5px;
    margin: 0;
}


.posys-controlled-file-details-v3 dl > div {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 6px;
}


.posys-controlled-file-details-v3 dt {
    color: #788995;
    font-size: 0.65rem;
    font-weight: 800;
}


.posys-controlled-file-details-v3 dd {
    min-width: 0;
    margin: 0;
    color: #334e61;
    font-size: 0.7rem;
    overflow-wrap: anywhere;
}


.posys-controlled-file-actions-v3 {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    width: 100%;
}


.posys-controlled-file-action-link-v3 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 32px;
    padding: 5px 7px;
    border: 1px solid #cfdae2;
    border-radius: 7px;
    background: #ffffff;
    color: #17506e;
    box-sizing: border-box;
    font-size: 0.69rem;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    overflow-wrap: anywhere;
}


.posys-controlled-file-action-link-v3:hover {
    border-color: #9fc9d8;
    background: #f2fafc;
    color: #075f7e;
}


.posys-controlled-file-action-link-v3.is-download {
    border-color: #a9dce7;
    background: #edf9fc;
    color: #087594;
}


.posys-controlled-files-empty-v3 {
    padding: 18px 20px;
    border: 1px dashed #cedae2;
    border-radius: 10px;
    background: #f8fafc;
    color: #667987;
}


/* ============================================================
   Controlled Files V3 - tablet
   ============================================================ */

@media (max-width: 1050px) {

    table.posys-controlled-files-table-v3 {
        min-width: 840px;
    }

}


/* ============================================================
   Controlled Files V3 - mobile cards
   ============================================================ */

@media (max-width: 760px) {

    .posys-controlled-files-header-v3 {
        align-items: stretch;
        flex-direction: column;
        gap: 14px;
    }


    .posys-controlled-files-upload-v3 {
        width: 100%;
        min-height: 46px;
        box-sizing: border-box;
    }


    .posys-controlled-files-wrap-v3 {
        overflow: visible;
        border: 0;
        background: transparent;
    }


    table.posys-controlled-files-table-v3 {
        display: block;
        width: 100%;
        min-width: 0;
        background: transparent;
    }


    table.posys-controlled-files-table-v3 thead {
        display: none;
    }


    table.posys-controlled-files-table-v3 tbody {
        display: grid;
        gap: 14px;
    }


    table.posys-controlled-files-table-v3 tr {
        display: block;
        overflow: hidden;
        border: 1px solid #d9e3ea;
        border-radius: 11px;
        background: #ffffff;
    }


    table.posys-controlled-files-table-v3 tbody tr:hover {
        background: #ffffff;
    }


    table.posys-controlled-files-table-v3 td {
        display: grid;
        grid-template-columns: 94px minmax(0, 1fr);
        gap: 10px;
        width: 100% !important;
        padding: 10px 12px;
        border: 0;
        border-top: 1px solid #e6edf2;
        box-sizing: border-box;
    }


    table.posys-controlled-files-table-v3 td:first-child {
        border-top: 0;
    }


    table.posys-controlled-files-table-v3 td::before {
        content: attr(data-label);
        align-self: start;
        color: #718391;
        font-size: 0.65rem;
        font-weight: 900;
        line-height: 1.35;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }


    .posys-controlled-file-actions-v3 {
        display: grid;
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        gap: 7px;
    }


    .posys-controlled-file-action-link-v3 {
        min-height: 38px;
    }

}


@media (max-width: 460px) {

    table.posys-controlled-files-table-v3 td {
        grid-template-columns: 78px minmax(0, 1fr);
        gap: 8px;
        padding: 10px;
    }


    .posys-controlled-file-actions-v3 {
        grid-template-columns: 1fr;
    }

}



/* ============================================================
   POSYS UI FOUNDATION V1 - CANONICAL SHARED LAYER
   ------------------------------------------------------------
   New POSYS UI work should use this layer as the common visual
   baseline instead of introducing independent page systems.

   Canonical responsive breakpoints for NEW work:
     Wide/tablet : 1100px
     Mobile shell:  900px
     Mobile      :  700px
     Narrow      :  430px

   Legacy page-specific breakpoints remain temporarily and will
   be consolidated only after every major module is migrated.
   ============================================================ */

:root {
    --posys-ui-space-1: 4px;
    --posys-ui-space-2: 8px;
    --posys-ui-space-3: 12px;
    --posys-ui-space-4: 16px;
    --posys-ui-space-5: 20px;
    --posys-ui-space-6: 24px;
    --posys-ui-space-7: 28px;
    --posys-ui-space-8: 32px;

    --posys-ui-radius-sm: 8px;
    --posys-ui-radius-md: 10px;
    --posys-ui-radius-lg: 12px;

    --posys-ui-control-height: 44px;
    --posys-ui-touch-target: 44px;

    --posys-ui-page-gutter: 28px;
    --posys-ui-section-gap: 20px;

    --posys-ui-border: #d9e3ea;
    --posys-ui-border-strong: #c8d5de;
    --posys-ui-surface: #ffffff;
    --posys-ui-surface-muted: #f7f9fb;
    --posys-ui-text: #17212b;
    --posys-ui-muted: #687784;

    --posys-ui-shadow:
        0 2px 10px rgba(20, 35, 50, 0.07);
}


/* ------------------------------------------------------------
   SHARED CONTENT SHELL
   ------------------------------------------------------------ */

.posys-content {
    width: 100%;
    min-width: 0;
    padding-left: var(--posys-ui-page-gutter);
    padding-right: var(--posys-ui-page-gutter);
}

.posys-topbar {
    gap: var(--posys-ui-space-4);
}

.posys-topbar-context {
    min-width: 0;
}

.posys-sidebar .posys-nav a {
    min-height: var(--posys-ui-touch-target);
    display: flex;
    align-items: center;
}


/* ------------------------------------------------------------
   PAGE AND SECTION HEADERS
   ------------------------------------------------------------ */

.posys-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--posys-ui-space-5);
    margin-bottom: var(--posys-ui-space-6);
}

.posys-page-header > * {
    min-width: 0;
}

.posys-page-header h1 {
    margin-top: 0;
    margin-bottom: var(--posys-ui-space-2);
    line-height: 1.2;
}

.posys-page-header p {
    margin-top: 0;
    margin-bottom: 0;
    color: var(--posys-ui-muted);
    line-height: 1.55;
}

.posys-section-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--posys-ui-space-4);
    margin-bottom: var(--posys-ui-space-4);
}

.posys-section-header > * {
    min-width: 0;
}

.posys-section-header h2,
.posys-section-header h3 {
    margin-top: 0;
    margin-bottom: 0;
}


/* ------------------------------------------------------------
   CARDS AND PANELS
   ------------------------------------------------------------ */

.posys-card {
    min-width: 0;
    border-color: var(--posys-ui-border);
    border-radius: var(--posys-ui-radius-md);
    background: var(--posys-ui-surface);
    box-shadow: var(--posys-ui-shadow);
}

.posys-content .card,
.posys-content .panel {
    min-width: 0;
    border-color: var(--posys-ui-border);
    border-radius: var(--posys-ui-radius-md);
}


/* ------------------------------------------------------------
   BUTTON FOUNDATION
   Existing button names remain supported during migration.
   ------------------------------------------------------------ */

.posys-button,
.button,
.posys-content .btn {
    min-height: var(--posys-ui-control-height);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--posys-ui-space-2);
    box-sizing: border-box;
    border-radius: var(--posys-ui-radius-sm);
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.posys-button-small,
.button-small {
    min-height: 38px;
}

.posys-form-actions,
.posys-actions,
.posys-action-group {
    gap: var(--posys-ui-space-2);
}


/* ------------------------------------------------------------
   FORM FOUNDATION
   ------------------------------------------------------------ */

.posys-form-field,
.form-row {
    min-width: 0;
}

.posys-form-field label,
.form-row label {
    display: block;
    margin-bottom: 6px;
    line-height: 1.35;
}

.posys-form-field input:not([type="checkbox"]):not([type="radio"]),
.posys-form-field select,
.posys-form-field textarea,
.form-row input:not([type="checkbox"]):not([type="radio"]),
.form-row select,
.form-row textarea {
    width: 100%;
    max-width: 100%;
    min-height: var(--posys-ui-control-height);
    box-sizing: border-box;
}

.posys-form-field textarea,
.form-row textarea {
    min-height: 96px;
    resize: vertical;
}

.posys-form-field input[type="checkbox"],
.posys-form-field input[type="radio"],
.form-row input[type="checkbox"],
.form-row input[type="radio"] {
    min-width: 18px;
    min-height: 18px;
}

.posys-form-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}


/* ------------------------------------------------------------
   TABLE FOUNDATION
   Specialized operational tables may continue to define their
   own columns while inheriting shared readability rules.
   ------------------------------------------------------------ */

.posys-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.posys-table,
.posys-operational-table-v1 {
    width: 100%;
}

.posys-table th,
.posys-operational-table-v1 th {
    vertical-align: middle;
}

.posys-table td,
.posys-operational-table-v1 td {
    vertical-align: top;
}

.posys-table th,
.posys-table td,
.posys-operational-table-v1 th,
.posys-operational-table-v1 td {
    line-height: 1.45;
}


/* ------------------------------------------------------------
   EMPTY / INFORMATION STATES
   ------------------------------------------------------------ */

.posys-empty-state {
    padding: var(--posys-ui-space-7);
    border: 1px dashed var(--posys-ui-border-strong);
    border-radius: var(--posys-ui-radius-md);
    background: var(--posys-ui-surface-muted);
    color: var(--posys-ui-muted);
}

.posys-ui-warning-panel {
    padding: var(--posys-ui-space-4);
    border: 1px solid #e5c45c;
    border-radius: var(--posys-ui-radius-md);
    background: #fff9e8;
}

.posys-ui-error-panel {
    padding: var(--posys-ui-space-4);
    border: 1px solid #e1aaa5;
    border-radius: var(--posys-ui-radius-md);
    background: #fff4f3;
}

.posys-ui-success-panel {
    padding: var(--posys-ui-space-4);
    border: 1px solid #a9d5ae;
    border-radius: var(--posys-ui-radius-md);
    background: #f3fbf4;
}


/* ------------------------------------------------------------
   NEW SHARED LAYOUT UTILITIES
   These are available for module migration beginning with the
   Dashboard consistency pass.
   ------------------------------------------------------------ */

.posys-ui-stack {
    display: grid;
    gap: var(--posys-ui-section-gap);
}

.posys-ui-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: var(--posys-ui-space-4);
}

.posys-ui-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--posys-ui-space-2);
}

.posys-ui-muted {
    color: var(--posys-ui-muted);
}


/* ============================================================
   CANONICAL RESPONSIVE FOUNDATION
   ============================================================ */

@media (max-width: 1100px) {

    :root {
        --posys-ui-page-gutter: 24px;
    }

    .posys-ui-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 900px) {

    :root {
        --posys-ui-page-gutter: 20px;
    }

    .posys-content {
        min-width: 0;
    }

    .posys-topbar {
        min-width: 0;
    }

    .posys-mobile-menu-button {
        min-width: var(--posys-ui-touch-target);
        min-height: var(--posys-ui-touch-target);
    }

}


@media (max-width: 700px) {

    :root {
        --posys-ui-page-gutter: 16px;
        --posys-ui-section-gap: 16px;
    }

    .posys-page-header,
    .posys-section-header {
        flex-direction: column;
        align-items: stretch;
    }

    .posys-page-header {
        gap: var(--posys-ui-space-3);
        margin-bottom: var(--posys-ui-space-5);
    }

    .posys-ui-grid {
        grid-template-columns: 1fr;
    }

    .posys-form-actions,
    .posys-ui-actions {
        align-items: stretch;
    }

    .posys-form-actions > .posys-button,
    .posys-form-actions > .button,
    .posys-ui-actions > .posys-button,
    .posys-ui-actions > .button {
        min-height: var(--posys-ui-touch-target);
    }

}


@media (max-width: 430px) {

    :root {
        --posys-ui-page-gutter: 12px;
    }

    .posys-page-header h1 {
        font-size: clamp(
            1.45rem,
            7vw,
            1.8rem
        );
    }

    .posys-card {
        border-radius: var(--posys-ui-radius-sm);
    }

}


/* ============================================================
   POSYS DASHBOARD CANONICAL V1
   Phase 2A Dashboard consistency layer

   Authoritative Dashboard endpoint.
   No workflow, data, permission or query changes.

   Breakpoints:
   1100px / 900px / 700px / 430px
   ============================================================ */

.posys-dashboard-shell {
    display: grid;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    gap: 24px;
}

.posys-dashboard-shell > * {
    min-width: 0;
}


/* Breadcrumb */

.posys-dashboard-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    min-width: 0;
    margin-left: 0 !important;
}

.posys-dashboard-breadcrumb > span {
    color: var(--posys-ui-muted);
}

.posys-dashboard-breadcrumb > strong {
    color: var(--posys-ui-text);
    font-weight: 700;
}


/* Hero */

.posys-dashboard-hero {
    position: relative;

    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        auto;

    align-items: center;
    gap: 28px;

    width: 100%;
    min-width: 0;
    min-height: 220px;

    padding:
        28px
        30px !important;

    border-radius: 16px;
    overflow: hidden;
}

.posys-dashboard-hero-copy {
    position: relative;
    z-index: 2;
    min-width: 0;
}

.posys-dashboard-eyebrow {
    margin-bottom: 9px;
    letter-spacing: 0.09em;
}

.posys-dashboard-hero h1 {
    max-width: 760px;

    margin-top: 0;
    margin-bottom: 12px;

    font-size:
        clamp(
            2rem,
            4vw,
            3.25rem
        ) !important;

    line-height: 1.06;
}

.posys-dashboard-hero-copy > p {
    max-width: 720px;
    margin-bottom: 0;
    line-height: 1.55;
}

.posys-dashboard-role {
    width: fit-content !important;
    max-width: 100%;
    margin-top: 16px;
}

.posys-dashboard-hero-brand {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    min-width: 0;
}

.posys-dashboard-logo-card {
    width: 128px !important;
    height: 128px !important;
    min-width: 128px !important;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 18px;
}

.posys-dashboard-logo-card img {
    display: block;
    max-width: 88%;
    max-height: 88%;
    object-fit: contain;
}


/* Shared Dashboard section headings */

.posys-dashboard-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;

    margin-top: 4px;
    margin-bottom: -8px;
}

.posys-dashboard-section-heading h2 {
    margin: 0;
    line-height: 1.25;
}

.posys-dashboard-small-label {
    display: inline-block;
    margin-bottom: 5px;
}


/* KPI summary */

.posys-dashboard-kpis-v2 {
    display: grid !important;

    grid-template-columns:
        repeat(
            5,
            minmax(0, 1fr)
        ) !important;

    gap: 12px !important;
}

.posys-dashboard-kpis-v2
.posys-dashboard-kpi-v2 {
    position: relative;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    min-width: 0;
    min-height: 132px;

    padding: 16px 17px;

    border-radius: 12px;

    transition:
        transform 140ms ease,
        box-shadow 140ms ease,
        border-color 140ms ease;
}

.posys-dashboard-kpis-v2
.posys-dashboard-kpi-v2:hover {
    transform: translateY(-2px);
}

.posys-dashboard-kpi-v2-top {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.posys-dashboard-kpi-v2-icon {
    flex: 0 0 auto;
}

.posys-dashboard-kpi-v2-label {
    min-width: 0;
    line-height: 1.3;
}

.posys-dashboard-kpi-v2-count {
    display: block;

    margin-top: 13px;

    font-size:
        clamp(
            1.8rem,
            3vw,
            2.35rem
        );

    line-height: 1;
}

.posys-dashboard-kpi-v2-description {
    display: block;
    margin-top: 8px;
    line-height: 1.35;
}


/* Production Control */

.posys-production-dashboard-v2 {
    display: grid !important;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        ) !important;

    gap: 12px !important;
}

.posys-production-dashboard-v2-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;

    min-width: 0;
    min-height: 108px !important;

    padding:
        14px
        15px !important;

    border-radius: 12px;
}

.posys-production-dashboard-v3-top {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
}

.posys-production-dashboard-v3-icon {
    flex: 0 0 auto;
}

.posys-production-dashboard-v2-label {
    min-width: 0;
    line-height: 1.3;
}

.posys-production-dashboard-v2-card strong {
    margin-top: 10px;
    line-height: 1;
}

.posys-production-dashboard-v2-card small {
    margin-top: 6px;
    line-height: 1.35;
}


/* Quick Access */

.posys-dashboard-quick-grid {
    display: grid !important;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        ) !important;

    gap: 14px !important;
}

.posys-dashboard-quick-card {
    display: flex;
    flex-direction: column;

    min-width: 0;
    min-height: 100% !important;

    padding: 18px;

    border-radius: 12px;
}

.posys-dashboard-quick-icon {
    flex: 0 0 auto;
}

.posys-dashboard-quick-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
}

.posys-dashboard-quick-body h3 {
    margin-top: 14px;
    margin-bottom: 7px;
    line-height: 1.3;
}

.posys-dashboard-quick-body p {
    margin-top: 0;
    margin-bottom: 13px;
    line-height: 1.5;
}

.posys-dashboard-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.posys-dashboard-primary-link {
    margin-top: auto;
    padding-top: 14px;
}


/* Current Job Overview */

.posys-dashboard-current-jobs {
    max-width: 100% !important;
    min-width: 0;

    overflow: visible !important;

    padding: 22px;
}

.posys-dashboard-current-jobs
.posys-section-header {
    margin-bottom: 18px;
}

.posys-dashboard-current-jobs
.posys-job-summary-grid {
    display: grid !important;

    grid-template-columns:
        repeat(
            5,
            minmax(0, 1fr)
        ) !important;

    gap: 10px !important;
}

.posys-dashboard-current-jobs
.posys-job-summary-card {
    display: flex;
    flex-direction: column;
    justify-content: center;

    min-width: 0;
    min-height: 92px !important;

    padding:
        13px
        14px;

    border-radius: 10px;
}

.posys-dashboard-current-jobs
.posys-job-summary-count {
    line-height: 1;
}

.posys-dashboard-current-jobs
.posys-job-summary-card
> span:last-child {
    margin-top: 7px;
    line-height: 1.3;
}


/* Job Quick View */

.posys-dashboard-job-quick-v1 {
    min-width: 0;
    margin-top: 22px;
}

.posys-dashboard-job-quick-v1-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 12px;
    margin-bottom: 12px;
}

.posys-dashboard-job-quick-v1-list {
    display: grid;
    gap: 12px;
}

.posys-dashboard-job-quick-v1-card {
    min-width: 0;

    padding: 16px !important;

    border-radius: 11px;
}

.posys-dashboard-job-quick-v1-top {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    align-items: start;
    gap: 16px;
}

.posys-dashboard-job-quick-v1-ref {
    overflow-wrap: anywhere;
}

.posys-dashboard-job-quick-v1-due {
    text-align: right;
}

.posys-dashboard-job-stage-v1 {
    display: grid !important;

    grid-template-columns:
        repeat(
            5,
            minmax(0, 1fr)
        ) !important;

    gap: 7px !important;

    min-width: 0;
}

.posys-dashboard-job-stage-v1 > span {
    min-width: 0;
    text-align: center;
}

.posys-dashboard-job-progress-v1 {
    width: 100%;
    min-width: 0 !important;
}

.posys-dashboard-job-progress-v1-track {
    width: 100%;
    min-width: 0;
}


/* Repeat / Revalidation Alert */

.posys-repeat-alert-v1 {
    display: flex;
    align-items: center;
    gap: 18px;

    padding:
        17px
        18px !important;

    border-radius: 12px !important;
}

.posys-repeat-alert-v1-main {
    flex: 1 1 auto;
    min-width: 0;
}

.posys-repeat-alert-v1-counts {
    flex: 0 1 auto;

    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.posys-repeat-alert-v1-action {
    flex: 0 0 auto;
    min-height: var(--posys-ui-touch-target);
}


/* ============================================================
   DASHBOARD CANONICAL RESPONSIVE SYSTEM
   ============================================================ */

@media (max-width: 1100px) {

    .posys-dashboard-kpis-v2 {
        grid-template-columns:
            repeat(
                3,
                minmax(0, 1fr)
            ) !important;
    }

    .posys-dashboard-quick-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            ) !important;
    }

    .posys-dashboard-current-jobs
    .posys-job-summary-grid {
        grid-template-columns:
            repeat(
                3,
                minmax(0, 1fr)
            ) !important;
    }

}


@media (max-width: 900px) {

    .posys-dashboard-hero {
        grid-template-columns:
            minmax(0, 1fr)
            auto;

        min-height: 200px;

        padding:
            24px
            22px !important;
    }

    .posys-dashboard-logo-card {
        width: 112px !important;
        height: 112px !important;
        min-width: 112px !important;
    }

    .posys-production-dashboard-v2 {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            ) !important;
    }

}


@media (max-width: 700px) {

    .posys-dashboard-shell {
        gap: 18px;
    }

    .posys-dashboard-hero {
        grid-template-columns: 1fr;
        gap: 18px;
        min-height: 0;

        padding:
            22px
            18px !important;
    }

    .posys-dashboard-hero h1 {
        max-width: none;

        font-size:
            clamp(
                1.8rem,
                8vw,
                2.4rem
            ) !important;
    }

    .posys-dashboard-role {
        width: fit-content !important;
    }

    .posys-dashboard-hero-brand {
        justify-content: flex-start;
    }

    .posys-dashboard-logo-card {
        width: 96px !important;
        height: 96px !important;
        min-width: 96px !important;
    }

    .posys-dashboard-kpis-v2 {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            ) !important;

        gap: 10px !important;
    }

    .posys-dashboard-kpis-v2
    .posys-dashboard-kpi-v2 {
        min-height: 120px;
        padding: 14px;
    }

    .posys-production-dashboard-v2 {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            ) !important;

        gap: 10px !important;
    }

    .posys-production-dashboard-v2-card {
        min-height: 104px !important;
        padding: 13px !important;
    }

    .posys-dashboard-quick-grid {
        grid-template-columns:
            1fr !important;

        gap: 10px !important;
    }

    .posys-dashboard-quick-card {
        padding: 16px;
    }

    .posys-dashboard-current-jobs {
        padding: 17px;
    }

    .posys-dashboard-current-jobs
    .posys-section-header {
        align-items: stretch;
    }

    .posys-dashboard-current-jobs
    .posys-section-header
    .posys-button {
        width: 100%;
    }

    .posys-dashboard-current-jobs
    .posys-job-summary-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            ) !important;

        gap: 8px !important;
    }

    .posys-dashboard-current-jobs
    .posys-job-summary-card {
        min-height: 86px !important;
        padding: 12px;
    }

    .posys-dashboard-job-quick-v1-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .posys-dashboard-job-quick-v1-top {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .posys-dashboard-job-quick-v1-due {
        text-align: left;
    }

    .posys-dashboard-job-stage-v1 {
        grid-template-columns:
            repeat(
                5,
                minmax(
                    70px,
                    1fr
                )
            ) !important;

        overflow-x: auto;
        padding-bottom: 3px;

        -webkit-overflow-scrolling: touch;
    }

    .posys-dashboard-job-quick-v1-open {
        min-height:
            var(--posys-ui-touch-target);

        display: inline-flex;
        align-items: center;
    }

    .posys-repeat-alert-v1 {
        align-items: stretch;
        flex-direction: column;
    }

    .posys-repeat-alert-v1-counts {
        width: 100%;
    }

    .posys-repeat-alert-v1-action {
        width: 100%;
    }

}


@media (max-width: 430px) {

    .posys-dashboard-shell {
        gap: 16px;
    }

    .posys-dashboard-hero {
        padding:
            20px
            16px !important;

        border-radius: 12px;
    }

    .posys-dashboard-eyebrow {
        font-size: 0.72rem;
    }

    .posys-dashboard-hero h1 {
        font-size:
            clamp(
                1.65rem,
                8.5vw,
                2.1rem
            ) !important;
    }

    .posys-dashboard-logo-card {
        width: 88px !important;
        height: 88px !important;
        min-width: 88px !important;

        border-radius: 14px;
    }

    .posys-dashboard-kpis-v2 {
        gap: 8px !important;
    }

    .posys-dashboard-kpis-v2
    .posys-dashboard-kpi-v2 {
        min-height: 112px;
        padding: 12px;
    }

    .posys-dashboard-kpi-v2-top {
        align-items: flex-start;
        gap: 7px;
    }

    .posys-dashboard-kpi-v2-count {
        font-size: 1.72rem;
    }

    .posys-dashboard-kpi-v2-description {
        font-size: 0.76rem;
    }

    .posys-production-dashboard-v2 {
        gap: 8px !important;
    }

    .posys-production-dashboard-v2-card {
        min-height: 98px !important;
        padding: 11px !important;
    }

    .posys-dashboard-current-jobs {
        padding: 14px;
    }

    .posys-dashboard-current-jobs
    .posys-job-summary-card {
        min-height: 80px !important;
        padding: 10px;
    }

    .posys-dashboard-job-quick-v1-card {
        padding: 13px !important;
    }

    .posys-repeat-alert-v1 {
        padding: 14px !important;
    }

}


/* ============================================================
   POSYS CURRENT JOBS CANONICAL V1
   Phase 2B Current Jobs consistency layer

   Scope:
     - Current Jobs presentation only
     - Six existing operational columns preserved
     - Existing mobile-label script preserved
     - Existing query/filter logic preserved
     - Existing commercial visibility preserved
     - Existing completed-job grace logic preserved

   Canonical breakpoints:
     1100px / 900px / 700px / 430px
   ============================================================ */


/* ------------------------------------------------------------
   PAGE HEADER
   ------------------------------------------------------------ */

.posys-current-jobs-header-same-row-final {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    align-items: center;
    gap: 24px;

    width: 100%;
    min-width: 0;

    margin:
        0
        0
        24px;

    box-sizing: border-box;
}

.posys-current-jobs-header-same-row-final
> div:first-child {
    min-width: 0;
}

.posys-current-jobs-header-same-row-final h1 {
    margin: 0;

    font-size:
        clamp(
            1.7rem,
            2.6vw,
            2.15rem
        );

    line-height: 1.15;
}

.posys-current-jobs-header-same-row-final p {
    max-width: 760px;

    margin:
        8px
        0
        0;

    color: var(--posys-ui-muted);
    line-height: 1.55;
}

.posys-current-jobs-create-same-row-final {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    width: auto;
    min-width: 132px;
    min-height: var(--posys-ui-touch-target);

    margin: 0;

    padding:
        9px
        18px;

    justify-self: end;

    box-sizing: border-box;
}


/* ------------------------------------------------------------
   FILTER CARD
   ------------------------------------------------------------ */

.posys-current-jobs-filters-card {
    margin-bottom: 18px;
    padding: 20px;
}

.posys-current-jobs-filters-card > h2 {
    margin:
        0
        0
        16px;

    font-size: 1rem;
    line-height: 1.3;
}

.posys-current-jobs-filter-form {
    width: 100%;
    min-width: 0;
}

.posys-current-jobs-filter-form.posys-filter-layout-v1
.posys-filter-row {
    display: grid !important;

    grid-template-columns:
        minmax(250px, 2fr)
        minmax(150px, 1fr)
        minmax(130px, 0.85fr)
        minmax(155px, 1fr)
        auto !important;

    align-items: end;

    gap:
        12px
        14px;

    width: 100%;
    min-width: 0;
}

.posys-current-jobs-filter-form.posys-filter-layout-v1
.form-row {
    min-width: 0;
    margin: 0;
}

.posys-current-jobs-filter-form.posys-filter-layout-v1
.form-row label {
    display: block;

    margin-bottom: 6px;

    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.3;
}

.posys-current-jobs-filter-form.posys-filter-layout-v1
input,
.posys-current-jobs-filter-form.posys-filter-layout-v1
select {
    width: 100%;
    min-width: 0;
    min-height: var(--posys-ui-control-height);

    box-sizing: border-box;
}

.posys-current-jobs-filter-form
.posys-filter-actions-v1 {
    display: flex !important;
    align-items: center;

    width: auto !important;
    min-width: 118px;

    margin: 0;

    align-self: end;
}

.posys-current-jobs-filter-form
.posys-filter-actions-v1
.button {
    width: 100%;
    min-width: 118px;
    min-height: var(--posys-ui-touch-target);

    margin: 0;

    display: inline-flex;
    align-items: center;
    justify-content: center;
}


/* ------------------------------------------------------------
   RESULTS CARD
   ------------------------------------------------------------ */

.posys-current-jobs-results-card {
    min-width: 0;
    padding: 20px;
}

.posys-current-jobs-results-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 14px;

    margin-bottom: 14px;
}

.posys-current-jobs-results-header h2 {
    margin: 0;

    font-size: 1rem;
    line-height: 1.3;
}

.posys-current-jobs-table-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;

    overflow-x: auto;

    -webkit-overflow-scrolling: touch;
}


/* ------------------------------------------------------------
   SIX-COLUMN DESKTOP TABLE
   ------------------------------------------------------------ */

.posys-current-jobs-table.posys-operational-table-v1 {
    width: 100% !important;
    min-width: 980px !important;

    table-layout: fixed !important;

    border-collapse: separate;
    border-spacing: 0;
}

.posys-current-jobs-table.posys-operational-table-v1
thead th {
    padding:
        11px
        12px;

    vertical-align: middle;

    font-size: 0.78rem;
    line-height: 1.3;

    white-space: nowrap;
}

.posys-current-jobs-table.posys-operational-table-v1
tbody td {
    padding:
        14px
        12px !important;

    vertical-align: top !important;

    line-height: 1.42;
}

.posys-current-jobs-table.posys-operational-table-v1
th:nth-child(1) {
    width: 28%;
}

.posys-current-jobs-table.posys-operational-table-v1
th:nth-child(2) {
    width: 27%;
}

.posys-current-jobs-table.posys-operational-table-v1
th:nth-child(3) {
    width: 15%;
}

.posys-current-jobs-table.posys-operational-table-v1
th:nth-child(4) {
    width: 10%;
}

.posys-current-jobs-table.posys-operational-table-v1
th:nth-child(5) {
    width: 12%;
}

.posys-current-jobs-table.posys-operational-table-v1
th:nth-child(6) {
    width: 8%;
}

.posys-current-jobs-table
td[data-mobile-label="Job"] {
    overflow-wrap: break-word;
}

.posys-current-jobs-table
td[data-mobile-label="Job"]
> strong {
    display: block;

    margin-bottom: 5px;

    overflow-wrap: normal;
    word-break: normal;
}

.posys-current-jobs-table
.posys-operational-items-v1 {
    display: grid;
    gap: 6px;

    min-width: 0;
}

.posys-current-jobs-table
.posys-operational-item-v1 {
    min-width: 0;

    overflow-wrap: break-word;
    word-break: normal;
}

.posys-current-jobs-table
td[data-mobile-label="Status"],
.posys-current-jobs-table
td[data-mobile-label="Priority"],
.posys-current-jobs-table
td[data-mobile-label="Required Date"],
.posys-current-jobs-table
td[data-mobile-label="Action"] {
    vertical-align: top !important;
}

.posys-current-jobs-table
.posys-operational-due-v1 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    gap: 6px;
}

.posys-current-jobs-table
.posys-operational-action-cell-v1 {
    text-align: right;
}

.posys-current-jobs-table
.posys-operational-open-v1 {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 5px;

    width: 100%;
    min-width: 0;
    min-height: var(--posys-ui-touch-target);

    padding:
        8px
        9px;

    white-space: nowrap;
}

.posys-current-jobs-table
tbody tr {
    transition:
        background-color 120ms ease;
}


/* ------------------------------------------------------------
   PAGINATION / EMPTY STATE
   ------------------------------------------------------------ */

.posys-current-jobs-results-card
> p {
    margin:
        16px
        0
        0;

    line-height: 1.5;
}

.posys-current-jobs-results-card
> p
a {
    display: inline-flex;
    align-items: center;

    min-height: 36px;

    padding:
        6px
        8px;
}

.posys-current-jobs-empty-state {
    margin: 0 !important;

    padding:
        24px
        18px !important;

    text-align: center;

    color: var(--posys-ui-muted);
}


/* ============================================================
   CURRENT JOBS CANONICAL RESPONSIVE SYSTEM
   ============================================================ */

@media (max-width: 1100px) {

    .posys-current-jobs-filter-form.posys-filter-layout-v1
    .posys-filter-row {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            ) !important;
    }

    .posys-current-jobs-filter-form
    .posys-filter-actions-v1 {
        width: 100% !important;
        min-width: 0;

        grid-column:
            1
            /
            -1;
    }

    .posys-current-jobs-filter-form
    .posys-filter-actions-v1
    .button {
        width: auto;
        min-width: 140px;
    }

}


@media (max-width: 900px) {

    .posys-current-jobs-results-card {
        padding: 16px;
    }

    .posys-current-jobs-table-wrap {
        overflow: visible;
    }

    .posys-current-jobs-table.posys-operational-table-v1 {
        display: block !important;

        width: 100% !important;
        min-width: 0 !important;

        border: 0;

        table-layout: auto !important;
    }

    .posys-current-jobs-table
    thead {
        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;
    }

    .posys-current-jobs-table
    tbody {
        display: grid !important;

        width: 100%;

        gap: 12px;
    }

    .posys-current-jobs-table
    tbody tr {
        display: block !important;

        width: 100%;

        margin: 0;

        padding:
            4px
            14px;

        border:
            1px
            solid
            var(--posys-ui-border);

        border-radius: 12px;

        background:
            var(--posys-ui-surface);

        box-sizing: border-box;

        box-shadow:
            0
            1px
            2px
            rgba(
                15,
                23,
                42,
                0.04
            );
    }

    .posys-current-jobs-table
    tbody td {
        display: grid !important;

        grid-template-columns:
            118px
            minmax(0, 1fr);

        align-items: start;

        gap: 12px;

        width: 100% !important;

        padding:
            11px
            0 !important;

        border: 0 !important;

        border-bottom:
            1px
            solid
            var(--posys-ui-border) !important;

        text-align: left !important;

        box-sizing: border-box;
    }

    .posys-current-jobs-table
    tbody td:last-child {
        border-bottom: 0 !important;
    }

    .posys-current-jobs-table
    tbody td::before {
        content:
            attr(data-mobile-label) !important;

        display: block !important;

        padding-top: 2px;

        color: var(--posys-ui-muted);

        font-size: 0.74rem;
        font-weight: 800;

        line-height: 1.3;
        letter-spacing: 0.035em;

        text-transform: uppercase;
    }

    .posys-current-jobs-table
    .posys-operational-items-v1 {
        width: 100%;
    }

    .posys-current-jobs-table
    .posys-operational-action-cell-v1 {
        align-items: center;
    }

    .posys-current-jobs-table
    .posys-operational-open-v1 {
        width: 100%;

        justify-content: space-between;
    }

}


@media (max-width: 700px) {

    .posys-current-jobs-header-same-row-final {
        grid-template-columns:
            1fr;

        align-items: stretch;

        gap: 14px;

        margin-bottom: 20px;
    }

    .posys-current-jobs-create-same-row-final {
        width: 100%;

        justify-self: stretch;
    }

    .posys-current-jobs-filters-card {
        padding: 16px;
    }

    .posys-current-jobs-filter-form.posys-filter-layout-v1
    .posys-filter-row {
        grid-template-columns:
            1fr !important;

        gap: 12px;
    }

    .posys-current-jobs-filter-form
    .posys-filter-actions-v1 {
        grid-column: auto;
    }

    .posys-current-jobs-filter-form
    .posys-filter-actions-v1
    .button {
        width: 100%;
        min-width: 0;
    }

    .posys-current-jobs-results-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .posys-current-jobs-table
    tbody td {
        grid-template-columns:
            105px
            minmax(0, 1fr);

        gap: 10px;
    }

}


@media (max-width: 430px) {

    .posys-current-jobs-header-same-row-final {
        gap: 12px;
        margin-bottom: 16px;
    }

    .posys-current-jobs-header-same-row-final h1 {
        font-size: 1.65rem;
    }

    .posys-current-jobs-filters-card,
    .posys-current-jobs-results-card {
        padding: 14px;
    }

    .posys-current-jobs-table
    tbody {
        gap: 10px;
    }

    .posys-current-jobs-table
    tbody tr {
        padding:
            3px
            12px;

        border-radius: 10px;
    }

    .posys-current-jobs-table
    tbody td {
        grid-template-columns:
            92px
            minmax(0, 1fr);

        gap: 9px;

        padding:
            10px
            0 !important;
    }

    .posys-current-jobs-table
    tbody td::before {
        font-size: 0.7rem;
    }

}

/* ============================================================
   POSYS PREVIOUS JOB SEARCH V4 MIGRATED BASE
   Extracted verbatim from previous_job_search.html.
   ============================================================ */

/* ============================================================
   PREVIOUS JOB SEARCH V4
   Page-scoped layout only.
   ============================================================ */

.posys-prev-v4-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 28px;
    margin-bottom: 28px;
}

.posys-prev-v4-header h1 {
    margin: 0 0 7px;
}

.posys-prev-v4-header p {
    margin: 0;
    max-width: 760px;
    color: #647587;
    line-height: 1.45;
}

.posys-prev-v4-create {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 44px;
    padding: 9px 18px;
    margin: 0;
    white-space: nowrap;
}


/* Search panel */

.posys-prev-v4-search-card {
    margin-bottom: 24px;
}

.posys-prev-v4-card-heading {
    margin-bottom: 18px;
}

.posys-prev-v4-card-heading h2 {
    margin: 0;
}

.posys-prev-v4-card-heading p {
    margin: 6px 0 0;
    color: #697c8b;
    font-size: 0.86rem;
    line-height: 1.45;
}

.posys-prev-v4-search-grid {
    display: grid;
    grid-template-columns:
        minmax(280px, 2fr)
        minmax(180px, 0.8fr)
        minmax(180px, 0.8fr)
        auto;
    gap: 14px;
    align-items: end;
}

.posys-prev-v4-field {
    min-width: 0;
}

.posys-prev-v4-field label {
    display: block;
    margin-bottom: 6px;
    color: #263f52;
    font-size: 0.78rem;
    font-weight: 800;
}

.posys-prev-v4-field input {
    width: 100%;
    min-height: 46px;
    box-sizing: border-box;
}

.posys-prev-v4-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.posys-prev-v4-actions .button {
    min-height: 46px;
    margin: 0;
    padding: 8px 16px;
    white-space: nowrap;
}


/* Results */

.posys-prev-v4-results-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.posys-prev-v4-results-header h2 {
    margin: 0;
}

.posys-prev-v4-results-header p {
    margin: 6px 0 0;
    color: #687b8b;
    font-size: 0.84rem;
}

.posys-prev-v4-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #dbe4eb;
    border-radius: 12px;
    background: #ffffff;
    box-sizing: border-box;
}

.posys-prev-v4-table {
    width: 100%;
    min-width: 820px;
    margin: 0;
    border-collapse: collapse;
    table-layout: fixed;
}

.posys-prev-v4-table th,
.posys-prev-v4-table td {
    box-sizing: border-box;
    padding: 14px 13px;
    vertical-align: top;
    text-align: left;
}

.posys-prev-v4-table th {
    background: #edf4f7;
    color: #10283c;
    font-size: 0.73rem;
    font-weight: 900;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

.posys-prev-v4-table td {
    border-top: 1px solid #e2e9ee;
    color: #173044;
    font-size: 0.83rem;
    line-height: 1.4;
}

.posys-prev-v4-table tbody tr:first-child td {
    border-top: 0;
}

.posys-prev-v4-table tbody tr:hover {
    background: #fbfdfe;
}


/* Column widths */

.posys-prev-v4-table th:nth-child(1),
.posys-prev-v4-table td:nth-child(1) {
    width: 22%;
}

.posys-prev-v4-table th:nth-child(2),
.posys-prev-v4-table td:nth-child(2) {
    width: 15%;
}

.posys-prev-v4-table th:nth-child(3),
.posys-prev-v4-table td:nth-child(3) {
    width: 20%;
}

.posys-prev-v4-table th:nth-child(4),
.posys-prev-v4-table td:nth-child(4) {
    width: 25%;
}

.posys-prev-v4-table th:nth-child(5),
.posys-prev-v4-table td:nth-child(5) {
    width: 18%;
}


/* Previous job */

.posys-prev-v4-job-number {
    display: inline-block;
    margin-bottom: 6px;
    font-weight: 900;
}

.posys-prev-v4-job-title {
    display: block;
    margin-bottom: 7px;
    color: #213a4e;
}

.posys-prev-v4-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.posys-prev-v4-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 23px;
    padding: 3px 7px;
    border-radius: 999px;
    background: #f1f5f8;
    color: #617586;
    font-size: 0.68rem;
    font-weight: 700;
}


/* Customer / item */

.posys-prev-v4-secondary {
    display: block;
    margin-top: 4px;
    color: #667989;
}

.posys-prev-v4-item-number {
    display: inline-flex;
    padding: 4px 8px;
    margin-bottom: 5px;
    border: 1px solid #d8e3ea;
    border-radius: 7px;
    background: #f8fafc;
    font-size: 0.74rem;
    font-weight: 800;
}

.posys-prev-v4-quantity {
    display: block;
    margin-top: 6px;
    font-weight: 800;
    color: #334f63;
}


/* Specifications are collapsed by default */

.posys-prev-v4-specs {
    margin: 0;
}

.posys-prev-v4-specs summary {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 5px 9px;
    border: 1px solid #d6e1e8;
    border-radius: 7px;
    background: #f8fafc;
    color: #28516b;
    font-size: 0.75rem;
    font-weight: 800;
    cursor: pointer;
    list-style-position: inside;
}

.posys-prev-v4-specs[open] summary {
    margin-bottom: 10px;
}

.posys-prev-v4-spec-list {
    display: grid;
    gap: 5px;
    margin: 0;
}

.posys-prev-v4-spec-list > div {
    display: grid;
    grid-template-columns:
        minmax(90px, 0.85fr)
        minmax(0, 1.15fr);
    gap: 8px;
    padding-bottom: 4px;
    border-bottom: 1px solid #eef2f5;
}

.posys-prev-v4-spec-list > div:last-child {
    border-bottom: 0;
}

.posys-prev-v4-spec-list dt {
    color: #718391;
    font-size: 0.68rem;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.posys-prev-v4-spec-list dd {
    min-width: 0;
    margin: 0;
    color: #294357;
    font-size: 0.75rem;
    overflow-wrap: anywhere;
}


/* Artwork / files */

.posys-prev-v4-artwork {
    display: grid;
    gap: 7px;
}

.posys-prev-v4-artwork-source {
    overflow-wrap: anywhere;
}

.posys-prev-v4-file {
    display: block;
    padding: 6px 8px;
    border: 1px solid #e0e8ee;
    border-radius: 7px;
    background: #f9fbfc;
    overflow-wrap: anywhere;
}

.posys-prev-v4-file small {
    display: block;
    margin-top: 2px;
    color: #718391;
    font-size: 0.68rem;
}

.posys-prev-v4-muted {
    color: #82919d;
}


/* Actions */

.posys-prev-v4-row-actions {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.posys-prev-v4-row-actions .button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 34px;
    margin: 0;
    padding: 6px 8px;
    box-sizing: border-box;
    font-size: 0.73rem;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
}


/* Empty state */

.posys-prev-v4-empty {
    padding: 18px 20px;
    border: 1px dashed #ccd9e2;
    border-radius: 10px;
    background: #f8fafc;
}

.posys-prev-v4-empty strong {
    display: block;
    margin-bottom: 4px;
}

.posys-prev-v4-empty p {
    margin: 0;
    color: #6b7d8c;
}


/* Pagination */

.posys-prev-v4-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 18px;
}

.posys-prev-v4-pagination-actions {
    display: flex;
    gap: 8px;
}

.posys-prev-v4-pagination .button {
    margin: 0;
}


/* Tablet */

@media (max-width: 1080px) {

    .posys-prev-v4-search-grid {
        grid-template-columns:
            minmax(0, 1.5fr)
            minmax(170px, 0.75fr)
            minmax(170px, 0.75fr);
    }

    .posys-prev-v4-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }

}


/* Mobile */

@media (max-width: 760px) {

    .posys-prev-v4-header {
        grid-template-columns: 1fr;
        gap: 15px;
        margin-bottom: 20px;
    }

    .posys-prev-v4-create {
        width: 100%;
        min-height: 48px;
        box-sizing: border-box;
    }

    .posys-prev-v4-search-grid {
        grid-template-columns: 1fr;
    }

    .posys-prev-v4-actions {
        grid-column: auto;
        display: grid;
        grid-template-columns: 1fr;
    }

    .posys-prev-v4-actions .button {
        width: 100%;
    }

    .posys-prev-v4-table-wrap {
        overflow: visible;
        border: 0;
        background: transparent;
    }

    .posys-prev-v4-table {
        display: block;
        min-width: 0;
        background: transparent;
    }

    .posys-prev-v4-table thead {
        display: none;
    }

    .posys-prev-v4-table tbody {
        display: grid;
        gap: 14px;
    }

    .posys-prev-v4-table tr {
        display: block;
        overflow: hidden;
        border: 1px solid #dbe4eb;
        border-radius: 12px;
        background: #ffffff;
    }

    .posys-prev-v4-table td {
        display: grid;
        grid-template-columns:
            105px
            minmax(0, 1fr);
        gap: 10px;
        width: 100% !important;
        padding: 10px 12px;
        border: 0;
        border-top: 1px solid #e6edf2;
    }

    .posys-prev-v4-table td:first-child {
        border-top: 0;
    }

    .posys-prev-v4-table td::before {
        content: attr(data-label);
        color: #718391;
        font-size: 0.65rem;
        font-weight: 900;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .posys-prev-v4-spec-list > div {
        grid-template-columns: 1fr;
        gap: 2px;
    }

    .posys-prev-v4-pagination {
        align-items: stretch;
        flex-direction: column;
    }

    .posys-prev-v4-pagination-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .posys-prev-v4-pagination-actions .button {
        width: 100%;
    }

}


/* ============================================================
   POSYS PREVIOUS JOB SEARCH CANONICAL V1
   Phase 2C canonical endpoint.

   The audited V4 page CSS immediately above was moved
   verbatim from the template. This layer is authoritative.

   No form, query, historical, repeat-job, permission,
   commercial, database or workflow logic is changed.

   Canonical breakpoints:
   1100px / 900px / 700px / 430px
   ============================================================ */


/* Page header */

.posys-prev-v4-header {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        auto;

    align-items: center;
    gap: 24px;

    width: 100%;
    min-width: 0;

    margin:
        0
        0
        24px;
}

.posys-prev-v4-header > div {
    min-width: 0;
}

.posys-prev-v4-header h1 {
    margin: 0;

    font-size:
        clamp(
            1.7rem,
            2.6vw,
            2.15rem
        );

    line-height: 1.15;
}

.posys-prev-v4-header p {
    max-width: 760px;

    margin:
        8px
        0
        0;

    color:
        var(
            --posys-ui-muted,
            #667989
        );

    line-height: 1.55;
}

.posys-prev-v4-create {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    width: auto;
    min-width: 132px;
    min-height:
        var(
            --posys-ui-touch-target,
            44px
        );

    margin: 0;

    justify-self: end;
}


/* Search */

.posys-prev-v4-search-card {
    margin-bottom: 18px;
    padding: 20px;
}

.posys-prev-v4-card-heading {
    margin-bottom: 16px;
}

.posys-prev-v4-card-heading h2,
.posys-prev-v4-results-header h2 {
    margin: 0;

    font-size: 1rem;
    line-height: 1.3;
}

.posys-prev-v4-card-heading p,
.posys-prev-v4-results-header p {
    margin:
        6px
        0
        0;

    color:
        var(
            --posys-ui-muted,
            #667989
        );

    font-size: 0.84rem;
    line-height: 1.5;
}

.posys-prev-v4-search-grid {
    display: grid;

    grid-template-columns:
        minmax(280px, 2fr)
        minmax(170px, 0.8fr)
        minmax(170px, 0.8fr)
        auto;

    align-items: end;

    gap:
        12px
        14px;

    width: 100%;
    min-width: 0;
}

.posys-prev-v4-field {
    min-width: 0;
}

.posys-prev-v4-field label {
    display: block;

    margin-bottom: 6px;

    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.3;
}

.posys-prev-v4-field input {
    width: 100%;
    min-width: 0;

    min-height:
        var(
            --posys-ui-touch-target,
            44px
        );

    box-sizing: border-box;
}

.posys-prev-v4-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.posys-prev-v4-actions .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 104px;
    min-height:
        var(
            --posys-ui-touch-target,
            44px
        );

    margin: 0;

    white-space: nowrap;
}


/* Results */

.posys-prev-v4-results-card {
    min-width: 0;
    padding: 20px;
}

.posys-prev-v4-results-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 18px;

    margin-bottom: 16px;
}

.posys-prev-v4-table-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;

    overflow-x: auto;

    border:
        1px
        solid
        var(
            --posys-ui-border,
            #dbe4eb
        );

    border-radius: 12px;

    box-sizing: border-box;

    -webkit-overflow-scrolling: touch;
}

.posys-prev-v4-table {
    width: 100%;
    min-width: 1000px;

    margin: 0;

    table-layout: fixed;

    border-collapse: separate;
    border-spacing: 0;
}

.posys-prev-v4-table th,
.posys-prev-v4-table td {
    padding:
        13px
        12px;

    vertical-align: top;
}

.posys-prev-v4-table th {
    font-size: 0.75rem;
    font-weight: 800;

    line-height: 1.3;

    letter-spacing: 0.035em;
    text-transform: uppercase;

    white-space: nowrap;
}

.posys-prev-v4-table td {
    font-size: 0.83rem;
    line-height: 1.45;

    border-top:
        1px
        solid
        var(
            --posys-ui-border,
            #e2e9ee
        );

    overflow-wrap: break-word;
}

.posys-prev-v4-table
tbody tr:first-child td {
    border-top: 0;
}

.posys-prev-v4-table
th:nth-child(1) {
    width: 20%;
}

.posys-prev-v4-table
th:nth-child(2) {
    width: 17%;
}

.posys-prev-v4-table
th:nth-child(3) {
    width: 19%;
}

.posys-prev-v4-table
th:nth-child(4) {
    width: 28%;
}

.posys-prev-v4-table
th:nth-child(5) {
    width: 16%;
}


/* Job / customer / item */

.posys-prev-v4-job-number {
    display: inline-block;

    margin-bottom: 6px;

    font-weight: 800;
}

.posys-prev-v4-job-title {
    display: block;

    margin-bottom: 7px;

    line-height: 1.4;
}

.posys-prev-v4-meta {
    display: flex;
    flex-wrap: wrap;

    gap:
        5px
        8px;

    color:
        var(
            --posys-ui-muted,
            #667989
        );

    font-size: 0.73rem;
}

.posys-prev-v4-secondary,
.posys-prev-v4-quantity,
.posys-prev-v4-muted {
    color:
        var(
            --posys-ui-muted,
            #667989
        );
}

.posys-prev-v4-item-number {
    max-width: 100%;

    overflow-wrap: anywhere;
}


/* Specifications */

.posys-prev-v4-specs {
    min-width: 0;
}

.posys-prev-v4-specs summary {
    cursor: pointer;

    min-height: 32px;

    font-weight: 700;
}

.posys-prev-v4-spec-list {
    display: grid;
    gap: 5px;
}

.posys-prev-v4-spec-list > div {
    display: grid;

    grid-template-columns:
        minmax(90px, 0.85fr)
        minmax(0, 1.15fr);

    gap: 8px;
}

.posys-prev-v4-spec-list dd,
.posys-prev-v4-file {
    min-width: 0;

    overflow-wrap: anywhere;
}


/* Actions */

.posys-prev-v4-row-actions {
    display: grid;

    gap: 7px;

    min-width: 0;
}

.posys-prev-v4-row-actions .button {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-width: 0;

    min-height:
        var(
            --posys-ui-touch-target,
            44px
        );

    margin: 0;

    padding:
        8px
        9px;

    box-sizing: border-box;

    text-align: center;
}


/* Empty state */

.posys-prev-v4-empty {
    padding:
        26px
        18px;

    border:
        1px
        dashed
        var(
            --posys-ui-border,
            #dbe4eb
        );

    border-radius: 10px;

    text-align: center;
}

.posys-prev-v4-empty strong {
    display: block;

    margin-bottom: 5px;
}

.posys-prev-v4-empty p {
    max-width: 620px;

    margin:
        0
        auto;

    color:
        var(
            --posys-ui-muted,
            #667989
        );

    line-height: 1.5;
}


/* Pagination */

.posys-prev-v4-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 16px;

    margin-top: 18px;
}

.posys-prev-v4-pagination-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.posys-prev-v4-pagination .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height:
        var(
            --posys-ui-touch-target,
            44px
        );

    margin: 0;
}


/* ============================================================
   Canonical responsive system
   ============================================================ */

@media (max-width: 1100px) {

    .posys-prev-v4-search-grid {
        grid-template-columns:
            minmax(0, 1.5fr)
            minmax(160px, 0.75fr)
            minmax(160px, 0.75fr);
    }

    .posys-prev-v4-actions {
        grid-column:
            1
            /
            -1;

        justify-content: flex-end;
    }

}


@media (max-width: 900px) {

    .posys-prev-v4-search-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    .posys-prev-v4-field:first-child {
        grid-column:
            1
            /
            -1;
    }

    .posys-prev-v4-actions {
        grid-column:
            1
            /
            -1;
    }

    .posys-prev-v4-table-wrap {
        overflow: visible;

        border: 0;
        border-radius: 0;
    }

    .posys-prev-v4-table {
        display: block;

        width: 100%;
        min-width: 0;

        table-layout: auto;

        border: 0;
    }

    .posys-prev-v4-table thead {
        position: absolute;

        width: 1px;
        height: 1px;

        padding: 0;
        margin: -1px;

        overflow: hidden;

        clip: rect(
            0,
            0,
            0,
            0
        );

        white-space: nowrap;

        border: 0;
    }

    .posys-prev-v4-table tbody {
        display: grid;

        width: 100%;

        gap: 12px;
    }

    .posys-prev-v4-table tr {
        display: block;

        width: 100%;

        padding:
            4px
            14px;

        border:
            1px
            solid
            var(
                --posys-ui-border,
                #dbe4eb
            );

        border-radius: 12px;

        box-sizing: border-box;
    }

    .posys-prev-v4-table td {
        display: grid;

        grid-template-columns:
            128px
            minmax(0, 1fr);

        align-items: start;

        gap: 12px;

        width: 100% !important;

        padding:
            11px
            0;

        border: 0;

        border-top:
            1px
            solid
            var(
                --posys-ui-border,
                #e2e9ee
            );

        box-sizing: border-box;
    }

    .posys-prev-v4-table
    td:first-child {
        border-top: 0;
    }

    .posys-prev-v4-table
    td::before {
        content:
            attr(data-label);

        display: block;

        padding-top: 2px;

        color:
            var(
                --posys-ui-muted,
                #667989
            );

        font-size: 0.72rem;
        font-weight: 800;

        line-height: 1.3;

        letter-spacing: 0.035em;
        text-transform: uppercase;
    }

    .posys-prev-v4-row-actions {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

}


@media (max-width: 700px) {

    .posys-prev-v4-header {
        grid-template-columns:
            1fr;

        align-items: stretch;

        gap: 14px;

        margin-bottom: 20px;
    }

    .posys-prev-v4-create {
        width: 100%;

        justify-self: stretch;
    }

    .posys-prev-v4-search-card,
    .posys-prev-v4-results-card {
        padding: 16px;
    }

    .posys-prev-v4-search-grid {
        grid-template-columns:
            1fr;
    }

    .posys-prev-v4-field:first-child,
    .posys-prev-v4-actions {
        grid-column: auto;
    }

    .posys-prev-v4-actions {
        display: grid;

        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

        width: 100%;
    }

    .posys-prev-v4-actions .button {
        width: 100%;
        min-width: 0;
    }

    .posys-prev-v4-results-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .posys-prev-v4-table td {
        grid-template-columns:
            108px
            minmax(0, 1fr);

        gap: 10px;
    }

    .posys-prev-v4-pagination {
        align-items: stretch;
        flex-direction: column;
    }

    .posys-prev-v4-pagination-actions {
        display: grid;

        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

        width: 100%;
    }

    .posys-prev-v4-pagination-actions
    .button {
        width: 100%;
    }

}


@media (max-width: 430px) {

    .posys-prev-v4-header {
        gap: 12px;

        margin-bottom: 16px;
    }

    .posys-prev-v4-header h1 {
        font-size: 1.65rem;
    }

    .posys-prev-v4-search-card,
    .posys-prev-v4-results-card {
        padding: 14px;
    }

    .posys-prev-v4-actions {
        grid-template-columns: 1fr;
    }

    .posys-prev-v4-table tbody {
        gap: 10px;
    }

    .posys-prev-v4-table tr {
        padding:
            3px
            12px;

        border-radius: 10px;
    }

    .posys-prev-v4-table td {
        grid-template-columns:
            92px
            minmax(0, 1fr);

        gap: 9px;

        padding:
            10px
            0;
    }

    .posys-prev-v4-table
    td::before {
        font-size: 0.68rem;
    }

    .posys-prev-v4-spec-list
    > div {
        grid-template-columns: 1fr;

        gap: 2px;
    }

    .posys-prev-v4-row-actions,
    .posys-prev-v4-pagination-actions {
        grid-template-columns: 1fr;
    }

}


/* ============================================================
   POSYS JOB DETAIL CANONICAL V1
   Phase 2D Job Detail consistency layer.

   Presentation only.

   Preserved:
     - customer/commercial visibility
     - item permissions
     - Design workflow
     - Production workflow
     - QC workflow
     - controlled-file permissions
     - repeat-job lineage
     - stage/process history
     - all URLs and actions

   Canonical breakpoints:
     1100px / 900px / 700px / 430px
   ============================================================ */


/* ------------------------------------------------------------
   PAGE IDENTITY
   ------------------------------------------------------------ */

.posys-job-detail-breadcrumb {
    margin-left: 0 !important;
}

.posys-job-detail-title-v1 {
    margin:
        0
        0
        20px;

    font-size:
        clamp(
            1.75rem,
            3vw,
            2.35rem
        );

    line-height: 1.12;

    letter-spacing: -0.02em;
}


/* ------------------------------------------------------------
   SHARED JOB DETAIL CARDS
   ------------------------------------------------------------ */

.posys-job-information-card,
.posys-repeat-order-card,
.posys-products-services-section,
.posys-controlled-files-card-v3 {
    width: 100%;
    max-width: 100%;
    min-width: 0;

    padding: 22px;

    box-sizing: border-box;
}

.posys-job-information-card > h2,
.posys-repeat-order-card > h2 {
    margin:
        0
        0
        18px;

    font-size: 1.05rem;
    line-height: 1.3;
}


/* ------------------------------------------------------------
   JOB INFORMATION
   ------------------------------------------------------------ */

.posys-job-information-card
.posys-detail-list {
    display: grid;

    grid-template-columns:
        140px
        minmax(0, 1fr)
        140px
        minmax(0, 1fr);

    gap:
        12px
        18px;

    width: 100%;
    min-width: 0;

    margin: 0;
}

.posys-job-information-card
.posys-detail-list dt {
    align-self: start;

    margin: 0;

    color:
        var(
            --posys-ui-muted,
            #667989
        );

    font-size: 0.78rem;
    font-weight: 750;
    line-height: 1.4;
}

.posys-job-information-card
.posys-detail-list dd {
    min-width: 0;

    margin: 0;

    color:
        var(
            --posys-ui-text,
            #17242f
        );

    line-height: 1.5;

    overflow-wrap: anywhere;
}

.posys-job-information-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 8px;

    margin-top: 20px;
}

.posys-job-information-actions
.button {
    min-height:
        var(
            --posys-ui-touch-target,
            44px
        );

    margin: 0;
}


/* ------------------------------------------------------------
   REPEAT ORDER / LINEAGE
   ------------------------------------------------------------ */

.posys-repeat-order-card
.posys-detail-list {
    display: grid;

    grid-template-columns:
        170px
        minmax(0, 1fr);

    gap:
        10px
        16px;

    margin:
        0
        0
        20px;
}

.posys-repeat-order-card
.posys-detail-list dt {
    margin: 0;

    color:
        var(
            --posys-ui-muted,
            #667989
        );

    font-size: 0.78rem;
    font-weight: 750;
}

.posys-repeat-order-card
.posys-detail-list dd {
    min-width: 0;
    margin: 0;

    overflow-wrap: anywhere;
}

.posys-repeat-order-card h3 {
    margin:
        22px
        0
        12px;

    font-size: 0.95rem;
    line-height: 1.35;
}

.posys-item-lineage-table {
    width: 100%;

    border-collapse: separate;
    border-spacing: 0;

    table-layout: fixed;
}

.posys-item-lineage-table th,
.posys-item-lineage-table td {
    padding:
        11px
        12px;

    text-align: left;
    vertical-align: top;

    overflow-wrap: anywhere;
}

.posys-item-lineage-table th {
    font-size: 0.76rem;
    font-weight: 800;

    line-height: 1.3;

    letter-spacing: 0.025em;
    text-transform: uppercase;
}

.posys-item-lineage-table td {
    border-top:
        1px
        solid
        var(
            --posys-ui-border,
            #e2e9ee
        );

    line-height: 1.45;
}

.posys-repeat-order-card
.posys-summary-grid {
    display: grid;

    grid-template-columns:
        repeat(
            5,
            minmax(0, 1fr)
        );

    gap: 10px;
}

.posys-repeat-order-card
.posys-summary-grid > div {
    min-width: 0;

    padding:
        14px
        12px;

    border:
        1px
        solid
        var(
            --posys-ui-border,
            #e2e9ee
        );

    border-radius: 10px;

    text-align: center;

    line-height: 1.35;
}

.posys-repeat-order-card
.posys-summary-grid strong {
    display: inline-block;

    margin-bottom: 5px;

    font-size: 1.45rem;
    line-height: 1;
}


/* ------------------------------------------------------------
   PRODUCTS AND SERVICES HEADER
   ------------------------------------------------------------ */

.posys-job-items-layout-v1
.posys-product-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 16px;

    margin-bottom: 16px;
}

.posys-job-items-layout-v1
.posys-product-section-header h2 {
    margin: 0;

    font-size: 1.05rem;
    line-height: 1.3;
}

.posys-job-items-layout-v1
.posys-add-product-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height:
        var(
            --posys-ui-touch-target,
            44px
        );

    margin: 0;

    white-space: nowrap;
}


/* ------------------------------------------------------------
   PRODUCT REGISTER - DESKTOP
   ------------------------------------------------------------ */

.posys-job-items-layout-v1
.posys-table-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;

    overflow-x: auto;

    -webkit-overflow-scrolling: touch;
}

.posys-job-items-layout-v1
table.posys-products-table {
    display: table;

    width: 100%;
    min-width: 900px;

    border-collapse: separate;
    border-spacing: 0;

    table-layout: fixed;
}

.posys-job-items-layout-v1
.posys-products-table thead {
    display: table-header-group;
}

.posys-job-items-layout-v1
.posys-products-table tbody {
    display: table-row-group;
}

.posys-job-items-layout-v1
.posys-products-table
tr.posys-product-table-main-row {
    display: table-row;
}

.posys-job-items-layout-v1
.posys-products-table
tr.posys-product-detail-row {
    display: table-row;
}

.posys-job-items-layout-v1
.posys-products-table th {
    padding:
        11px
        12px;

    font-size: 0.75rem;
    font-weight: 800;

    line-height: 1.3;

    letter-spacing: 0.025em;
    text-transform: uppercase;

    white-space: nowrap;
}

.posys-job-items-layout-v1
.posys-product-table-main-row
> td {
    padding:
        14px
        12px !important;

    vertical-align: top !important;

    line-height: 1.45;

    box-sizing: border-box;
}

.posys-job-items-layout-v1
.posys-products-table
th:nth-child(1) {
    width: 11%;
}

.posys-job-items-layout-v1
.posys-products-table
th:nth-child(2) {
    width: 34%;
}

.posys-job-items-layout-v1
.posys-products-table
th:nth-child(3) {
    width: 15%;
}

.posys-job-items-layout-v1
.posys-products-table
th:nth-child(4) {
    width: 20%;
}

.posys-job-items-layout-v1
.posys-products-table
th:nth-child(5) {
    width: 20%;
}

.posys-job-item-reference-link,
.posys-job-item-product-link {
    overflow-wrap: normal;
    word-break: normal;
}

.posys-job-items-layout-v1
.posys-job-item-product-cell small {
    line-height: 1.45;
}


/* ------------------------------------------------------------
   PRODUCT ACTIONS
   ------------------------------------------------------------ */

.posys-job-items-layout-v1
.posys-action-group {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr);

    gap: 7px;

    width: 100%;
    min-width: 0;
}

.posys-job-items-layout-v1
.posys-view-item-button,
.posys-job-items-layout-v1
.posys-product-secondary-actions
> summary {
    width: 100%;
    min-width: 0;

    min-height:
        var(
            --posys-ui-touch-target,
            44px
        );

    box-sizing: border-box;
}

.posys-job-items-layout-v1
.posys-view-item-button {
    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0;
}

.posys-job-items-layout-v1
.posys-product-secondary-actions {
    position: relative;

    width: 100%;
    min-width: 0;

    margin: 0;

    visibility: visible;
    opacity: 1;
}

.posys-job-items-layout-v1
.posys-product-secondary-actions
> summary {
    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;

    padding:
        8px
        10px;

    list-style: none;

    text-align: center;
}

.posys-job-items-layout-v1
.posys-product-secondary-actions
> summary::-webkit-details-marker {
    display: none;
}

.posys-job-items-layout-v1
.posys-product-secondary-actions-menu {
    display: grid;

    gap: 7px;

    width: 100%;
    min-width: 0;

    margin-top: 7px;
}

.posys-job-items-layout-v1
.posys-product-secondary-actions-menu
.button {
    width: 100%;
    min-width: 0;

    min-height:
        var(
            --posys-ui-touch-target,
            44px
        );

    margin: 0;

    white-space: normal;
}


/* ------------------------------------------------------------
   SPECIFICATION / PRODUCTION DETAIL
   ------------------------------------------------------------ */

.posys-job-items-layout-v1
.posys-product-detail-row
> td {
    padding:
        0
        12px
        16px !important;

    border-top: 0 !important;
}

.posys-job-items-layout-v1
.posys-product-detail-spacer {
    width: 0 !important;
    padding: 0 !important;
}

.posys-job-items-layout-v1
.posys-product-detail {
    min-width: 0;

    padding:
        14px
        16px;

    border:
        1px
        solid
        var(
            --posys-ui-border,
            #e2e9ee
        );

    border-radius: 10px;

    box-sizing: border-box;
}

.posys-job-items-layout-v1
.posys-product-detail-spec {
    line-height: 1.5;

    overflow-wrap: anywhere;
}

.posys-job-items-layout-v1
.posys-product-detail-spec strong {
    display: inline-block;

    margin-right: 5px;
}

.posys-job-items-layout-v1
.posys-item-production-summary {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 9px;

    margin-top: 12px;
}

.posys-job-items-layout-v1
.posys-item-production-summary
> div {
    min-width: 0;

    padding:
        10px
        11px;

    border:
        1px
        solid
        var(
            --posys-ui-border,
            #e2e9ee
        );

    border-radius: 8px;

    line-height: 1.4;
}


/* ------------------------------------------------------------
   STAGE HISTORY
   ------------------------------------------------------------ */

.posys-job-items-layout-v1
.posys-item-stage-audit {
    margin-top: 12px;
}

.posys-job-items-layout-v1
.posys-item-stage-audit
> summary {
    display: flex;
    align-items: center;

    min-height:
        var(
            --posys-ui-touch-target,
            44px
        );

    cursor: pointer;

    font-weight: 750;

    line-height: 1.35;
}

.posys-job-items-layout-v1
.posys-item-stage-audit-body {
    min-width: 0;

    padding-top: 8px;
}

.posys-job-items-layout-v1
.posys-item-stage-audit-body h4 {
    margin:
        18px
        0
        9px;

    font-size: 0.88rem;
}

.posys-job-items-layout-v1
.posys-item-stage-audit-body
.posys-table-wrap {
    width: 100%;
    max-width: 100%;

    overflow-x: auto;

    -webkit-overflow-scrolling: touch;
}

.posys-job-items-layout-v1
.posys-stage-table {
    min-width: 760px;
}


/* ------------------------------------------------------------
   CONTROLLED FILES
   ------------------------------------------------------------ */

.posys-controlled-files-header-v3 {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 18px;

    margin-bottom: 16px;
}

.posys-controlled-files-header-v3
h2 {
    margin: 0;

    font-size: 1.05rem;
    line-height: 1.3;
}

.posys-controlled-files-header-v3
p {
    max-width: 760px;

    margin:
        6px
        0
        0;

    color:
        var(
            --posys-ui-muted,
            #667989
        );

    font-size: 0.84rem;
    line-height: 1.5;
}

.posys-controlled-files-upload-v3 {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height:
        var(
            --posys-ui-touch-target,
            44px
        );

    margin: 0;

    white-space: nowrap;
}

.posys-controlled-files-wrap-v3 {
    width: 100%;
    max-width: 100%;
    min-width: 0;

    overflow-x: auto;

    -webkit-overflow-scrolling: touch;
}

table.posys-controlled-files-table-v3 {
    display: table;

    width: 100%;
    min-width: 1040px;

    table-layout: fixed;

    border-collapse: separate;
    border-spacing: 0;
}

table.posys-controlled-files-table-v3
thead {
    display: table-header-group;
}

table.posys-controlled-files-table-v3
tbody {
    display: table-row-group;
}

table.posys-controlled-files-table-v3
tr {
    display: table-row;
}

table.posys-controlled-files-table-v3
th,
table.posys-controlled-files-table-v3
td {
    padding:
        12px
        10px;

    vertical-align: top;

    box-sizing: border-box;
}

table.posys-controlled-files-table-v3
th {
    font-size: 0.73rem;
    font-weight: 800;

    line-height: 1.3;

    letter-spacing: 0.025em;
    text-transform: uppercase;

    white-space: nowrap;
}

table.posys-controlled-files-table-v3
td {
    line-height: 1.42;
}

table.posys-controlled-files-table-v3
th:nth-child(1) {
    width: 19%;
}

table.posys-controlled-files-table-v3
th:nth-child(2) {
    width: 16%;
}

table.posys-controlled-files-table-v3
th:nth-child(3) {
    width: 8%;
}

table.posys-controlled-files-table-v3
th:nth-child(4) {
    width: 8%;
}

table.posys-controlled-files-table-v3
th:nth-child(5) {
    width: 14%;
}

table.posys-controlled-files-table-v3
th:nth-child(6) {
    width: 15%;
}

table.posys-controlled-files-table-v3
th:nth-child(7) {
    width: 20%;
}

.posys-controlled-file-name-v3 strong {
    overflow-wrap: anywhere;
}

.posys-controlled-file-type-v3,
.posys-controlled-file-uploaded-v3,
.posys-controlled-file-release-v3 {
    min-width: 0;
}

.posys-controlled-file-details-v3 {
    margin-top: 8px;
}

.posys-controlled-file-details-v3
> summary {
    min-height: 36px;

    cursor: pointer;

    font-weight: 700;

    line-height: 1.35;
}

.posys-controlled-file-details-v3
dl {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap:
        9px
        12px;

    margin:
        10px
        0
        0;
}

.posys-controlled-file-details-v3
dl > div {
    min-width: 0;
}

.posys-controlled-file-details-v3
dt {
    margin-bottom: 3px;

    color:
        var(
            --posys-ui-muted,
            #667989
        );

    font-size: 0.7rem;
    font-weight: 750;
}

.posys-controlled-file-details-v3
dd {
    margin: 0;

    font-size: 0.75rem;
    line-height: 1.4;

    overflow-wrap: anywhere;
}

.posys-controlled-file-actions-v3 {
    display: grid;

    gap: 6px;

    width: 100%;
    min-width: 0;
}

.posys-controlled-file-action-link-v3 {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-width: 0;

    min-height:
        var(
            --posys-ui-touch-target,
            44px
        );

    padding:
        7px
        8px;

    box-sizing: border-box;

    line-height: 1.25;

    text-align: center;

    overflow-wrap: anywhere;
}

.posys-controlled-files-empty-v3 {
    padding:
        26px
        18px;

    text-align: center;

    color:
        var(
            --posys-ui-muted,
            #667989
        );

    border:
        1px
        dashed
        var(
            --posys-ui-border,
            #dbe4eb
        );

    border-radius: 10px;
}


/* ============================================================
   JOB DETAIL CANONICAL RESPONSIVE SYSTEM
   ============================================================ */

@media (max-width: 1100px) {

    .posys-job-information-card
    .posys-detail-list {
        grid-template-columns:
            120px
            minmax(0, 1fr)
            120px
            minmax(0, 1fr);

        gap:
            11px
            14px;
    }

    .posys-repeat-order-card
    .posys-summary-grid {
        grid-template-columns:
            repeat(
                3,
                minmax(0, 1fr)
            );
    }

    .posys-job-items-layout-v1
    .posys-item-production-summary {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

}


@media (max-width: 900px) {

    .posys-job-information-card
    .posys-detail-list {
        grid-template-columns:
            130px
            minmax(0, 1fr);
    }

    .posys-job-items-layout-v1
    .posys-table-wrap {
        overflow: visible;
    }

    .posys-job-items-layout-v1
    table.posys-products-table {
        display: block !important;

        width: 100% !important;
        min-width: 0 !important;

        table-layout: auto !important;
    }

    .posys-job-items-layout-v1
    .posys-products-table
    thead {
        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;
    }

    .posys-job-items-layout-v1
    .posys-products-table
    tbody {
        display: grid !important;

        width: 100%;

        gap: 12px;
    }

    .posys-job-items-layout-v1
    .posys-products-table
    tr.posys-product-table-main-row {
        display: block !important;

        width: 100%;

        padding:
            4px
            14px;

        border:
            1px
            solid
            var(
                --posys-ui-border,
                #dbe4eb
            );

        border-radius:
            12px
            12px
            0
            0;

        box-sizing: border-box;
    }

    .posys-job-items-layout-v1
    .posys-product-table-main-row
    > td {
        display: grid !important;

        grid-template-columns:
            118px
            minmax(0, 1fr);

        align-items: start;

        gap: 12px;

        width: 100% !important;

        padding:
            11px
            0 !important;

        border: 0 !important;

        border-bottom:
            1px
            solid
            var(
                --posys-ui-border,
                #e2e9ee
            ) !important;

        text-align: left !important;

        box-sizing: border-box;
    }

    .posys-job-items-layout-v1
    .posys-product-table-main-row
    > td:last-child {
        border-bottom: 0 !important;
    }

    .posys-job-items-layout-v1
    .posys-product-table-main-row
    > td::before {
        display: block !important;

        padding-top: 2px;

        color:
            var(
                --posys-ui-muted,
                #667989
            );

        font-size: 0.7rem;
        font-weight: 800;

        line-height: 1.3;

        letter-spacing: 0.03em;
        text-transform: uppercase;
    }

    .posys-job-items-layout-v1
    .posys-product-table-main-row
    > td:nth-child(1)::before {
        content: "Item";
    }

    .posys-job-items-layout-v1
    .posys-product-table-main-row
    > td:nth-child(2)::before {
        content: "Product / Service";
    }

    .posys-job-items-layout-v1
    .posys-product-table-main-row
    > td:nth-child(3)::before {
        content: "Required date";
    }

    .posys-job-items-layout-v1
    .posys-product-table-main-row
    > td:nth-child(4)::before {
        content: "Status";
    }

    .posys-job-items-layout-v1
    .posys-product-table-main-row
    > td:nth-child(5)::before {
        content: "Actions";
    }

    .posys-job-items-layout-v1
    .posys-products-table
    tr.posys-product-detail-row {
        display: block !important;

        width: 100%;

        margin-top: -12px;

        border:
            1px
            solid
            var(
                --posys-ui-border,
                #dbe4eb
            );

        border-top: 0;

        border-radius:
            0
            0
            12px
            12px;

        box-sizing: border-box;
    }

    .posys-job-items-layout-v1
    .posys-product-detail-row
    > td {
        display: block !important;

        width: 100% !important;

        padding:
            0
            12px
            12px !important;

        border: 0 !important;
    }

    .posys-job-items-layout-v1
    .posys-product-detail-row
    > td::before {
        display: none !important;
        content: none !important;
    }

    .posys-job-items-layout-v1
    .posys-product-detail-spacer {
        display: none !important;
    }

    .posys-job-items-layout-v1
    .posys-product-detail {
        border-radius: 9px;
    }

    .posys-controlled-files-wrap-v3 {
        overflow: visible;
    }

    table.posys-controlled-files-table-v3 {
        display: block !important;

        width: 100% !important;
        min-width: 0 !important;

        table-layout: auto !important;
    }

    table.posys-controlled-files-table-v3
    thead {
        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;
    }

    table.posys-controlled-files-table-v3
    tbody {
        display: grid !important;

        width: 100%;

        gap: 12px;
    }

    table.posys-controlled-files-table-v3
    tr {
        display: block !important;

        width: 100%;

        padding:
            4px
            14px;

        border:
            1px
            solid
            var(
                --posys-ui-border,
                #dbe4eb
            );

        border-radius: 12px;

        box-sizing: border-box;
    }

    table.posys-controlled-files-table-v3
    td {
        display: grid !important;

        grid-template-columns:
            118px
            minmax(0, 1fr);

        align-items: start;

        gap: 12px;

        width: 100% !important;

        padding:
            11px
            0 !important;

        border: 0 !important;

        border-bottom:
            1px
            solid
            var(
                --posys-ui-border,
                #e2e9ee
            ) !important;

        text-align: left !important;

        box-sizing: border-box;
    }

    table.posys-controlled-files-table-v3
    td:last-child {
        border-bottom: 0 !important;
    }

    table.posys-controlled-files-table-v3
    td::before {
        content:
            attr(data-label) !important;

        display: block !important;

        padding-top: 2px;

        color:
            var(
                --posys-ui-muted,
                #667989
            );

        font-size: 0.7rem;
        font-weight: 800;

        line-height: 1.3;

        letter-spacing: 0.03em;
        text-transform: uppercase;
    }

    .posys-controlled-file-details-v3
    dl {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

}


@media (max-width: 700px) {

    .posys-job-detail-title-v1 {
        margin-bottom: 16px;

        font-size: 1.8rem;
    }

    .posys-job-information-card,
    .posys-repeat-order-card,
    .posys-products-services-section,
    .posys-controlled-files-card-v3 {
        padding: 16px;
    }

    .posys-job-information-card
    .posys-detail-list,
    .posys-repeat-order-card
    .posys-detail-list {
        grid-template-columns: 1fr;

        gap: 4px;
    }

    .posys-job-information-card
    .posys-detail-list dt,
    .posys-repeat-order-card
    .posys-detail-list dt {
        margin-top: 10px;
    }

    .posys-job-information-card
    .posys-detail-list dt:first-child,
    .posys-repeat-order-card
    .posys-detail-list dt:first-child {
        margin-top: 0;
    }

    .posys-job-information-card
    .posys-detail-list dd,
    .posys-repeat-order-card
    .posys-detail-list dd {
        padding-bottom: 7px;
    }

    .posys-job-information-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .posys-job-information-actions
    .button {
        width: 100%;
    }

    .posys-repeat-order-card
    .posys-summary-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    .posys-item-lineage-table {
        display: block;

        width: 100%;

        overflow-x: auto;

        -webkit-overflow-scrolling: touch;
    }

    .posys-job-items-layout-v1
    .posys-product-section-header,
    .posys-controlled-files-header-v3 {
        align-items: stretch;
        flex-direction: column;
    }

    .posys-job-items-layout-v1
    .posys-add-product-button,
    .posys-controlled-files-upload-v3 {
        width: 100%;
    }

    .posys-job-items-layout-v1
    .posys-product-table-main-row
    > td,
    table.posys-controlled-files-table-v3
    td {
        grid-template-columns:
            104px
            minmax(0, 1fr);

        gap: 10px;
    }

    .posys-job-items-layout-v1
    .posys-item-production-summary {
        grid-template-columns: 1fr;
    }

    .posys-controlled-file-details-v3
    dl {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 430px) {

    .posys-job-detail-title-v1 {
        font-size: 1.65rem;
    }

    .posys-job-information-card,
    .posys-repeat-order-card,
    .posys-products-services-section,
    .posys-controlled-files-card-v3 {
        padding: 14px;
    }

    .posys-repeat-order-card
    .posys-summary-grid {
        grid-template-columns: 1fr;
    }

    .posys-job-items-layout-v1
    .posys-products-table
    tr.posys-product-table-main-row,
    table.posys-controlled-files-table-v3
    tr {
        padding:
            3px
            12px;

        border-radius: 10px;
    }

    .posys-job-items-layout-v1
    .posys-product-table-main-row
    > td,
    table.posys-controlled-files-table-v3
    td {
        grid-template-columns:
            88px
            minmax(0, 1fr);

        gap: 8px;

        padding:
            10px
            0 !important;
    }

    .posys-job-items-layout-v1
    .posys-products-table
    tr.posys-product-detail-row {
        border-radius:
            0
            0
            10px
            10px;
    }

    .posys-job-items-layout-v1
    .posys-product-detail {
        padding:
            12px
            13px;
    }

    .posys-job-items-layout-v1
    .posys-product-table-main-row
    > td::before,
    table.posys-controlled-files-table-v3
    td::before {
        font-size: 0.66rem;
    }

    .posys-controlled-file-action-link-v3 {
        font-size: 0.75rem;
    }

}


/* ============================================================
   POSYS PRODUCT SPECIFICATION FOUNDATION V1
   Phase 3B shared Product / Specification form foundation.

   This layer intentionally does NOT remove the legacy
   job_item_form.html style blocks yet.

   It establishes the canonical shared presentation while
   preserving:
     - product-specific conditions
     - checkboxes and dependent-field behavior
     - T-Shirt / DTF location grids
     - Sticker shape-dependent dimensions
     - Custom Size JavaScript
     - Standard Size JavaScript
     - material/dropdown choices
     - calculations and validation
     - all workflow and backend behavior

   Canonical breakpoints:
     1100px / 900px / 700px / 430px
   ============================================================ */


/* ------------------------------------------------------------
   FORM SHELL
   ------------------------------------------------------------ */

.posys-product-spec-form {
    width: 100%;
    max-width: 100%;
    min-width: 0;

    margin: 0;

    box-sizing: border-box;
}

.posys-product-spec-form
.posys-main-product-card,
.posys-product-spec-form
.posys-job-specification-card,
.posys-product-spec-form
.posys-operational-information-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;

    margin-bottom: 18px;
    padding: 22px;

    box-sizing: border-box;
}

.posys-product-spec-form
.posys-main-product-card > h2,
.posys-product-spec-form
.posys-job-specification-card > h2,
.posys-product-spec-form
.posys-operational-information-card > h2 {
    margin:
        0
        0
        18px;

    font-size: 1.08rem;
    line-height: 1.3;
}


/* ------------------------------------------------------------
   SPECIFICATION SECTIONS
   ------------------------------------------------------------ */

.posys-product-spec-form
.posys-specification-section {
    width: 100%;
    min-width: 0;

    margin:
        0
        0
        22px;

    padding:
        0
        0
        22px;

    border-bottom:
        1px
        solid
        var(
            --posys-ui-border,
            #e2e9ee
        );

    box-sizing: border-box;
}

.posys-product-spec-form
.posys-specification-section:last-child {
    margin-bottom: 0;
    padding-bottom: 0;

    border-bottom: 0;
}

.posys-product-spec-form
.posys-specification-section > h3 {
    margin:
        0
        0
        7px;

    font-size: 1rem;
    font-weight: 800;
    line-height: 1.3;
}

.posys-product-spec-form
.posys-specification-section > p {
    max-width: 820px;

    margin:
        0
        0
        16px;

    color:
        var(
            --posys-ui-muted,
            #667989
        );

    font-size: 0.84rem;
    line-height: 1.55;
}


/* ------------------------------------------------------------
   SHARED SPECIFICATION GRID
   ------------------------------------------------------------ */

.posys-product-spec-form
.posys-specification-section
.posys-specification-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    align-items: start;

    gap:
        16px
        18px;

    width: 100%;
    min-width: 0;
}

.posys-product-spec-form
.posys-specification-section
.posys-specification-grid
> .posys-form-field {
    min-width: 0;
    margin: 0;

    box-sizing: border-box;
}


/* ------------------------------------------------------------
   LABELS / REQUIRED INDICATORS
   ------------------------------------------------------------ */

.posys-product-spec-form
.posys-specification-section
.posys-form-field
> label {
    display: block;

    margin:
        0
        0
        6px;

    color:
        var(
            --posys-ui-text,
            #17242f
        );

    font-size: 0.82rem;
    font-weight: 750;
    line-height: 1.35;
}

.posys-product-spec-form
.posys-required {
    display: inline;

    margin-left: 2px;

    font-weight: 800;
}


/* ------------------------------------------------------------
   INPUT / SELECT / TEXTAREA FOUNDATION
   ------------------------------------------------------------ */

.posys-product-spec-form
.posys-specification-section
.posys-form-field
input:not([type="checkbox"]):not([type="radio"]),
.posys-product-spec-form
.posys-specification-section
.posys-form-field
select,
.posys-product-spec-form
.posys-specification-section
.posys-form-field
textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;

    min-height:
        var(
            --posys-ui-touch-target,
            44px
        );

    box-sizing: border-box;
}

.posys-product-spec-form
.posys-specification-section
.posys-form-field
textarea {
    min-height: 110px;

    resize: vertical;
}


/* ------------------------------------------------------------
   HELP TEXT / ERRORS
   ------------------------------------------------------------ */

.posys-product-spec-form
.posys-specification-section
.posys-form-field
> small {
    display: block;

    margin-top: 6px;

    color:
        var(
            --posys-ui-muted,
            #667989
        );

    font-size: 0.74rem;
    line-height: 1.45;
}

.posys-product-spec-form
.posys-specification-section
.posys-form-field
> .errorlist {
    margin:
        6px
        0
        0;

    padding-left: 18px;

    font-size: 0.76rem;
    line-height: 1.4;
}


/* ------------------------------------------------------------
   SPECIFICATION SUBSECTIONS
   ------------------------------------------------------------ */

.posys-product-spec-form
.posys-specification-subsection {
    width: 100%;
    min-width: 0;

    margin-top: 18px;

    padding-top: 18px;

    border-top:
        1px
        solid
        var(
            --posys-ui-border,
            #e2e9ee
        );

    box-sizing: border-box;
}

.posys-product-spec-form
.posys-specification-subsection > h4 {
    margin:
        0
        0
        12px;

    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1.35;
}


/* ------------------------------------------------------------
   CALCULATION / ESTIMATE PANELS
   ------------------------------------------------------------ */

.posys-product-spec-form
.posys-standard-area-panel {
    width: 100%;
    min-width: 0;

    margin-top: 16px;
    padding: 16px;

    border:
        1px
        solid
        var(
            --posys-ui-border,
            #e2e9ee
        );

    border-radius: 10px;

    box-sizing: border-box;
}

.posys-product-spec-form
.posys-standard-area-panel
> strong {
    display: block;

    margin-bottom: 10px;

    font-size: 0.86rem;
    line-height: 1.35;
}

.posys-product-spec-form
.posys-standard-area-panel
> div {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 10px;

    width: 100%;
    min-width: 0;
}

.posys-product-spec-form
.posys-standard-area-panel
> div
> div {
    min-width: 0;

    padding:
        10px
        11px;

    border:
        1px
        solid
        var(
            --posys-ui-border,
            #e2e9ee
        );

    border-radius: 8px;

    box-sizing: border-box;
}

.posys-product-spec-form
.posys-standard-area-panel
span {
    display: block;

    color:
        var(
            --posys-ui-muted,
            #667989
        );

    font-size: 0.72rem;
    line-height: 1.35;
}

.posys-product-spec-form
.posys-standard-area-panel
strong {
    overflow-wrap: anywhere;
}


/* ------------------------------------------------------------
   RELATED DIMENSION ROWS
   ------------------------------------------------------------ */

.posys-product-spec-form
.posys-dimension-row-v1 {
    width: 100%;
    min-width: 0;

    gap:
        14px
        16px;

    margin:
        2px
        0
        0;

    box-sizing: border-box;
}

.posys-product-spec-form
.posys-dimension-row-v1
> .posys-form-field {
    min-width: 0;
}

.posys-product-spec-form
.posys-dimension-row-v1
> .posys-form-field
> label {
    margin-bottom: 6px;
}

.posys-product-spec-form
.posys-dimension-row-v1
> .posys-form-field
input:not([type="checkbox"]):not([type="radio"]),
.posys-product-spec-form
.posys-dimension-row-v1
> .posys-form-field
select {
    width: 100%;
    min-width: 0;

    min-height:
        var(
            --posys-ui-touch-target,
            44px
        );

    box-sizing: border-box;
}


/* ------------------------------------------------------------
   CUSTOM SIZE CONDITIONAL ROW
   ------------------------------------------------------------ */

.posys-product-spec-form
.posys-custom-size-dimension-row-v2 {
    grid-column:
        1
        /
        -1;

    width: 100%;
    min-width: 0;

    margin:
        0
        0
        2px;

    box-sizing: border-box;
}

.posys-product-spec-form
.posys-custom-size-dimension-row-v2[hidden] {
    display: none;
}


/* ------------------------------------------------------------
   OPERATIONAL INFORMATION
   ------------------------------------------------------------ */

.posys-product-spec-form
.posys-operational-information-card
.posys-artwork-source-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;

    padding: 16px;

    box-sizing: border-box;
}

.posys-product-spec-form
.posys-operational-information-card
.posys-artwork-buttons {
    display: flex;
    flex-wrap: wrap;

    gap: 8px;

    margin-top: 12px;
}

.posys-product-spec-form
.posys-operational-information-card
.posys-artwork-buttons
.button {
    min-height:
        var(
            --posys-ui-touch-target,
            44px
        );

    margin: 0;
}


/* ------------------------------------------------------------
   FORM ACTIONS
   ------------------------------------------------------------ */

.posys-product-spec-form
.posys-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 9px;

    width: 100%;
    min-width: 0;

    margin-top: 20px;
}

.posys-product-spec-form
.posys-actions
.button,
.posys-product-spec-form
.posys-actions
button,
.posys-product-spec-form
.posys-actions
a {
    min-height:
        var(
            --posys-ui-touch-target,
            44px
        );

    margin: 0;
}


/* ============================================================
   PRODUCT SPECIFICATION FOUNDATION RESPONSIVE SYSTEM
   ============================================================ */

@media (max-width: 1100px) {

    .posys-product-spec-form
    .posys-standard-area-panel
    > div {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

}


@media (max-width: 900px) {

    .posys-product-spec-form
    .posys-main-product-card,
    .posys-product-spec-form
    .posys-job-specification-card,
    .posys-product-spec-form
    .posys-operational-information-card {
        padding: 20px;
    }

    .posys-product-spec-form
    .posys-specification-section
    .posys-specification-grid {
        gap:
            14px
            16px;
    }

}


@media (max-width: 700px) {

    .posys-product-spec-form
    .posys-main-product-card,
    .posys-product-spec-form
    .posys-job-specification-card,
    .posys-product-spec-form
    .posys-operational-information-card {
        padding: 16px;
    }

    .posys-product-spec-form
    .posys-specification-section {
        margin-bottom: 20px;
        padding-bottom: 20px;
    }

    .posys-product-spec-form
    .posys-specification-section
    .posys-specification-grid {
        grid-template-columns: 1fr;

        gap: 14px;
    }

    .posys-product-spec-form
    .posys-dimension-row-v1 {
        grid-template-columns: 1fr;

        gap: 12px;
    }

    .posys-product-spec-form
    .posys-standard-area-panel
    > div {
        grid-template-columns: 1fr;
    }

    .posys-product-spec-form
    .posys-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .posys-product-spec-form
    .posys-actions
    .button,
    .posys-product-spec-form
    .posys-actions
    button,
    .posys-product-spec-form
    .posys-actions
    a {
        width: 100%;
    }

    .posys-product-spec-form
    .posys-operational-information-card
    .posys-artwork-buttons {
        display: grid;

        grid-template-columns: 1fr;
    }

    .posys-product-spec-form
    .posys-operational-information-card
    .posys-artwork-buttons
    .button {
        width: 100%;
    }

}


@media (max-width: 430px) {

    .posys-product-spec-form
    .posys-main-product-card,
    .posys-product-spec-form
    .posys-job-specification-card,
    .posys-product-spec-form
    .posys-operational-information-card {
        padding: 14px;
    }

    .posys-product-spec-form
    .posys-specification-section > h3 {
        font-size: 0.96rem;
    }

    .posys-product-spec-form
    .posys-specification-section
    .posys-form-field
    > label {
        font-size: 0.8rem;
    }

    .posys-product-spec-form
    .posys-standard-area-panel {
        padding: 13px;
    }

}


/* ============================================================
   POSYS MIGRATED PRODUCT DIMENSION ROW CSS V1
   Source:
     job_item_form.html
     style#posys-dimension-row-consistency-v1

   Original CSS body retained verbatim.
   ============================================================ */

/* ============================================================
   POSYS PRODUCT DIMENSION ROW CONSISTENCY V1

   Keep related physical dimensions together:
   - Width + Height
   - Length + Width + Height / Depth

   Measurement unit remains an independent field.

   This is rendering-only.
   No specification values or calculations are changed.
   ============================================================ */

.posys-dimension-row-v1 {
    grid-column: 1 / -1;

    display: grid;

    grid-template-columns:
        repeat(
            var(--posys-dimension-columns, 2),
            minmax(0, 1fr)
        );

    gap: 24px 32px;

    width: 100%;
    min-width: 0;

    box-sizing: border-box;
}


.posys-dimension-row-v1
> .posys-form-field {
    width: 100% !important;
    min-width: 0;

    margin: 0 !important;

    box-sizing: border-box;
}


.posys-dimension-row-v1
> .posys-form-field
> label {
    display: block;

    margin-bottom: 8px;

    line-height: 1.35;
}


.posys-dimension-row-v1
> .posys-form-field
input:not([type="checkbox"]):not([type="radio"]),
.posys-dimension-row-v1
> .posys-form-field
select,
.posys-dimension-row-v1
> .posys-form-field
textarea {
    display: block;

    width: 100% !important;
    max-width: none !important;

    box-sizing: border-box;
}


.posys-dimension-row-v1
> .posys-form-field
small {
    display: block;

    margin-top: 6px;

    line-height: 1.4;
}


/*
 * Tablet/mobile:
 * dimensions stack for touch usability.
 */
@media (max-width: 760px) {

    .posys-dimension-row-v1 {
        grid-template-columns: 1fr;

        gap: 18px;
    }

}

/* ============================================================
   POSYS MIGRATED CUSTOM SIZE CONDITIONAL CSS V2
   Source:
     job_item_form.html
     style#posys-custom-size-layout-v2

   Original CSS body retained verbatim.
   ============================================================ */

/* ============================================================
   POSYS CUSTOM SIZE CONDITIONAL LAYOUT V2

   Standard size:
       hide manual dimensions.

   Custom Size:
       show the related manual dimension row immediately
       below the Standard Size selection.

   Backend values/calculations are intentionally untouched.
   ============================================================ */

.posys-custom-size-dimension-row-v2 {
    grid-column: 1 / -1;
}


.posys-custom-size-dimension-row-v2[
    hidden
] {
    display: none !important;
}


/*
 * Give the conditional dimension row slightly tighter
 * vertical spacing so it reads as part of Standard Size.
 */
.posys-custom-size-dimension-row-v2 {
    margin-top: -2px;
    margin-bottom: 0;
}


/*
 * Mobile keeps dimensions stacked using the existing
 * dimension-row responsive rule.
 */
@media (max-width: 760px) {

    .posys-custom-size-dimension-row-v2 {
        margin-top: 0;
    }

}

/* ============================================================
   POSYS PRINTING STATIONERY CANONICAL V1
   Phase 3C Patch 1

   Family:
     printing-order

   Products:
     Name Card
     Flyer
     Voucher
     Poster
     Menu
     Card
     Other Digital Printing

   Presentation only.
   All backend validation, calculations,
   choices and JavaScript remain unchanged.

   Breakpoints:
     1100 / 900 / 700 / 430
   ============================================================ */


/* ------------------------------------------------------------
   SECTION CARDS
   ------------------------------------------------------------ */

.posys-product-spec-form-printing-order
.posys-job-specification-card {
    overflow: visible;
}

.posys-product-spec-form-printing-order
.posys-specification-section {
    width: 100%;
    min-width: 0;

    margin-bottom: 16px;
    padding: 18px;

    border:
        1px
        solid
        var(
            --posys-ui-border,
            #e2e9ee
        );

    border-radius: 12px;

    box-sizing: border-box;
}

.posys-product-spec-form-printing-order
.posys-specification-section:last-child {
    padding: 18px;

    border:
        1px
        solid
        var(
            --posys-ui-border,
            #e2e9ee
        );
}

.posys-product-spec-form-printing-order
.posys-specification-section
> h3 {
    margin:
        0
        0
        6px;

    font-size: 1rem;
    font-weight: 800;
    line-height: 1.3;
}

.posys-product-spec-form-printing-order
.posys-specification-section
> p {
    max-width: 760px;

    margin:
        0
        0
        16px;

    font-size: 0.82rem;
    line-height: 1.5;
}


/* ------------------------------------------------------------
   TWO-COLUMN DESKTOP GRID
   ------------------------------------------------------------ */

.posys-product-spec-form-printing-order
.posys-specification-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    align-items: start;

    gap:
        16px
        18px;

    width: 100%;
    min-width: 0;
}

.posys-product-spec-form-printing-order
.posys-specification-grid
> .posys-form-field {
    width: 100%;
    min-width: 0;

    margin: 0;

    box-sizing: border-box;
}

.posys-product-spec-form-printing-order
.posys-specification-grid
> .posys-form-field
> label {
    margin-bottom: 6px;
}


/* ------------------------------------------------------------
   CONTROLS
   ------------------------------------------------------------ */

.posys-product-spec-form-printing-order
.posys-form-field
input:not([type="checkbox"]):not([type="radio"]),
.posys-product-spec-form-printing-order
.posys-form-field
select,
.posys-product-spec-form-printing-order
.posys-form-field
textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;

    box-sizing: border-box;
}

.posys-product-spec-form-printing-order
.posys-form-field
textarea {
    min-height: 104px;
}


/* ------------------------------------------------------------
   STANDARD SIZE
   ------------------------------------------------------------ */

.posys-product-spec-form-printing-order
.posys-form-field:has(
    > #id_basic__standard_size
) {
    grid-column:
        1
        /
        -1;
}

.posys-product-spec-form-printing-order
.posys-form-field:has(
    > #id_basic__standard_size
)
> select {
    max-width: 620px;
}


/* ------------------------------------------------------------
   CUSTOM SIZE DIMENSIONS
   ------------------------------------------------------------ */

.posys-product-spec-form-printing-order
.posys-custom-size-dimension-row-v2 {
    margin-top: 0;
    padding: 14px;

    border:
        1px
        solid
        var(
            --posys-ui-border,
            #e2e9ee
        );

    border-radius: 10px;

    box-sizing: border-box;
}

.posys-product-spec-form-printing-order
.posys-custom-size-dimension-row-v2[hidden] {
    display: none !important;
}


/* ------------------------------------------------------------
   RELATED DIMENSIONS
   ------------------------------------------------------------ */

.posys-product-spec-form-printing-order
.posys-dimension-row-v1 {
    width: 100%;
    min-width: 0;

    gap:
        16px
        18px;

    box-sizing: border-box;
}

.posys-product-spec-form-printing-order
.posys-dimension-row-v1
> .posys-form-field {
    width: 100%;
    min-width: 0;

    margin: 0 !important;
}


/* ------------------------------------------------------------
   UNIT REMAINS INDEPENDENT
   ------------------------------------------------------------ */

.posys-product-spec-form-printing-order
.posys-form-field:has(
    > #id_basic__size_unit
) {
    align-self: start;
}


/* ------------------------------------------------------------
   DEPENDENT FIELDS
   ------------------------------------------------------------ */

.posys-product-spec-form-printing-order
.posys-dependent-detail[hidden] {
    display: none !important;
}


/* ------------------------------------------------------------
   RESPONSIVE
   ------------------------------------------------------------ */

@media (max-width: 1100px) {

    .posys-product-spec-form-printing-order
    .posys-specification-section,
    .posys-product-spec-form-printing-order
    .posys-specification-section:last-child {
        padding: 17px;
    }

}


@media (max-width: 900px) {

    .posys-product-spec-form-printing-order
    .posys-specification-grid {
        gap:
            14px
            16px;
    }

}


@media (max-width: 700px) {

    .posys-product-spec-form-printing-order
    .posys-specification-section,
    .posys-product-spec-form-printing-order
    .posys-specification-section:last-child {
        padding: 15px;

        border-radius: 10px;
    }

    .posys-product-spec-form-printing-order
    .posys-specification-grid {
        grid-template-columns: 1fr;

        gap: 14px;
    }

    .posys-product-spec-form-printing-order
    .posys-dimension-row-v1 {
        grid-template-columns: 1fr;

        gap: 12px;
    }

    .posys-product-spec-form-printing-order
    .posys-form-field:has(
        > #id_basic__standard_size
    )
    > select {
        max-width: 100%;
    }

    .posys-product-spec-form-printing-order
    .posys-custom-size-dimension-row-v2 {
        padding: 12px;
    }

}


@media (max-width: 430px) {

    .posys-product-spec-form-printing-order
    .posys-specification-section,
    .posys-product-spec-form-printing-order
    .posys-specification-section:last-child {
        padding: 13px;
    }

    .posys-product-spec-form-printing-order
    .posys-specification-section
    > h3 {
        font-size: 0.96rem;
    }

    .posys-product-spec-form-printing-order
    .posys-custom-size-dimension-row-v2 {
        padding: 10px;
    }

}


/* ============================================================
   POSYS MIGRATED STICKER SHAPE DIMENSION FLOW V1

   Source:
     job_item_form.html
     style#posys-sticker-shape-dimension-flow-style-v1

   Original CSS body retained verbatim.
   ============================================================ */

/* ============================================================
   POSYS STICKER SHAPE DIMENSION FLOW V1

   The user selects Sticker Shape first.
   Only the dimensions required by that shape are then shown.
   ============================================================ */

.posys-sticker-dimension-row-v1[hidden] {
    display: none !important;
}


/*
 * A single required dimension such as Side Length
 * or Diameter uses one clean field column.
 */
.posys-sticker-dimension-row-v1[
    data-posys-sticker-single-dimension="true"
] {
    --posys-dimension-columns: 1;
}


@media (min-width: 761px) {

    .posys-sticker-dimension-row-v1[
        data-posys-sticker-single-dimension="true"
    ] {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr);
    }

    .posys-sticker-dimension-row-v1[
        data-posys-sticker-single-dimension="true"
    ]
    > .posys-form-field:first-child {
        grid-column: 1;
    }

}


/* ============================================================
   POSYS STICKER LABEL CANONICAL V1
   Phase 3C Patch 2

   Family:
     sticker-printing-order

   Scope:
     Simili Sticker (Woodfree)
     Mirrorkote Sticker
     Transparent Sticker
     PP Matt Sticker
     PP Gloss Sticker
     Sticker Craft
     PET Gold Sticker
     PET Silver Sticker
     UV DTF Sticker (Strong Glue)
     UV DTF Sticker
     Other Sticker

   Presentation only.

   Preserved:
     Shape-first JavaScript
     Square / Circle normalization
     Rectangle / Oval dimensions
     Custom Shape bounding dimensions
     A3+ 329 x 483 mm calculation
     5 mm margins
     2 mm horizontal/vertical gaps
     orientation comparison
     planned sheet calculations
     Simili product differences
     all schemas and validation

   Breakpoints:
     1100 / 900 / 700 / 430
   ============================================================ */


/* ------------------------------------------------------------
   STICKER SECTION CARDS
   ------------------------------------------------------------ */

.posys-product-spec-form-sticker-printing-order
.posys-job-specification-card {
    overflow: visible;
}

.posys-product-spec-form-sticker-printing-order
.posys-specification-section {
    width: 100%;
    min-width: 0;

    margin-bottom: 16px;
    padding: 18px;

    border:
        1px
        solid
        var(
            --posys-ui-border,
            #e2e9ee
        );

    border-radius: 12px;

    box-sizing: border-box;
}

.posys-product-spec-form-sticker-printing-order
.posys-specification-section:last-child {
    padding: 18px;

    border:
        1px
        solid
        var(
            --posys-ui-border,
            #e2e9ee
        );
}

.posys-product-spec-form-sticker-printing-order
.posys-specification-section
> h3 {
    margin:
        0
        0
        6px;

    font-size: 1rem;
    font-weight: 800;
    line-height: 1.3;
}

.posys-product-spec-form-sticker-printing-order
.posys-specification-section
> p {
    max-width: 780px;

    margin:
        0
        0
        16px;

    font-size: 0.82rem;
    line-height: 1.5;
}


/* ------------------------------------------------------------
   STANDARD STICKER FIELD GRID
   ------------------------------------------------------------ */

.posys-product-spec-form-sticker-printing-order
.posys-specification-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    align-items: start;

    gap:
        16px
        18px;

    width: 100%;
    min-width: 0;
}

.posys-product-spec-form-sticker-printing-order
.posys-specification-grid
> .posys-form-field {
    width: 100%;
    min-width: 0;

    margin: 0;

    box-sizing: border-box;
}

.posys-product-spec-form-sticker-printing-order
.posys-form-field
input:not([type="checkbox"]):not([type="radio"]),
.posys-product-spec-form-sticker-printing-order
.posys-form-field
select,
.posys-product-spec-form-sticker-printing-order
.posys-form-field
textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;

    box-sizing: border-box;
}


/* ------------------------------------------------------------
   SHAPE-FIRST PRESENTATION
   ------------------------------------------------------------ */

.posys-product-spec-form-sticker-printing-order
.posys-form-field:has(
    > #id_spec__shape
) {
    grid-column:
        1
        /
        -1;

    padding:
        14px;

    border:
        1px
        solid
        var(
            --posys-ui-border,
            #e2e9ee
        );

    border-radius: 10px;

    box-sizing: border-box;
}

.posys-product-spec-form-sticker-printing-order
.posys-form-field:has(
    > #id_spec__shape
)
> select {
    max-width: 520px;
}


/* ------------------------------------------------------------
   SHAPE-DEPENDENT DIMENSIONS
   ------------------------------------------------------------ */

.posys-product-spec-form-sticker-printing-order
.posys-sticker-dimension-row-v1 {
    grid-column:
        1
        /
        -1;

    width: 100%;
    min-width: 0;

    margin-top: 0;

    padding:
        14px;

    border:
        1px
        solid
        var(
            --posys-ui-border,
            #e2e9ee
        );

    border-radius: 10px;

    box-sizing: border-box;
}

.posys-product-spec-form-sticker-printing-order
.posys-sticker-dimension-row-v1[hidden] {
    display: none !important;
}


/* ------------------------------------------------------------
   A3+ SHEET PLANNING FIELD
   ------------------------------------------------------------ */

.posys-product-spec-form-sticker-printing-order
.posys-form-field:has(
    > #id_basic__number_of_sheets_to_print
) {
    grid-column:
        1
        /
        -1;
}

.posys-product-spec-form-sticker-printing-order
.posys-form-field:has(
    > #id_basic__number_of_sheets_to_print
)
> input {
    max-width: 360px;
}


/* ------------------------------------------------------------
   STICKER PRODUCTION ESTIMATE
   ------------------------------------------------------------ */

.posys-product-spec-form-sticker-printing-order
#posys-sticker-yield-panel {
    grid-column:
        1
        /
        -1;

    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap:
        0
        18px;

    width: 100%;
    min-width: 0;

    margin:
        2px
        0
        4px !important;

    padding:
        16px
        18px !important;

    border:
        1px
        solid
        var(
            --posys-ui-border,
            #e2e9ee
        );

    border-radius:
        10px !important;

    box-sizing: border-box;
}

.posys-product-spec-form-sticker-printing-order
#posys-sticker-yield-panel
> strong {
    grid-column:
        1
        /
        -1;

    display: block;

    margin-bottom: 8px;

    font-size: 0.92rem;
    line-height: 1.35;
}

.posys-product-spec-form-sticker-printing-order
#posys-sticker-yield-panel
> div {
    display: flex;

    align-items: baseline;
    justify-content: space-between;

    gap: 14px;

    min-width: 0;

    padding:
        10px
        0;

    border-bottom:
        1px
        solid
        var(
            --posys-ui-border,
            #e2e9ee
        );
}

.posys-product-spec-form-sticker-printing-order
#posys-sticker-yield-panel
> div
> span {
    min-width: 0;

    font-size: 0.78rem;
    line-height: 1.4;
}

.posys-product-spec-form-sticker-printing-order
#posys-sticker-yield-panel
> div
> strong {
    flex:
        0
        0
        auto;

    text-align: right;

    white-space: nowrap;

    font-size: 0.82rem;
}

.posys-product-spec-form-sticker-printing-order
#posys-sticker-yield-panel
> small {
    grid-column:
        1
        /
        -1;

    display: block;

    margin-top:
        12px !important;

    line-height: 1.45;
}


/* ------------------------------------------------------------
   CUTTING
   ------------------------------------------------------------ */

.posys-product-spec-form-sticker-printing-order
.posys-form-field:has(
    > #id_spec__cutting_type
) {
    grid-column:
        1
        /
        -1;
}

.posys-product-spec-form-sticker-printing-order
.posys-form-field:has(
    > #id_spec__cutting_type
)
> select {
    max-width: 620px;
}


/* ------------------------------------------------------------
   FINISHING / PRINT OPTIONS
   ------------------------------------------------------------ */

.posys-product-spec-form-sticker-printing-order
.posys-form-field:has(
    > #id_spec__lamination
)
> select {
    max-width: 620px;
}

/*
 * Simili Sticker intentionally has no
 * white_ink_required field.
 *
 * This rule therefore affects only products
 * where the field actually exists.
 */
.posys-product-spec-form-sticker-printing-order
.posys-form-field:has(
    > #id_spec__white_ink_required
) {
    min-width: 0;
}


/* ------------------------------------------------------------
   REMARKS
   ------------------------------------------------------------ */

.posys-product-spec-form-sticker-printing-order
.posys-form-field:has(
    > #id_spec__remarks
) {
    grid-column:
        1
        /
        -1;
}

.posys-product-spec-form-sticker-printing-order
.posys-form-field:has(
    > #id_spec__remarks
)
textarea {
    min-height: 110px;
}


/* ------------------------------------------------------------
   RESPONSIVE
   ------------------------------------------------------------ */

@media (max-width: 1100px) {

    .posys-product-spec-form-sticker-printing-order
    .posys-specification-section,
    .posys-product-spec-form-sticker-printing-order
    .posys-specification-section:last-child {
        padding: 17px;
    }

}


@media (max-width: 900px) {

    .posys-product-spec-form-sticker-printing-order
    .posys-specification-grid {
        gap:
            14px
            16px;
    }

    .posys-product-spec-form-sticker-printing-order
    #posys-sticker-yield-panel {
        gap:
            0
            14px;
    }

}


@media (max-width: 700px) {

    .posys-product-spec-form-sticker-printing-order
    .posys-specification-section,
    .posys-product-spec-form-sticker-printing-order
    .posys-specification-section:last-child {
        padding: 15px;

        border-radius: 10px;
    }

    .posys-product-spec-form-sticker-printing-order
    .posys-specification-grid {
        grid-template-columns: 1fr;

        gap: 14px;
    }

    .posys-product-spec-form-sticker-printing-order
    .posys-form-field:has(
        > #id_spec__shape
    ),
    .posys-product-spec-form-sticker-printing-order
    .posys-sticker-dimension-row-v1 {
        padding: 12px;
    }

    .posys-product-spec-form-sticker-printing-order
    .posys-form-field:has(
        > #id_spec__shape
    )
    > select,
    .posys-product-spec-form-sticker-printing-order
    .posys-form-field:has(
        > #id_basic__number_of_sheets_to_print
    )
    > input,
    .posys-product-spec-form-sticker-printing-order
    .posys-form-field:has(
        > #id_spec__cutting_type
    )
    > select,
    .posys-product-spec-form-sticker-printing-order
    .posys-form-field:has(
        > #id_spec__lamination
    )
    > select {
        max-width: 100%;
    }

    .posys-product-spec-form-sticker-printing-order
    #posys-sticker-yield-panel {
        grid-template-columns: 1fr;

        padding:
            14px !important;
    }

}


@media (max-width: 430px) {

    .posys-product-spec-form-sticker-printing-order
    .posys-specification-section,
    .posys-product-spec-form-sticker-printing-order
    .posys-specification-section:last-child {
        padding: 13px;
    }

    .posys-product-spec-form-sticker-printing-order
    .posys-form-field:has(
        > #id_spec__shape
    ),
    .posys-product-spec-form-sticker-printing-order
    .posys-sticker-dimension-row-v1 {
        padding: 10px;
    }

    .posys-product-spec-form-sticker-printing-order
    #posys-sticker-yield-panel {
        padding:
            12px !important;
    }

    .posys-product-spec-form-sticker-printing-order
    #posys-sticker-yield-panel
    > div {
        display: block;
    }

    .posys-product-spec-form-sticker-printing-order
    #posys-sticker-yield-panel
    > div
    > span {
        display: block;

        margin-bottom: 4px;
    }

    .posys-product-spec-form-sticker-printing-order
    #posys-sticker-yield-panel
    > div
    > strong {
        display: block;

        text-align: left;

        white-space: normal;
    }

}


/* ============================================================
   POSYS BOOKLET CANONICAL V1
   Phase 3C Patch 3

   Family:
     booklet-printing-order

   Presentation only.
   Booklet template markup, schemas,
   validation and JavaScript remain unchanged.

   Breakpoints:
     1100 / 900 / 700 / 430
   ============================================================ */

.posys-product-spec-form-booklet-printing-order
.posys-job-specification-card {
    overflow: visible;
}

.posys-product-spec-form-booklet-printing-order
.posys-specification-section {
    width: 100%;
    min-width: 0;

    margin:
        0
        0
        16px;

    padding: 18px;

    border:
        1px
        solid
        var(
            --posys-ui-border,
            #e2e9ee
        );

    border-radius: 12px;

    box-sizing: border-box;
}

.posys-product-spec-form-booklet-printing-order
.posys-specification-section:last-child {
    margin-bottom: 0;

    padding: 18px;

    border:
        1px
        solid
        var(
            --posys-ui-border,
            #e2e9ee
        );
}

.posys-product-spec-form-booklet-printing-order
.posys-specification-section
> h3 {
    margin:
        0
        0
        16px;

    padding:
        0
        0
        10px;

    border-bottom:
        1px
        solid
        var(
            --posys-ui-border,
            #e2e9ee
        );

    font-size: 1rem;
    font-weight: 800;
    line-height: 1.3;
}


/* TWO-COLUMN BOOKLET GRID */

.posys-product-spec-form-booklet-printing-order
.posys-specification-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    align-items: start;

    gap:
        16px
        18px;

    width: 100%;
    min-width: 0;
}

.posys-product-spec-form-booklet-printing-order
.posys-specification-grid
> .posys-form-field {
    width: 100%;
    min-width: 0;

    margin: 0;

    box-sizing: border-box;
}

.posys-product-spec-form-booklet-printing-order
.posys-form-field
input:not([type="checkbox"]):not([type="radio"]),
.posys-product-spec-form-booklet-printing-order
.posys-form-field
select,
.posys-product-spec-form-booklet-printing-order
.posys-form-field
textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;

    box-sizing: border-box;
}


/* BOOK INFORMATION */

.posys-product-spec-form-booklet-printing-order
.posys-form-field:has(
    > #id_basic__standard_size
) {
    grid-column:
        1
        /
        -1;
}

.posys-product-spec-form-booklet-printing-order
.posys-form-field:has(
    > #id_basic__standard_size
)
> select {
    max-width: 620px;
}

.posys-product-spec-form-booklet-printing-order
.posys-custom-size-dimension-row-v2 {
    grid-column:
        1
        /
        -1;

    width: 100%;
    min-width: 0;

    margin-top: 0;
    padding: 14px;

    border:
        1px
        solid
        var(
            --posys-ui-border,
            #e2e9ee
        );

    border-radius: 10px;

    box-sizing: border-box;
}

.posys-product-spec-form-booklet-printing-order
.posys-custom-size-dimension-row-v2[hidden] {
    display: none !important;
}


/* INNER PRINTING */

.posys-product-spec-form-booklet-printing-order
.posys-form-field:has(
    > #id_spec__inner_printing
) {
    grid-column:
        1
        /
        -1;

    padding: 14px;

    border:
        1px
        solid
        var(
            --posys-ui-border,
            #e2e9ee
        );

    border-radius: 10px;

    box-sizing: border-box;
}

.posys-product-spec-form-booklet-printing-order
.posys-form-field:has(
    > #id_spec__inner_printing
)
> select {
    max-width: 620px;
}


/* MIXED BLACK & WHITE + 4C */

.posys-product-spec-form-booklet-printing-order
[data-posys-mixed-inner-field] {
    min-width: 0;

    padding: 12px;

    border:
        1px
        solid
        var(
            --posys-ui-border,
            #e2e9ee
        );

    border-radius: 10px;

    box-sizing: border-box;
}


/* BINDING */

.posys-product-spec-form-booklet-printing-order
.posys-form-field:has(
    > #id_spec__binding_method
) {
    grid-column:
        1
        /
        -1;
}

.posys-product-spec-form-booklet-printing-order
.posys-form-field:has(
    > #id_spec__binding_method
)
> input {
    max-width: 760px;
}


/* FINISHING / REMARKS */

.posys-product-spec-form-booklet-printing-order
.posys-form-field:has(
    > #id_spec__special_finishing
),
.posys-product-spec-form-booklet-printing-order
.posys-form-field:has(
    > #id_spec__specification_remarks
) {
    grid-column:
        1
        /
        -1;
}

.posys-product-spec-form-booklet-printing-order
.posys-form-field:has(
    > #id_spec__special_finishing
)
textarea,
.posys-product-spec-form-booklet-printing-order
.posys-form-field:has(
    > #id_spec__specification_remarks
)
textarea {
    min-height: 120px;
}


/* RESPONSIVE */

@media (max-width: 1100px) {

    .posys-product-spec-form-booklet-printing-order
    .posys-specification-section,
    .posys-product-spec-form-booklet-printing-order
    .posys-specification-section:last-child {
        padding: 17px;
    }

}

@media (max-width: 900px) {

    .posys-product-spec-form-booklet-printing-order
    .posys-specification-grid {
        gap:
            14px
            16px;
    }

}

@media (max-width: 700px) {

    .posys-product-spec-form-booklet-printing-order
    .posys-specification-section,
    .posys-product-spec-form-booklet-printing-order
    .posys-specification-section:last-child {
        padding: 15px;

        border-radius: 10px;
    }

    .posys-product-spec-form-booklet-printing-order
    .posys-specification-grid {
        grid-template-columns: 1fr;

        gap: 14px;
    }

    .posys-product-spec-form-booklet-printing-order
    .posys-custom-size-dimension-row-v2 {
        padding: 12px;
    }

    .posys-product-spec-form-booklet-printing-order
    .posys-form-field:has(
        > #id_basic__standard_size
    )
    > select,
    .posys-product-spec-form-booklet-printing-order
    .posys-form-field:has(
        > #id_spec__inner_printing
    )
    > select,
    .posys-product-spec-form-booklet-printing-order
    .posys-form-field:has(
        > #id_spec__binding_method
    )
    > input {
        max-width: 100%;
    }

}

@media (max-width: 430px) {

    .posys-product-spec-form-booklet-printing-order
    .posys-specification-section,
    .posys-product-spec-form-booklet-printing-order
    .posys-specification-section:last-child {
        padding: 13px;
    }

    .posys-product-spec-form-booklet-printing-order
    .posys-custom-size-dimension-row-v2,
    .posys-product-spec-form-booklet-printing-order
    .posys-form-field:has(
        > #id_spec__inner_printing
    ),
    .posys-product-spec-form-booklet-printing-order
    [data-posys-mixed-inner-field] {
        padding: 10px;
    }

}


/* ============================================================
   POSYS GLOBAL DIMENSION FLOW V2

   Width + Height:
     one row.

   Length + Width + Height:
     one row.

   Size Unit:
     separate field.

   Standard Size:
     dimensions hidden unless Custom Size.

   No Standard Size:
     dimensions visible.

   ============================================================ */

.posys-product-spec-form
.posys-dimension-row-v1 {
    grid-column:
        1
        /
        -1 !important;

    display: grid !important;

    grid-template-columns:
        repeat(
            var(
                --posys-dimension-columns,
                2
            ),
            minmax(
                0,
                1fr
            )
        ) !important;

    align-items: start;

    gap:
        16px
        18px;

    width: 100%;
    min-width: 0;

    box-sizing: border-box;
}


.posys-product-spec-form
.posys-dimension-row-v1
> .posys-form-field {
    grid-column: auto !important;

    width: 100% !important;
    min-width: 0;

    margin: 0 !important;

    box-sizing: border-box;
}


.posys-product-spec-form
.posys-dimension-row-v1
> .posys-form-field
input:not([type="checkbox"]):not([type="radio"]),
.posys-product-spec-form
.posys-dimension-row-v1
> .posys-form-field
select,
.posys-product-spec-form
.posys-dimension-row-v1
> .posys-form-field
textarea {
    width: 100% !important;
    max-width: none !important;
    min-width: 0;

    box-sizing: border-box;
}


.posys-product-spec-form
.posys-dimension-row-v1[
    data-posys-standard-size-controlled="true"
][hidden] {
    display: none !important;
}


.posys-product-spec-form
.posys-sticker-dimension-row-v1[
    data-posys-sticker-single-dimension="true"
] {
    --posys-dimension-columns: 1;
}


@media (max-width: 700px) {

    .posys-product-spec-form
    .posys-dimension-row-v1 {
        grid-template-columns:
            repeat(
                var(
                    --posys-dimension-columns,
                    2
                ),
                minmax(
                    0,
                    1fr
                )
            ) !important;

        gap:
            12px
            12px;
    }

}


@media (max-width: 430px) {

    .posys-product-spec-form
    .posys-dimension-row-v1 {
        grid-template-columns:
            repeat(
                var(
                    --posys-dimension-columns,
                    2
                ),
                minmax(
                    0,
                    1fr
                )
            ) !important;

        gap:
            8px
            8px;
    }

    .posys-product-spec-form
    .posys-dimension-row-v1
    > .posys-form-field
    > label {
        font-size: 0.84rem;
    }

    .posys-product-spec-form
    .posys-dimension-row-v1
    > .posys-form-field
    small {
        font-size: 0.72rem;
    }

}

/* ============================================================
   POSYS CURRENT JOBS COMPACT UI V1
   Release: 20260812-current-jobs-compact-ui-v1

   Scope:
   - compact desktop sidebar / branding / navigation
   - compact Current Jobs page header
   - compact Current Jobs filters
   - compact six-column Current Jobs table
   - preserve existing <=900px off-canvas sidebar
   - preserve existing mobile Current Jobs card presentation

   No workflow, permissions, database, product specification,
   Global Dimension Flow V2 or operational logic changes.
   ============================================================ */


/* ------------------------------------------------------------
   DESKTOP SIDEBAR DENSITY
   ------------------------------------------------------------ */

@media (min-width: 901px) {

    :root {
        --sidebar-width: 228px;
    }

    .posys-sidebar {
        width: var(--sidebar-width) !important;
        padding:
            16px
            12px
            20px !important;
    }

    .posys-main {
        margin-left: var(--sidebar-width) !important;
    }

    .posys-sidebar
    .posys-brand {
        gap: 11px !important;

        padding:
            10px
            8px
            16px !important;

        margin-bottom: 8px !important;
    }

    .posys-sidebar
    .posys-sidebar-logo-tile {
        flex:
            0
            0
            58px !important;

        width: 58px !important;
        height: 58px !important;

        padding: 5px !important;
    }

    .posys-sidebar
    .posys-sidebar-logo-image,
    .posys-sidebar
    .posys-brand-logo {
        width: 48px !important;
        height: 48px !important;

        max-width: 48px !important;
        max-height: 48px !important;
    }

    .posys-sidebar
    .posys-brand-title {
        font-size: 1.28rem !important;
        line-height: 1.05 !important;
    }

    .posys-sidebar
    .posys-brand-subtitle {
        gap: 1px !important;

        margin-top: 4px !important;

        font-size: 0.66rem !important;
        line-height: 1.18 !important;
    }

    .posys-sidebar
    .posys-brand
    + .posys-nav-section {
        margin-top: 3px !important;
    }

    .posys-sidebar
    .posys-nav-section {
        margin-top: 17px !important;
        margin-bottom: 6px !important;

        padding:
            0
            8px !important;

        font-size: 0.66rem !important;
        letter-spacing: 0.075em !important;
    }

    .posys-sidebar
    .posys-nav {
        gap: 3px !important;

        margin-top: 5px !important;
        margin-bottom: 16px !important;

        padding-left: 4px !important;
        padding-right: 4px !important;
    }

    .posys-sidebar
    .posys-nav
    a {
        min-height: 44px !important;

        margin:
            0 !important;

        padding:
            9px
            10px !important;

        border-radius: 8px !important;

        font-size: 0.9rem;
        line-height: 1.25;
    }

    .posys-sidebar
    .posys-nav-disabled {
        min-height: 44px;

        padding:
            9px
            10px;
    }

}


/* ------------------------------------------------------------
   CURRENT JOBS PAGE SHELL
   ------------------------------------------------------------ */

body:has(
    .posys-current-jobs-results-v1
)
.posys-content {
    width:
        min(
            1320px,
            calc(100% - 34px)
        );

    margin:
        20px
        auto
        34px;

    padding:
        22px
        24px
        34px;
}


/* ------------------------------------------------------------
   CURRENT JOBS HEADER
   ------------------------------------------------------------ */

.posys-current-jobs-header-same-row-final {
    column-gap: 22px !important;

    margin:
        0
        0
        20px
        0 !important;
}

.posys-current-jobs-header-same-row-final
h1 {
    margin:
        0
        0
        5px !important;

    font-size:
        clamp(
            1.65rem,
            2vw,
            2rem
        ) !important;

    line-height: 1.12 !important;
}

.posys-current-jobs-header-same-row-final
p {
    max-width: 700px !important;

    font-size: 0.92rem !important;
    line-height: 1.42 !important;
}

.posys-current-jobs-create-same-row-final {
    min-width: 120px !important;
    min-height: 44px !important;

    padding:
        8px
        15px !important;

    font-size: 0.88rem;
}


/* ------------------------------------------------------------
   CURRENT JOBS CARDS
   ------------------------------------------------------------ */

.posys-current-jobs-filters-card,
.posys-current-jobs-results-card {
    padding:
        18px
        20px !important;

    border-radius: 10px !important;
}

.posys-current-jobs-filters-card {
    margin-bottom: 14px !important;
}

.posys-current-jobs-results-card {
    margin-bottom: 0 !important;
}

.posys-current-jobs-filters-card
> h2,
.posys-current-jobs-results-header
h2 {
    margin:
        0
        0
        11px !important;

    font-size: 1.02rem;
}

.posys-current-jobs-results-v1
.posys-current-jobs-results-header {
    margin-bottom: 10px !important;
}


/* ------------------------------------------------------------
   CURRENT JOBS FILTERS
   ------------------------------------------------------------ */

.posys-current-jobs-filter-form.posys-filter-layout-v1
.posys-filter-row {
    grid-template-columns:
        minmax(250px, 1.55fr)
        minmax(145px, 0.82fr)
        minmax(125px, 0.68fr)
        minmax(145px, 0.82fr)
        minmax(118px, auto) !important;

    gap: 10px !important;
}

.posys-current-jobs-filter-form.posys-filter-layout-v1
.form-row
label {
    min-height: 18px !important;

    margin-bottom: 5px !important;

    font-size: 0.73rem !important;
    line-height: 1.2 !important;
}

.posys-current-jobs-filter-form.posys-filter-layout-v1
input,
.posys-current-jobs-filter-form.posys-filter-layout-v1
select {
    height: 44px !important;
    min-height: 44px !important;

    padding:
        8px
        10px !important;

    font-size: 0.86rem;
}

.posys-current-jobs-filter-form
.posys-filter-actions-v1 {
    min-width: 118px !important;
}

.posys-current-jobs-filter-form
.posys-filter-action-v1 {
    min-width: 112px !important;

    width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;

    padding:
        0
        14px !important;

    font-size: 0.84rem;
}


/* ------------------------------------------------------------
   CURRENT JOBS TABLE WRAPPER
   ------------------------------------------------------------ */

.posys-current-jobs-table-wrap {
    width: 100% !important;
    max-width: 100% !important;

    overflow-x: visible !important;

    border-radius: 9px !important;
}


/* ------------------------------------------------------------
   SIX-COLUMN DESKTOP TABLE BALANCE
   ------------------------------------------------------------ */

.posys-current-jobs-table.posys-operational-table-v1 {
    width: 100% !important;
    min-width: 0 !important;

    table-layout: fixed !important;
}

.posys-current-jobs-table.posys-operational-table-v1
th:nth-child(1),
.posys-current-jobs-table.posys-operational-table-v1
td:nth-child(1) {
    width: 24% !important;
}

.posys-current-jobs-table.posys-operational-table-v1
th:nth-child(2),
.posys-current-jobs-table.posys-operational-table-v1
td:nth-child(2) {
    width: 24% !important;
}

.posys-current-jobs-table.posys-operational-table-v1
th:nth-child(3),
.posys-current-jobs-table.posys-operational-table-v1
td:nth-child(3) {
    width: 14% !important;
}

.posys-current-jobs-table.posys-operational-table-v1
th:nth-child(4),
.posys-current-jobs-table.posys-operational-table-v1
td:nth-child(4) {
    width: 10% !important;
}

.posys-current-jobs-table.posys-operational-table-v1
th:nth-child(5),
.posys-current-jobs-table.posys-operational-table-v1
td:nth-child(5) {
    width: 14% !important;
}

.posys-current-jobs-table.posys-operational-table-v1
th:nth-child(6),
.posys-current-jobs-table.posys-operational-table-v1
td:nth-child(6) {
    width: 14% !important;
}


/* ------------------------------------------------------------
   TABLE HEADER / ROW DENSITY
   ------------------------------------------------------------ */

.posys-current-jobs-table.posys-operational-table-v1
thead
th {
    padding:
        9px
        10px !important;

    font-size: 0.66rem !important;
    line-height: 1.2 !important;
    letter-spacing: 0.045em !important;
}

.posys-current-jobs-table.posys-operational-table-v1
tbody
td {
    padding:
        10px
        10px !important;

    vertical-align: top !important;

    font-size: 0.82rem;
    line-height: 1.3 !important;
}

.posys-current-jobs-table
td[data-mobile-label="Job"],
.posys-current-jobs-table
td[data-mobile-label="Items"],
.posys-current-jobs-table
td[data-mobile-label="Status"],
.posys-current-jobs-table
td[data-mobile-label="Priority"],
.posys-current-jobs-table
td[data-mobile-label="Required Date"],
.posys-current-jobs-table
td[data-mobile-label="Action"] {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}


/* ------------------------------------------------------------
   JOB INFORMATION
   ------------------------------------------------------------ */

.posys-current-jobs-table
td[data-mobile-label="Job"] {
    color: #4f5d6b;

    font-size: 0.8rem;
    line-height: 1.28 !important;
}

.posys-current-jobs-table
td[data-mobile-label="Job"]
> strong {
    display: block;

    margin-bottom: 3px !important;

    color: #10283f;

    font-size: 0.9rem !important;
    font-weight: 800;
    line-height: 1.18 !important;
}


/* ------------------------------------------------------------
   COMPACT ITEM BADGES
   ------------------------------------------------------------ */

.posys-current-jobs-table
.posys-operational-items-v1 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;

    align-items: flex-start !important;

    gap: 5px !important;
}

.posys-current-jobs-table
.posys-operational-item-v1 {
    display: inline-flex !important;
    flex-direction: column !important;

    min-width: 72px !important;
    max-width: 132px !important;

    padding:
        4px
        7px !important;

    border-radius: 7px !important;

    line-height: 1.12 !important;
}

.posys-current-jobs-table
.posys-operational-item-v1
> strong {
    font-size: 0.66rem !important;
    line-height: 1.1 !important;
}

.posys-current-jobs-table
.posys-operational-item-v1
> span {
    margin-top: 2px !important;

    font-size: 0.65rem !important;
    line-height: 1.15 !important;
}

.posys-current-jobs-table
.posys-operational-empty-v2 {
    min-height: 26px !important;

    padding:
        0
        9px !important;

    font-size: 0.72rem !important;
}


/* ------------------------------------------------------------
   STATUS / PRIORITY / REQUIRED DATE
   ------------------------------------------------------------ */

.posys-current-jobs-table
.posys-stage-badge,
.posys-current-jobs-table
.posys-status-badge,
.posys-current-jobs-table
.posys-operational-priority-v1,
.posys-current-jobs-table
.posys-operational-due-badge-v1 {
    max-width: 100%;

    font-size: 0.68rem !important;
    line-height: 1.15 !important;
}

.posys-current-jobs-table
.posys-operational-priority-v1 {
    padding:
        4px
        7px !important;
}

.posys-current-jobs-table
.posys-operational-due-v1 {
    gap: 5px !important;

    align-content: start !important;
    justify-content: start !important;
}

.posys-current-jobs-table
td[data-mobile-label="Required Date"]
strong {
    font-size: 0.75rem !important;
    line-height: 1.2 !important;
}


/* ------------------------------------------------------------
   ACTION
   ------------------------------------------------------------ */

.posys-current-jobs-table
.posys-operational-action-cell-v1 {
    min-width: 0 !important;

    padding-left: 6px !important;
    padding-right: 8px !important;

    text-align: right !important;
}

.posys-current-jobs-table
.posys-operational-open-v1,
.posys-current-jobs-table
td:last-child
.button {
    width: auto !important;

    min-width: 88px !important;
    min-height: 36px !important;

    padding:
        6px
        9px !important;

    font-size: 0.7rem !important;
    line-height: 1.15 !important;

    white-space: nowrap !important;
}


/* ------------------------------------------------------------
   PAGINATION
   ------------------------------------------------------------ */

.posys-current-jobs-results-card
> p:last-child {
    gap: 10px !important;

    margin:
        13px
        0
        0 !important;

    font-size: 0.84rem;
}


/* ------------------------------------------------------------
   TABLET
   Existing sidebar remains off-canvas at <=900px.
   Filters remain useful in two columns above phone width.
   ------------------------------------------------------------ */

@media (max-width: 1180px) and (min-width: 901px) {

    body:has(
        .posys-current-jobs-results-v1
    )
    .posys-content {
        width:
            calc(100% - 26px);

        padding:
            20px
            18px
            30px;
    }

    .posys-current-jobs-filter-form.posys-filter-layout-v1
    .posys-filter-row {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            ) !important;

        gap:
            10px
            12px !important;
    }

    .posys-current-jobs-filter-form
    .posys-filter-actions-v1 {
        grid-column:
            1
            /
            -1;

        width: 140px;
    }

}


/* ------------------------------------------------------------
   MOBILE / TABLET CARDS
   Preserve the established responsive strategy.
   ------------------------------------------------------------ */

@media (max-width: 900px) {

    body:has(
        .posys-current-jobs-results-v1
    )
    .posys-content {
        width:
            calc(100% - 24px);

        margin:
            16px
            auto
            28px;

        padding:
            18px
            14px
            28px;
    }

    .posys-current-jobs-header-same-row-final {
        margin-bottom: 17px !important;
    }

    .posys-current-jobs-filters-card,
    .posys-current-jobs-results-card {
        padding:
            16px !important;
    }

    .posys-current-jobs-filter-form.posys-filter-layout-v1
    input,
    .posys-current-jobs-filter-form.posys-filter-layout-v1
    select,
    .posys-current-jobs-filter-form
    .posys-filter-action-v1 {
        min-height: 44px !important;
        height: 44px !important;
    }

    .posys-current-jobs-table-wrap {
        overflow: visible !important;
    }

    .posys-current-jobs-table.posys-operational-table-v1 {
        display: block !important;

        width: 100% !important;
        min-width: 0 !important;

        table-layout: auto !important;
    }

    .posys-current-jobs-table.posys-operational-table-v1
    thead {
        display: none !important;
    }

    .posys-current-jobs-table.posys-operational-table-v1
    tbody {
        display: grid !important;

        gap: 10px !important;
    }

    .posys-current-jobs-table.posys-operational-table-v1
    tbody
    tr {
        display: grid !important;

        width: 100% !important;

        padding:
            4px
            13px !important;

        border:
            1px
            solid
            #e0e6ec !important;

        border-radius: 12px !important;

        background: #ffffff !important;
    }

    .posys-current-jobs-table.posys-operational-table-v1
    tbody
    td {
        display: grid !important;

        grid-template-columns:
            minmax(
                100px,
                0.34fr
            )
            minmax(
                0,
                1fr
            ) !important;

        gap: 9px !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;

        padding:
            9px
            0 !important;

        border: 0 !important;
        border-bottom:
            1px
            solid
            #edf1f4 !important;

        text-align: left !important;
    }

    .posys-current-jobs-table.posys-operational-table-v1
    tbody
    td:last-child {
        border-bottom: 0 !important;
    }

    .posys-current-jobs-table
    .posys-operational-action-cell-v1 {
        text-align: left !important;
    }

    .posys-current-jobs-table
    .posys-operational-open-v1 {
        width: 100% !important;

        min-width: 0 !important;
        min-height: 44px !important;

        justify-content: center;
    }

}


/* ------------------------------------------------------------
   PHONE
   ------------------------------------------------------------ */

@media (max-width: 700px) {

    .posys-current-jobs-filter-form.posys-filter-layout-v1
    .posys-filter-row {
        grid-template-columns:
            1fr !important;

        gap: 10px !important;
    }

    .posys-current-jobs-filter-form
    .posys-filter-actions-v1 {
        width: 100%;
        min-width: 0 !important;
    }

    .posys-current-jobs-table
    .posys-operational-items-v1 {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;

        gap: 5px !important;
    }

}


/* ------------------------------------------------------------
   SMALL PHONE
   ------------------------------------------------------------ */

@media (max-width: 430px) {

    body:has(
        .posys-current-jobs-results-v1
    )
    .posys-content {
        width:
            calc(100% - 16px);

        padding:
            14px
            10px
            24px;
    }

    .posys-current-jobs-filters-card,
    .posys-current-jobs-results-card {
        padding:
            13px !important;
    }

    .posys-current-jobs-table.posys-operational-table-v1
    tbody
    td {
        grid-template-columns:
            84px
            minmax(
                0,
                1fr
            ) !important;

        gap: 8px !important;
    }

}

/* ============================================================
   POSYS PRODUCT SPECIFICATION SECTION GUTTER V1
   Release: 20260812-product-section-gutter-v1

   Purpose:
   Give product specification fields consistent breathing room
   from the left and right edges of each specification section.

   Presentation only.
   No form logic, dimensions, validation or workflow changes.
   ============================================================ */


/* ------------------------------------------------------------
   DESKTOP
   ------------------------------------------------------------ */

.posys-product-spec-form
.posys-specification-section {
    padding-left: 22px !important;
    padding-right: 22px !important;
}


/*
 * Keep section heading visually aligned with the fields.
 */

.posys-product-spec-form
.posys-specification-section
> h3 {
    padding-left: 0 !important;
    padding-right: 0 !important;
}


/*
 * Ensure grids never push through the new inner gutter.
 */

.posys-product-spec-form
.posys-specification-grid,
.posys-product-spec-form
.posys-dimension-row-v1,
.posys-product-spec-form
.posys-custom-size-dimension-row-v2,
.posys-product-spec-form
.posys-sticker-dimension-row-v1 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    box-sizing: border-box !important;
}


/*
 * Individual form controls must remain inside their grid cell.
 */

.posys-product-spec-form
.posys-form-field {
    min-width: 0;
}

.posys-product-spec-form
.posys-form-field
input:not([type="checkbox"]):not([type="radio"]),
.posys-product-spec-form
.posys-form-field
select,
.posys-product-spec-form
.posys-form-field
textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    box-sizing: border-box !important;
}


/* ------------------------------------------------------------
   TABLET
   ------------------------------------------------------------ */

@media (max-width: 900px) {

    .posys-product-spec-form
    .posys-specification-section {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

}


/* ------------------------------------------------------------
   MOBILE
   ------------------------------------------------------------ */

@media (max-width: 700px) {

    .posys-product-spec-form
    .posys-specification-section {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

}


/* ------------------------------------------------------------
   SMALL PHONE
   ------------------------------------------------------------ */

@media (max-width: 430px) {

    .posys-product-spec-form
    .posys-specification-section {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

}

/* ============================================================
   POSYS PRODUCT SPECIFICATION SECTION SPACING V2
   Release: 20260812-product-section-spacing-v2

   Refines the internal spacing above subsection headings.
   Retains Product Specification Section Gutter V1.
   Presentation only.
   ============================================================ */


/* ------------------------------------------------------------
   DESKTOP
   Keep 22px side gutters and introduce a proper top gutter.
   ------------------------------------------------------------ */

.posys-product-spec-form
.posys-specification-section {
    padding-top: 18px !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
}


/*
 * Section title should sit comfortably inside the card rather
 * than directly against the rounded top border.
 */

.posys-product-spec-form
.posys-specification-section
> h3 {
    margin-top: 0 !important;
    margin-bottom: 14px !important;

    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 10px !important;
}


/*
 * Description immediately below the subsection title.
 */

.posys-product-spec-form
.posys-specification-section
> h3
+ p {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
}


/* ------------------------------------------------------------
   TABLET
   ------------------------------------------------------------ */

@media (max-width: 900px) {

    .posys-product-spec-form
    .posys-specification-section {
        padding-top: 16px !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .posys-product-spec-form
    .posys-specification-section
    > h3 {
        margin-bottom: 12px !important;
    }

}


/* ------------------------------------------------------------
   MOBILE
   ------------------------------------------------------------ */

@media (max-width: 700px) {

    .posys-product-spec-form
    .posys-specification-section {
        padding-top: 14px !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

}


/* ------------------------------------------------------------
   SMALL PHONE
   ------------------------------------------------------------ */

@media (max-width: 430px) {

    .posys-product-spec-form
    .posys-specification-section {
        padding-top: 12px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

}

/* ============================================================
   POSYS GARMENT SIZE QUANTITY GRID V1
   Release: 20260812-garment-size-grid-v1

   Garment Size & Quantity:
   Desktop: 3 columns
   Tablet:  2 columns
   Mobile:  1 column

   Scoped only to a product specification section containing
   an XS quantity field.
   ============================================================ */


/* ------------------------------------------------------------
   DESKTOP - THREE COLUMNS
   ------------------------------------------------------------ */

.posys-product-spec-form
.posys-specification-section:has(
    [name$="xs_quantity"]
)
.posys-specification-grid {
    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        ) !important;

    column-gap: 18px !important;
    row-gap: 16px !important;
}


/*
 * All direct fields in the garment size grid participate
 * naturally in the three-column flow.
 */

.posys-product-spec-form
.posys-specification-section:has(
    [name$="xs_quantity"]
)
.posys-specification-grid
> .posys-form-field {
    grid-column: auto !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
}


/*
 * Keep garment quantity inputs fully contained in each column.
 */

.posys-product-spec-form
.posys-specification-section:has(
    [name$="xs_quantity"]
)
.posys-specification-grid
> .posys-form-field
input:not([type="checkbox"]):not([type="radio"]),
.posys-product-spec-form
.posys-specification-section:has(
    [name$="xs_quantity"]
)
.posys-specification-grid
> .posys-form-field
select {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    box-sizing: border-box !important;
}


/* ------------------------------------------------------------
   TABLET - TWO COLUMNS
   ------------------------------------------------------------ */

@media (max-width: 900px) {

    .posys-product-spec-form
    .posys-specification-section:has(
        [name$="xs_quantity"]
    )
    .posys-specification-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            ) !important;

        column-gap: 16px !important;
        row-gap: 14px !important;
    }

}


/* ------------------------------------------------------------
   MOBILE - ONE COLUMN
   ------------------------------------------------------------ */

@media (max-width: 700px) {

    .posys-product-spec-form
    .posys-specification-section:has(
        [name$="xs_quantity"]
    )
    .posys-specification-grid {
        grid-template-columns:
            minmax(0, 1fr) !important;

        gap: 14px !important;
    }

}


/* ------------------------------------------------------------
   SMALL PHONE
   ------------------------------------------------------------ */

@media (max-width: 430px) {

    .posys-product-spec-form
    .posys-specification-section:has(
        [name$="xs_quantity"]
    )
    .posys-specification-grid {
        gap: 12px !important;
    }

}

/* ==========================================================
   POSYS USERS MOBILE NUMBER ACTION ROW V1
   Release: 20260812-users-mobile-action-row-v1

   Scope:
   - POSYS User Management table only
   - Keep Edit + Password on one horizontal row
   - Preserve protected Superadmin badge behavior
   ========================================================== */

.posys-user-register-table
.posys-user-row-actions {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    width: max-content;
    max-width: 100%;
}

.posys-user-register-table
.posys-user-row-actions
.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    white-space: nowrap !important;
    flex: 0 0 auto !important;
}

.posys-user-register-table
td[data-mobile-label="Action"] {
    min-width: 190px;
}

@media (max-width: 900px) {
    .posys-user-register-table
    td[data-mobile-label="Action"] {
        min-width: 0;
    }

    .posys-user-register-table
    .posys-user-row-actions {
        width: 100%;
        max-width: 100%;
    }

    .posys-user-register-table
    .posys-user-row-actions
    .button {
        width: auto !important;
        flex: 0 0 auto !important;
    }
}



/* ==========================================================
   POSYS NOTIFICATION CENTER V1
   ========================================================== */

.posys-notification-menu {
    position: relative;
    margin-left: auto;
    flex: 0 0 auto;
    z-index: 100;
}

.posys-notification-details {
    position: relative;
}

.posys-notification-details > summary {
    list-style: none;
}

.posys-notification-details > summary::-webkit-details-marker {
    display: none;
}

.posys-notification-bell {
    position: relative;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 11px;
    background: #fff;
    color: #334155;
    cursor: pointer;
}

.posys-notification-bell:hover {
    background: #f8fafc;
    border-color: rgba(15, 23, 42, 0.22);
}

.posys-notification-bell svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.posys-notification-badge {
    position: absolute;
    top: -5px;
    right: -6px;
    min-width: 19px;
    height: 19px;
    padding: 0 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #fff;
    border-radius: 999px;
    background: #dc2626;
    color: #fff;
    font-size: 10px;
    font-weight: 800;
}

.posys-notification-dropdown {
    position: absolute;
    top: calc(100% + 9px);
    right: 0;
    width: min(380px, calc(100vw - 28px));
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.16);
}

.posys-notification-dropdown-header {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 15px 16px 12px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.07);
}

.posys-notification-dropdown-header strong {
    display: block;
    color: #0f172a;
    font-size: 14px;
}

.posys-notification-dropdown-header small {
    display: block;
    margin-top: 2px;
    color: #64748b;
    font-size: 11px;
}

.posys-notification-dropdown-header form {
    margin: 0;
}

.posys-notification-dropdown-header button {
    padding: 0;
    border: 0;
    background: none;
    color: #475569;
    font: inherit;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}

.posys-notification-dropdown-list {
    max-height: 380px;
    overflow-y: auto;
}

.posys-notification-dropdown-item {
    margin: 0;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.posys-notification-dropdown-item > button {
    width: 100%;
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 12px 15px;
    border: 0;
    background: #fff;
    text-align: left;
    cursor: pointer;
}

.posys-notification-dropdown-item.is-unread > button {
    background: #f8fbff;
}

.posys-notification-dropdown-item > button:hover {
    background: #f8fafc;
}

.posys-notification-dropdown-copy {
    min-width: 0;
    flex: 1;
}

.posys-notification-dropdown-copy strong {
    display: block;
    overflow: hidden;
    color: #0f172a;
    font-size: 12px;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.posys-notification-dropdown-copy > span {
    display: -webkit-box;
    margin-top: 3px;
    overflow: hidden;
    color: #475569;
    font-size: 11px;
    line-height: 1.4;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.posys-notification-dropdown-copy small {
    display: block;
    margin-top: 6px;
    color: #94a3b8;
    font-size: 10px;
}

.posys-notification-unread-dot {
    width: 8px;
    height: 8px;
    margin-top: 4px;
    flex: 0 0 8px;
    border-radius: 999px;
    background: #2563eb;
}

.posys-notification-dropdown-empty {
    padding: 28px 15px;
    color: #64748b;
    font-size: 12px;
    text-align: center;
}

.posys-notification-dropdown-footer {
    display: block;
    padding: 11px 15px;
    border-top: 1px solid rgba(15, 23, 42, 0.07);
    color: #1d4ed8;
    font-size: 11px;
    font-weight: 750;
    text-align: center;
    text-decoration: none;
}


/* Full page */

.posys-notification-page {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
}

.posys-notification-page-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
}

.posys-notification-page-header h1 {
    margin: 4px 0;
}

.posys-notification-page-header p {
    margin: 0;
    color: #64748b;
}

.posys-notification-page-header form {
    margin: 0;
}

.posys-notification-read-all {
    min-height: 36px;
    padding: 7px 12px;
    border: 1px solid rgba(15, 23, 42, 0.13);
    border-radius: 9px;
    background: #fff;
    color: #334155;
    font: inherit;
    font-size: 11px;
    font-weight: 750;
    cursor: pointer;
}

.posys-notification-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 11px;
}

.posys-notification-tabs {
    display: inline-flex;
    gap: 3px;
    padding: 3px;
    border: 1px solid rgba(15, 23, 42, 0.09);
    border-radius: 10px;
    background: #f8fafc;
}

.posys-notification-tabs a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 30px;
    padding: 5px 10px;
    border-radius: 7px;
    color: #64748b;
    font-size: 11px;
    font-weight: 750;
    text-decoration: none;
}

.posys-notification-tabs a.is-active {
    background: #fff;
    color: #0f172a;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

.posys-notification-tabs a span {
    min-width: 18px;
    padding: 2px 5px;
    border-radius: 999px;
    background: #e2e8f0;
    font-size: 9px;
}

.posys-notification-summary {
    color: #64748b;
    font-size: 11px;
    font-weight: 650;
}

.posys-notification-list {
    display: grid;
    gap: 8px;
}

.posys-notification-card {
    display: grid;
    grid-template-columns: 13px minmax(0, 1fr);
    border: 1px solid rgba(15, 23, 42, 0.09);
    border-radius: 13px;
    background: #fff;
    overflow: hidden;
}

.posys-notification-card.is-unread {
    border-color: rgba(37, 99, 235, 0.2);
    background: #fbfdff;
}

.posys-notification-indicator {
    display: flex;
    justify-content: center;
    padding-top: 20px;
}

.posys-notification-indicator span {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #2563eb;
}

.posys-notification-card-body {
    min-width: 0;
    padding: 15px 16px 14px 3px;
}

.posys-notification-card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
}

.posys-notification-reference {
    color: #64748b;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.posys-notification-card-heading h2 {
    margin: 3px 0 0;
    color: #0f172a;
    font-size: 14px;
}

.posys-notification-card-heading time {
    color: #94a3b8;
    font-size: 10px;
    white-space: nowrap;
}

.posys-notification-message {
    margin: 9px 0 0;
    color: #475569;
    font-size: 11px;
    line-height: 1.5;
}

.posys-notification-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 12px;
}

.posys-notification-state span {
    padding: 3px 7px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 800;
}

.posys-notification-state .is-unread {
    background: #dbeafe;
    color: #1d4ed8;
}

.posys-notification-state .is-read {
    background: #f1f5f9;
    color: #64748b;
}

.posys-notification-actions {
    display: flex;
    gap: 6px;
}

.posys-notification-actions form {
    margin: 0;
}

.posys-notification-secondary,
.posys-notification-primary {
    min-height: 32px;
    padding: 5px 10px;
    border-radius: 8px;
    font: inherit;
    font-size: 10px;
    font-weight: 750;
    cursor: pointer;
}

.posys-notification-secondary {
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: #fff;
    color: #475569;
}

.posys-notification-primary {
    border: 1px solid #0f172a;
    background: #0f172a;
    color: #fff;
}

.posys-notification-empty {
    padding: 50px 20px;
    border: 1px dashed rgba(15, 23, 42, 0.16);
    border-radius: 14px;
    background: #fff;
    text-align: center;
}

.posys-notification-empty-icon {
    width: 42px;
    height: 42px;
    margin: 0 auto 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #ecfdf5;
    color: #047857;
    font-weight: 900;
}

.posys-notification-empty h2 {
    margin: 0;
    font-size: 15px;
}

.posys-notification-empty p {
    margin: 5px 0 0;
    color: #64748b;
    font-size: 11px;
}


@media (max-width: 900px) {

    .posys-notification-bell {
        width: 38px;
        height: 38px;
    }

    .posys-notification-dropdown {
        position: fixed;
        top: 62px;
        right: 12px;
        left: 12px;
        width: auto;
    }

}


@media (max-width: 640px) {

    .posys-notification-page-header {
        display: grid;
        align-items: stretch;
    }

    .posys-notification-page-header form,
    .posys-notification-read-all {
        width: 100%;
    }

    .posys-notification-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .posys-notification-tabs {
        width: 100%;
    }

    .posys-notification-tabs a {
        flex: 1;
    }

    .posys-notification-card-heading,
    .posys-notification-card-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .posys-notification-actions {
        width: 100%;
    }

    .posys-notification-actions form {
        flex: 1;
    }

    .posys-notification-secondary,
    .posys-notification-primary {
        width: 100%;
    }

}


/* ==========================================================
   POSYS INVENTORY MANAGEMENT V1B
   ========================================================== */

.posys-inventory-header {
    align-items: flex-start;
    display: flex;
    gap: 20px;
    justify-content: space-between;
}

.posys-inventory-header-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
    margin: 0;
}

.posys-inventory-summary,
.posys-inventory-item-kpis {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 20px;
}

.posys-inventory-summary-card,
.posys-inventory-item-kpi {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.posys-inventory-summary-card span,
.posys-inventory-item-kpi span,
.posys-inventory-locked-summary span,
.posys-inventory-transaction-summary span {
    color: var(--posys-text-muted, #667085);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.posys-inventory-summary-card strong,
.posys-inventory-item-kpi strong {
    font-size: 1.65rem;
    line-height: 1.15;
}

.posys-inventory-item-kpi small {
    color: var(--posys-text-muted, #667085);
}

.posys-inventory-filter-card,
.posys-inventory-results-card,
.posys-inventory-form-card,
.posys-inventory-movement-card {
    margin-bottom: 20px;
}

.posys-inventory-filter-grid {
    display: grid;
    gap: 16px;
    grid-template-columns:
        minmax(220px, 1.5fr)
        minmax(180px, 1fr)
        minmax(150px, 0.8fr)
        minmax(170px, 0.9fr);
}

.posys-inventory-results-heading {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
    margin-bottom: 14px;
}

.posys-inventory-results-heading h2,
.posys-inventory-results-heading p {
    margin-bottom: 0;
}

.posys-inventory-secondary {
    color: var(--posys-text-muted, #667085);
    display: block;
    font-size: 0.86rem;
    margin-top: 4px;
}

.posys-inventory-balance {
    display: block;
    font-variant-numeric: tabular-nums;
}

.posys-inventory-status {
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.74rem;
    font-weight: 700;
    line-height: 1;
    margin-top: 5px;
    padding: 6px 9px;
    white-space: nowrap;
}

.posys-inventory-status-active {
    background: rgba(21, 128, 61, 0.10);
    color: #166534;
}

.posys-inventory-status-inactive {
    background: rgba(71, 84, 103, 0.10);
    color: #475467;
}

.posys-inventory-status-low {
    background: rgba(180, 83, 9, 0.12);
    color: #92400e;
}

.posys-inventory-pagination {
    align-items: center;
    justify-content: space-between;
    margin-top: 18px;
}

.posys-inventory-two-column {
    display: grid;
    gap: 20px;
    grid-template-columns:
        minmax(280px, 0.7fr)
        minmax(0, 1.7fr);
}

.posys-inventory-inline-form,
.posys-inventory-toggle-form {
    margin: 0;
}

.posys-inventory-form-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.posys-inventory-form-grid
.posys-form-field:last-child {
    grid-column: 1 / -1;
}

.posys-inventory-locked-summary,
.posys-inventory-transaction-summary {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 20px;
}

.posys-inventory-locked-summary > div,
.posys-inventory-transaction-summary > div {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.posys-inventory-detail-grid {
    display: grid;
    gap: 20px;
    grid-template-columns:
        minmax(280px, 0.72fr)
        minmax(0, 1.7fr);
}

.posys-inventory-action-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.posys-inventory-action-grid .posys-button {
    justify-content: center;
    text-align: center;
}

.posys-inventory-warning {
    color: #92400e;
    display: block;
    font-weight: 600;
    margin-top: 10px;
}

.posys-inventory-ledger-note {
    margin-top: 20px;
}

.posys-inventory-ledger-note p {
    margin-bottom: 0;
    margin-top: 7px;
}

.posys-inventory-table td,
.posys-inventory-ledger-table td,
.posys-inventory-category-table td {
    vertical-align: top;
}

.posys-inventory-ledger-table {
    min-width: 920px;
}

.posys-inventory-table {
    min-width: 820px;
}

.posys-inventory-category-table {
    min-width: 660px;
}


@media (max-width: 900px) {

    .posys-inventory-summary,
    .posys-inventory-item-kpis {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .posys-inventory-filter-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .posys-inventory-two-column,
    .posys-inventory-detail-grid {
        grid-template-columns: 1fr;
    }

    .posys-inventory-action-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 760px) {

    .posys-inventory-header {
        align-items: stretch;
        flex-direction: column;
    }

    .posys-inventory-header-actions {
        justify-content: flex-start;
    }

    .posys-inventory-header-actions
    .posys-button {
        flex: 1 1 auto;
    }

    .posys-inventory-filter-grid,
    .posys-inventory-form-grid,
    .posys-inventory-locked-summary,
    .posys-inventory-transaction-summary {
        grid-template-columns: 1fr;
    }

    .posys-inventory-form-grid
    .posys-form-field:last-child {
        grid-column: auto;
    }

    .posys-inventory-table,
    .posys-inventory-table tbody,
    .posys-inventory-table tr,
    .posys-inventory-table td,
    .posys-inventory-ledger-table,
    .posys-inventory-ledger-table tbody,
    .posys-inventory-ledger-table tr,
    .posys-inventory-ledger-table td,
    .posys-inventory-category-table,
    .posys-inventory-category-table tbody,
    .posys-inventory-category-table tr,
    .posys-inventory-category-table td {
        display: block;
        min-width: 0;
        width: 100%;
    }

    .posys-inventory-table thead,
    .posys-inventory-ledger-table thead,
    .posys-inventory-category-table thead {
        display: none;
    }

    .posys-inventory-table tbody tr,
    .posys-inventory-ledger-table tbody tr,
    .posys-inventory-category-table tbody tr {
        border: 1px solid rgba(16, 24, 40, 0.10);
        border-radius: 12px;
        margin-bottom: 12px;
        overflow: hidden;
    }

    .posys-inventory-table tbody td,
    .posys-inventory-ledger-table tbody td,
    .posys-inventory-category-table tbody td {
        align-items: flex-start;
        border-bottom: 1px solid rgba(16, 24, 40, 0.07);
        display: grid;
        gap: 12px;
        grid-template-columns:
            minmax(100px, 0.75fr)
            minmax(0, 1.4fr);
        padding: 12px 14px;
    }

    .posys-inventory-table tbody td:last-child,
    .posys-inventory-ledger-table tbody td:last-child,
    .posys-inventory-category-table tbody td:last-child {
        border-bottom: 0;
    }

    .posys-inventory-table tbody td::before,
    .posys-inventory-ledger-table tbody td::before,
    .posys-inventory-category-table tbody td::before {
        color: var(--posys-text-muted, #667085);
        content: attr(data-mobile-label);
        font-size: 0.75rem;
        font-weight: 700;
        letter-spacing: 0.02em;
        text-transform: uppercase;
    }

    .posys-inventory-pagination {
        align-items: stretch;
        flex-direction: column;
    }

    .posys-inventory-pagination
    .posys-button {
        text-align: center;
        width: 100%;
    }

}


@media (max-width: 430px) {

    .posys-inventory-summary,
    .posys-inventory-item-kpis,
    .posys-inventory-action-grid {
        grid-template-columns: 1fr;
    }

    .posys-inventory-table tbody td,
    .posys-inventory-ledger-table tbody td,
    .posys-inventory-category-table tbody td {
        grid-template-columns: 1fr;
        gap: 5px;
    }

}


/* ==========================================================
   POSYS INVENTORY CATEGORIES INLINE V2
   ========================================================== */

.posys-inventory-category-inline-v2 {
    display: flex;
    flex-direction: column;
    gap: 18px;
}


.posys-inventory-category-v2-header {
    align-items: flex-start;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin-bottom: 0;
}


.posys-inventory-category-v2-header h1 {
    margin-bottom: 6px;
}


.posys-inventory-category-v2-header p {
    margin-bottom: 0;
    max-width: 720px;
}


/* Inline Add Category */

.posys-inventory-category-v2-create {
    margin: 0;
    padding-bottom: 18px;
    padding-top: 18px;
}


.posys-inventory-category-v2-form {
    margin: 0;
}


.posys-inventory-category-v2-grid {
    align-items: end;
    display: grid;
    gap: 16px;
    grid-template-columns:
        minmax(220px, 0.8fr)
        minmax(360px, 1.9fr)
        auto;
}


.posys-inventory-category-v2-grid
.posys-form-field {
    margin-bottom: 0;
}


.posys-inventory-category-v2-grid label {
    display: block;
    margin-bottom: 7px;
}


.posys-inventory-category-v2-grid input,
.posys-inventory-category-v2-grid textarea {
    box-sizing: border-box;
    height: 46px;
    min-height: 46px;
    width: 100%;
}


.posys-inventory-category-v2-description textarea {
    overflow-y: auto;
    resize: none;
}


.posys-inventory-category-v2-action {
    align-items: flex-end;
    display: flex;
}


.posys-inventory-category-v2-action
.posys-button {
    height: 46px;
    min-width: 142px;
    white-space: nowrap;
}


/* Full-width Category Register */

.posys-inventory-category-v2-register {
    margin: 0;
    width: 100%;
}


.posys-inventory-category-v2-register-heading {
    margin-bottom: 14px;
}


.posys-inventory-category-v2-register-heading h2 {
    margin-bottom: 3px;
}


.posys-inventory-category-v2-register-heading p {
    color: var(--posys-text-muted, #667085);
    margin: 0;
}


.posys-inventory-category-v2-register
.posys-table-wrap {
    margin-top: 0;
}


.posys-inventory-category-v2-register
.posys-inventory-category-table {
    min-width: 720px;
    width: 100%;
}


.posys-inventory-category-v2-register
.posys-inventory-category-table th {
    padding-bottom: 12px;
    padding-top: 12px;
}


.posys-inventory-category-v2-register
.posys-inventory-category-table td {
    padding-bottom: 13px;
    padding-top: 13px;
    vertical-align: middle;
}


.posys-inventory-category-v2-register
.posys-inventory-category-table th:first-child,
.posys-inventory-category-v2-register
.posys-inventory-category-table td:first-child {
    width: 46%;
}


.posys-inventory-category-v2-number-head,
.posys-inventory-category-v2-number {
    text-align: center;
    width: 12%;
}


.posys-inventory-category-v2-register
.posys-inventory-category-table th:nth-child(4),
.posys-inventory-category-v2-register
.posys-inventory-category-table td:nth-child(4) {
    width: 13%;
}


.posys-inventory-category-v2-action-head,
.posys-inventory-category-v2-action-cell {
    text-align: right;
    width: 17%;
}


.posys-inventory-category-v2-name {
    display: block;
    font-size: 0.96rem;
    font-weight: 700;
}


.posys-inventory-category-v2-toggle {
    min-width: 104px;
    padding-left: 13px;
    padding-right: 13px;
}


@media (max-width: 980px) {

    .posys-inventory-category-v2-grid {
        grid-template-columns:
            minmax(190px, 0.8fr)
            minmax(260px, 1.4fr)
            auto;
    }

}


@media (max-width: 760px) {

    .posys-inventory-category-v2-header {
        align-items: stretch;
        flex-direction: column;
    }


    .posys-inventory-category-v2-header
    > .posys-button {
        align-self: flex-start;
    }


    .posys-inventory-category-v2-grid {
        grid-template-columns: 1fr;
    }


    .posys-inventory-category-v2-grid textarea {
        height: 82px;
        min-height: 82px;
        resize: vertical;
    }


    .posys-inventory-category-v2-action
    .posys-button {
        width: 100%;
    }


    .posys-inventory-category-v2-register
    .posys-inventory-category-table {
        min-width: 0;
    }


    .posys-inventory-category-v2-register
    .posys-inventory-category-table
    tbody td {
        text-align: left !important;
    }


    .posys-inventory-category-v2-toggle {
        min-width: 0;
        width: 100%;
    }

}


@media (max-width: 430px) {

    .posys-inventory-category-inline-v2 {
        gap: 14px;
    }


    .posys-inventory-category-v2-create,
    .posys-inventory-category-v2-register {
        padding-left: 14px;
        padding-right: 14px;
    }

}


/* ==========================================================
   POSYS INVENTORY CATEGORY FIELD SIZE V1
   ========================================================== */

.posys-inventory-category-v2-grid {
    align-items: end;
    grid-template-columns:
        minmax(280px, 0.95fr)
        minmax(380px, 1.45fr)
        150px;
}


.posys-inventory-category-v2-grid
.posys-form-field {
    min-width: 0;
}


.posys-inventory-category-v2-grid
input[type="text"] {
    box-sizing: border-box;
    height: 46px !important;
    min-height: 46px !important;
    width: 100%;
}


.posys-inventory-category-v2-grid
textarea {
    box-sizing: border-box;
    height: 46px !important;
    max-height: 46px !important;
    min-height: 46px !important;
    overflow-y: auto;
    resize: none;
    width: 100%;
}


.posys-inventory-category-v2-action {
    width: 150px;
}


.posys-inventory-category-v2-action
.posys-button {
    height: 46px;
    min-height: 46px;
    min-width: 150px;
    width: 150px;
}


@media (max-width: 1050px) {

    .posys-inventory-category-v2-grid {
        grid-template-columns:
            minmax(230px, 0.9fr)
            minmax(300px, 1.3fr)
            145px;
    }


    .posys-inventory-category-v2-action,
    .posys-inventory-category-v2-action
    .posys-button {
        min-width: 145px;
        width: 145px;
    }

}


@media (max-width: 760px) {

    .posys-inventory-category-v2-grid {
        grid-template-columns: 1fr;
    }


    .posys-inventory-category-v2-grid
    textarea {
        height: 72px !important;
        max-height: none !important;
        min-height: 72px !important;
        resize: vertical;
    }


    .posys-inventory-category-v2-action {
        width: 100%;
    }


    .posys-inventory-category-v2-action
    .posys-button {
        min-width: 0;
        width: 100%;
    }

}


/* ==========================================================
   POSYS INVENTORY CATEGORY ALIGNMENT V1
   ========================================================== */

/*
 * Force Category Name and Description to use the same
 * vertical structure so their labels and controls line up.
 */

.posys-inventory-category-v2-grid
> .posys-form-field {
    align-self: end;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    margin: 0;
}


.posys-inventory-category-v2-grid
> .posys-form-field
> label {
    box-sizing: border-box;
    display: block;
    font-size: inherit;
    line-height: 20px;
    margin: 0 0 7px 0;
    min-height: 20px;
    padding: 0;
}


.posys-inventory-category-v2-grid
> .posys-form-field
> input[type="text"],
.posys-inventory-category-v2-grid
> .posys-form-field
> textarea {
    display: block;
    margin: 0;
    vertical-align: top;
}


.posys-inventory-category-v2-grid
> .posys-form-field
> input[type="text"] {
    height: 46px !important;
    min-height: 46px !important;
}


.posys-inventory-category-v2-grid
> .posys-inventory-category-v2-description
> textarea {
    height: 46px !important;
    max-height: 46px !important;
    min-height: 46px !important;
    padding-bottom: 10px;
    padding-top: 10px;
}


/*
 * Match the action button precisely to the control row.
 */

.posys-inventory-category-v2-action {
    align-items: flex-end;
    align-self: end;
    display: flex;
    height: 46px;
    margin: 0;
}


.posys-inventory-category-v2-action
.posys-button {
    box-sizing: border-box;
    height: 46px !important;
    margin: 0;
    min-height: 46px !important;
}


/*
 * Mobile keeps the normal stacked form.
 */

@media (max-width: 760px) {

    .posys-inventory-category-v2-grid
    > .posys-form-field {
        align-self: stretch;
    }


    .posys-inventory-category-v2-grid
    > .posys-inventory-category-v2-description
    > textarea {
        height: 72px !important;
        max-height: none !important;
        min-height: 72px !important;
    }


    .posys-inventory-category-v2-action {
        align-self: stretch;
        height: auto;
        width: 100%;
    }

}


/* ==========================================================
   POSYS INVENTORY KPI FINAL V1
   ========================================================== */

/*
 * Definitive Inventory KPI layout.
 *
 * Desktop:
 *
 * [ Active Items ] [ Low Stock ] [ Active Categories ]
 *
 * Exactly equal width, height, alignment and spacing.
 */

.posys-inventory-summary {
    align-items: stretch;
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    height: 72px;
    justify-content: flex-start;
    margin: 0 0 18px 0;
    max-width: none;
    min-height: 72px;
    padding: 0;
    width: auto;
}


/* POSYS INVENTORY KPI SIBLING MARGIN FIX V1
 *
 * Global POSYS card rhythm applies margin-top to
 * every .posys-card that follows another .posys-card.
 * KPI cards are flex siblings and must remain level.
 */
.posys-content
.posys-inventory-summary
> .posys-card
+ .posys-card {
    margin-top: 0;
}


.posys-inventory-summary
> .posys-inventory-summary-card {
    align-items: flex-start;
    align-self: stretch;
    box-sizing: border-box;
    display: flex;
    flex: 0 0 180px;
    flex-direction: column;
    gap: 4px;
    height: 72px;
    justify-content: center;
    margin: 0;
    max-height: 72px;
    max-width: 180px;
    min-height: 72px;
    min-width: 180px;
    padding: 11px 16px;
    position: static;
    transform: none;
    width: 180px;
}


.posys-inventory-summary
> .posys-inventory-summary-card
> span {
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    height: 15px;
    letter-spacing: 0.04em;
    line-height: 15px;
    margin: 0;
    min-height: 15px;
    overflow: hidden;
    text-transform: uppercase;
    white-space: nowrap;
}


.posys-inventory-summary
> .posys-inventory-summary-card
> strong {
    display: block;
    font-size: 1.3rem;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    height: 24px;
    line-height: 24px;
    margin: 0;
    min-height: 24px;
}


/*
 * Keep Inventory page hierarchy compact:
 * heading -> KPI -> Search & Filters.
 */

.posys-inventory-header {
    margin-bottom: 16px;
}


/* ----------------------------------------------------------
   Tablet
   ---------------------------------------------------------- */

@media (max-width: 900px) {

    .posys-inventory-summary {
        display: grid;
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
        height: auto;
        width: 100%;
    }


    .posys-inventory-summary
    > .posys-inventory-summary-card {
        flex: none;
        height: 70px;
        max-height: 70px;
        max-width: none;
        min-height: 70px;
        min-width: 0;
        width: 100%;
    }

}


/* ----------------------------------------------------------
   Narrow mobile
   ---------------------------------------------------------- */

@media (max-width: 640px) {

    .posys-inventory-summary {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* ----------------------------------------------------------
   Small mobile
   ---------------------------------------------------------- */

@media (max-width: 430px) {

    .posys-inventory-summary {
        gap: 9px;
        grid-template-columns: 1fr;
        margin-bottom: 14px;
    }


    .posys-inventory-summary
    > .posys-inventory-summary-card {
        height: 66px;
        max-height: 66px;
        min-height: 66px;
        padding: 10px 14px;
    }

}


/* ==========================================================
   POSYS INVENTORY ITEMS COMPACT V1
   ========================================================== */

.posys-inventory-results-card {
    padding-bottom: 18px;
    padding-top: 18px;
}


.posys-inventory-results-heading {
    align-items: flex-end;
    margin-bottom: 12px;
}


.posys-inventory-results-heading h2 {
    margin-bottom: 2px;
}


.posys-inventory-results-heading p {
    font-size: 0.84rem;
    margin: 0;
}


.posys-inventory-results-card
.posys-table-wrap {
    margin-top: 0;
}


/*
 * Desktop Inventory register table.
 */

.posys-inventory-table {
    min-width: 820px;
    table-layout: fixed;
    width: 100%;
}


.posys-inventory-table th {
    font-size: 0.75rem;
    padding-bottom: 10px;
    padding-top: 10px;
    vertical-align: middle;
}


.posys-inventory-table td {
    font-size: 0.88rem;
    padding-bottom: 10px;
    padding-top: 10px;
    vertical-align: middle;
}


/* Code */

.posys-inventory-table th:nth-child(1),
.posys-inventory-table td:nth-child(1) {
    width: 12%;
}


/* Material / Item */

.posys-inventory-table th:nth-child(2),
.posys-inventory-table td:nth-child(2) {
    width: 27%;
}


/* Category */

.posys-inventory-table th:nth-child(3),
.posys-inventory-table td:nth-child(3) {
    width: 20%;
}


/* Balance */

.posys-inventory-table th:nth-child(4),
.posys-inventory-table td:nth-child(4) {
    width: 15%;
}


/* Reorder */

.posys-inventory-table th:nth-child(5),
.posys-inventory-table td:nth-child(5) {
    width: 9%;
}


/* Status */

.posys-inventory-table th:nth-child(6),
.posys-inventory-table td:nth-child(6) {
    width: 10%;
}


/* Action */

.posys-inventory-table th:nth-child(7),
.posys-inventory-table td:nth-child(7) {
    text-align: right;
    width: 7%;
}


.posys-inventory-table td:first-child strong {
    font-size: 0.86rem;
    font-weight: 700;
    white-space: nowrap;
}


.posys-inventory-table td:nth-child(2)
> strong {
    display: block;
    font-size: 0.9rem;
    line-height: 1.25;
}


.posys-inventory-table
.posys-inventory-secondary {
    font-size: 0.78rem;
    margin-top: 2px;
}


/*
 * Balance + unit sit together more naturally.
 */

.posys-inventory-table
.posys-inventory-balance {
    display: inline;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.2;
}


.posys-inventory-table
td:nth-child(4)
> span:not(.posys-inventory-status) {
    display: inline;
    font-size: 0.78rem;
    margin-left: 3px;
}


.posys-inventory-table
td:nth-child(4)
.posys-inventory-status {
    display: table;
    margin-top: 4px;
}


/*
 * Smaller status/action controls.
 */

.posys-inventory-table
.posys-inventory-status {
    font-size: 0.68rem;
    margin-top: 0;
    padding: 5px 8px;
}


.posys-inventory-table
.posys-button-small {
    min-height: 32px;
    padding: 6px 10px;
    white-space: nowrap;
}


/*
 * Cleaner empty state when no items exist.
 */

.posys-inventory-results-card
.posys-empty-state {
    padding-bottom: 28px;
    padding-top: 28px;
}


/* ----------------------------------------------------------
   Tablet
   ---------------------------------------------------------- */

@media (max-width: 1000px) {

    .posys-inventory-table th:nth-child(2),
    .posys-inventory-table td:nth-child(2) {
        width: 24%;
    }


    .posys-inventory-table th:nth-child(3),
    .posys-inventory-table td:nth-child(3) {
        width: 18%;
    }


    .posys-inventory-table th:nth-child(7),
    .posys-inventory-table td:nth-child(7) {
        width: 9%;
    }

}


/* ----------------------------------------------------------
   Mobile
   Existing stacked-card behavior is preserved.
   ---------------------------------------------------------- */

@media (max-width: 760px) {

    .posys-inventory-table {
        table-layout: auto;
    }


    .posys-inventory-table
    tbody td {
        font-size: 0.86rem;
        width: 100% !important;
    }


    .posys-inventory-table
    tbody td:last-child {
        text-align: left;
    }


    .posys-inventory-table
    .posys-button-small {
        min-height: 36px;
        width: 100%;
    }


    .posys-inventory-table
    td:nth-child(4)
    .posys-inventory-status {
        display: inline-flex;
        margin-left: 6px;
        margin-top: 0;
    }

}


/* ==========================================================
   POSYS INVENTORY FILTER ACTIONS ROW V2
   ========================================================== */

/*
 * Desktop:
 *
 * Search | Category | Status | Stock Level
 *
 * Apply Filters | Clear
 *
 * Buttons intentionally remain on a separate row.
 */

.posys-inventory-filter-card {
    margin-bottom: 18px;
    padding-bottom: 18px;
    padding-top: 18px;
}


.posys-inventory-filter-card h2 {
    margin-bottom: 14px;
}


.posys-inventory-filter-form {
    display: block;
    margin: 0;
}


.posys-inventory-filter-grid {
    align-items: end;
    display: grid;
    gap: 14px;
    grid-template-columns:
        minmax(260px, 1.5fr)
        minmax(190px, 1fr)
        minmax(160px, 0.8fr)
        minmax(180px, 0.9fr);
    margin: 0;
    width: 100%;
}


.posys-inventory-filter-grid
.posys-form-field {
    margin: 0;
    min-width: 0;
}


.posys-inventory-filter-grid
.posys-form-field
label {
    display: block;
    line-height: 18px;
    margin: 0 0 6px 0;
    min-height: 18px;
}


.posys-inventory-filter-grid
input,
.posys-inventory-filter-grid
select {
    box-sizing: border-box;
    height: 44px;
    min-height: 44px;
    width: 100%;
}


/*
 * Separate action row.
 */

.posys-inventory-filter-form
> .posys-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-start;
    margin: 14px 0 0 0;
    min-height: 44px;
}


.posys-inventory-filter-form
> .posys-actions
.posys-button {
    align-items: center;
    box-sizing: border-box;
    display: inline-flex;
    height: 44px;
    justify-content: center;
    margin: 0;
    min-height: 44px;
    padding-left: 16px;
    padding-right: 16px;
}


/* ----------------------------------------------------------
   Tablet
   ---------------------------------------------------------- */

@media (max-width: 1050px) {

    .posys-inventory-filter-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* ----------------------------------------------------------
   Mobile
   ---------------------------------------------------------- */

@media (max-width: 760px) {

    .posys-inventory-filter-grid {
        gap: 12px;
        grid-template-columns: 1fr;
    }


    .posys-inventory-filter-form
    > .posys-actions {
        width: 100%;
    }


    .posys-inventory-filter-form
    > .posys-actions
    .posys-button {
        flex: 1 1 auto;
    }

}


/* ----------------------------------------------------------
   Small mobile
   ---------------------------------------------------------- */

@media (max-width: 430px) {

    .posys-inventory-filter-form
    > .posys-actions {
        align-items: stretch;
        flex-direction: column;
    }


    .posys-inventory-filter-form
    > .posys-actions
    .posys-button {
        width: 100%;
    }

}


/* ==========================================================
   POSYS INVENTORY ITEM DETAIL COMPACT V1
   ========================================================== */


/* ----------------------------------------------------------
   ITEM KPI ROW
   ---------------------------------------------------------- */

.posys-inventory-item-kpis {
    align-items: stretch;
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    margin: 0 0 18px 0;
    padding: 0;
}


/*
 * Neutralize global:
 *
 * .posys-content .posys-card + .posys-card
 *
 * inside the Inventory KPI group only.
 */

.posys-content
.posys-inventory-item-kpis
> .posys-card
+ .posys-card {
    margin-top: 0;
}


.posys-inventory-item-kpis
> .posys-inventory-item-kpi {
    align-items: flex-start;
    box-sizing: border-box;
    display: flex;
    flex: 0 0 210px;
    flex-direction: column;
    gap: 3px;
    height: 82px;
    justify-content: center;
    margin: 0;
    max-height: 82px;
    max-width: 210px;
    min-height: 82px;
    min-width: 210px;
    padding: 12px 16px;
    width: 210px;
}


.posys-inventory-item-kpi
> span {
    font-size: 0.69rem;
    line-height: 15px;
    margin: 0;
}


.posys-inventory-item-kpi
> strong {
    font-size: 1.35rem;
    line-height: 24px;
    margin: 0;
}


.posys-inventory-item-kpi
> small {
    font-size: 0.76rem;
    line-height: 16px;
    margin: 0;
}


/* ----------------------------------------------------------
   STOCK MOVEMENT
   ---------------------------------------------------------- */

.posys-inventory-movement-card {
    margin-bottom: 18px;
    padding-bottom: 18px;
    padding-top: 18px;
}


.posys-inventory-movement-card
h2 {
    margin-bottom: 8px;
}


.posys-inventory-movement-card
p {
    margin-bottom: 0;
}


.posys-inventory-action-grid {
    display: grid;
    gap: 10px;
    grid-template-columns:
        repeat(4, minmax(150px, 190px));
    justify-content: start;
    margin-top: 14px;
}


.posys-inventory-action-grid
.posys-button {
    box-sizing: border-box;
    height: 42px;
    justify-content: center;
    min-height: 42px;
    padding-left: 13px;
    padding-right: 13px;
    width: 100%;
}


/* ----------------------------------------------------------
   ITEM INFORMATION + LEDGER
   ---------------------------------------------------------- */

/*
 * Give the permanent ledger full desktop width.
 * Item Information stays above it instead of consuming
 * ledger width in a narrow side column.
 */

.posys-inventory-detail-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr);
    margin: 0;
}


/*
 * Prevent global sibling-card rhythm from adding another
 * 24px between the two grid cards.
 */

.posys-content
.posys-inventory-detail-grid
> .posys-card
+ .posys-card {
    margin-top: 0;
}


.posys-inventory-detail-grid
> .posys-card {
    box-sizing: border-box;
    margin: 0;
    min-width: 0;
    width: 100%;
}


/*
 * Item Information remains readable without the narrow
 * value wrapping seen in the previous two-column layout.
 */

.posys-inventory-detail-grid
> .posys-card:first-child {
    padding-bottom: 20px;
    padding-top: 20px;
}


/* ----------------------------------------------------------
   STOCK TRANSACTION LEDGER
   ---------------------------------------------------------- */

.posys-inventory-detail-grid
> .posys-card:last-child {
    padding-bottom: 18px;
    padding-top: 18px;
}


.posys-inventory-ledger-table {
    min-width: 880px;
    width: 100%;
}


.posys-inventory-ledger-table
th {
    font-size: 0.75rem;
    padding-bottom: 10px;
    padding-top: 10px;
    vertical-align: middle;
}


.posys-inventory-ledger-table
td {
    font-size: 0.84rem;
    padding-bottom: 10px;
    padding-top: 10px;
    vertical-align: middle;
}


.posys-inventory-ledger-table
th:first-child,
.posys-inventory-ledger-table
td:first-child {
    white-space: nowrap;
}


.posys-inventory-ledger-table
td {
    overflow-wrap: break-word;
}


/* ----------------------------------------------------------
   TABLET
   ---------------------------------------------------------- */

@media (max-width: 900px) {

    .posys-inventory-item-kpis {
        display: grid;
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }


    .posys-inventory-item-kpis
    > .posys-inventory-item-kpi {
        flex: none;
        max-width: none;
        min-width: 0;
        width: 100%;
    }


    .posys-inventory-action-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 640px) {

    .posys-inventory-item-kpis {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .posys-inventory-action-grid {
        grid-template-columns: 1fr;
    }


    .posys-inventory-action-grid
    .posys-button {
        min-height: 44px;
    }

}


/* ----------------------------------------------------------
   SMALL MOBILE
   ---------------------------------------------------------- */

@media (max-width: 430px) {

    .posys-inventory-item-kpis {
        gap: 9px;
        grid-template-columns: 1fr;
    }


    .posys-inventory-item-kpis
    > .posys-inventory-item-kpi {
        height: 70px;
        max-height: 70px;
        min-height: 70px;
    }

}


/* ==========================================================
   POSYS INVENTORY MATERIAL MAPPING UI V1C-B
   ========================================================== */

.posys-inventory-mapping-header {
    margin-bottom: 18px;
}


.posys-inventory-mapping-summary {
    align-items: stretch;
    display: flex;
    gap: 10px;
    margin: 0 0 18px 0;
}


.posys-content
.posys-inventory-mapping-summary
> .posys-card
+ .posys-card {
    margin-top: 0;
}


.posys-inventory-mapping-summary-card {
    align-items: flex-start;
    box-sizing: border-box;
    display: flex;
    flex: 0 0 180px;
    flex-direction: column;
    gap: 4px;
    height: 72px;
    justify-content: center;
    margin: 0;
    min-height: 72px;
    padding: 11px 16px;
    width: 180px;
}


.posys-inventory-mapping-summary-card span {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 15px;
    text-transform: uppercase;
}


.posys-inventory-mapping-summary-card strong {
    font-size: 1.3rem;
    line-height: 24px;
}


.posys-inventory-mapping-filter-card {
    margin-bottom: 18px;
    padding-bottom: 18px;
    padding-top: 18px;
}


.posys-inventory-mapping-filter-card h2 {
    margin-bottom: 14px;
}


.posys-inventory-mapping-filter-grid {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-template-columns:
        minmax(230px, 1.5fr)
        minmax(180px, 1fr)
        minmax(170px, 0.9fr)
        minmax(190px, 1fr)
        minmax(120px, 0.65fr);
}


.posys-inventory-mapping-filter-grid
.posys-form-field {
    margin: 0;
    min-width: 0;
}


.posys-inventory-mapping-filter-grid
input,
.posys-inventory-mapping-filter-grid
select {
    box-sizing: border-box;
    height: 44px;
    min-height: 44px;
    width: 100%;
}


.posys-inventory-mapping-filter-actions {
    margin-top: 14px;
}


.posys-content
.posys-inventory-mapping-register-card
+ .posys-inventory-unmapped-card {
    margin-top: 18px;
}


.posys-inventory-mapping-register-card,
.posys-inventory-unmapped-card {
    padding-bottom: 18px;
    padding-top: 18px;
}


.posys-inventory-mapping-section-heading {
    align-items: flex-end;
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
}


.posys-inventory-mapping-section-heading h2 {
    margin-bottom: 2px;
}


.posys-inventory-mapping-section-heading p {
    margin: 0;
}


.posys-inventory-mapping-table {
    min-width: 1040px;
    table-layout: fixed;
}


.posys-inventory-mapping-table th,
.posys-inventory-mapping-table td {
    padding-bottom: 10px;
    padding-top: 10px;
    vertical-align: middle;
}


.posys-inventory-mapping-row-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}


.posys-inventory-unmapped-table {
    min-width: 760px;
}


.posys-inventory-unmapped-table th,
.posys-inventory-unmapped-table td {
    padding-bottom: 10px;
    padding-top: 10px;
    vertical-align: middle;
}


.posys-inventory-mapping-limit-note {
    font-size: 0.8rem;
    margin: 12px 0 0;
}


.posys-inventory-mapping-form-card {
    max-width: 980px;
}


.posys-inventory-mapping-form-grid {
    display: grid;
    gap: 16px;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
}


.posys-inventory-mapping-form-grid
.posys-form-field {
    margin: 0;
    min-width: 0;
}


.posys-inventory-mapping-form-grid
input,
.posys-inventory-mapping-form-grid
select {
    box-sizing: border-box;
    min-height: 44px;
    width: 100%;
}


.posys-inventory-mapping-form-grid
textarea {
    box-sizing: border-box;
    width: 100%;
}


.posys-inventory-mapping-notes-field {
    grid-column: 1 / -1;
}


@media (max-width: 1050px) {

    .posys-inventory-mapping-filter-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 760px) {

    .posys-inventory-mapping-summary {
        display: grid;
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .posys-inventory-mapping-summary-card {
        width: 100%;
    }


    .posys-inventory-mapping-filter-grid,
    .posys-inventory-mapping-form-grid {
        grid-template-columns: 1fr;
    }


    .posys-inventory-mapping-notes-field {
        grid-column: auto;
    }


    .posys-inventory-mapping-table,
    .posys-inventory-unmapped-table {
        table-layout: auto;
    }


    .posys-inventory-mapping-row-actions {
        align-items: stretch;
        flex-direction: column;
    }


    .posys-inventory-mapping-row-actions
    .posys-button {
        width: 100%;
    }

}


@media (max-width: 430px) {

    .posys-inventory-mapping-summary {
        grid-template-columns: 1fr;
    }

}


/* ==========================================================
   POSYS INVENTORY MATERIAL PREVIEW V1C-C
   ========================================================== */

.posys-inventory-material-preview {
    margin-top: 14px;
}


.posys-inventory-material-preview-title {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    margin-bottom: 7px;
    text-transform: uppercase;
}


.posys-inventory-material-preview-list {
    display: grid;
    gap: 8px;
}


.posys-inventory-material-preview-row {
    align-items: center;
    border: 1px solid var(--posys-border, #dfe4ea);
    border-radius: 8px;
    display: grid;
    gap: 10px;
    grid-template-columns:
        minmax(180px, 1fr)
        auto
        minmax(220px, 1.2fr);
    min-width: 0;
    padding: 9px 11px;
}


.posys-inventory-material-source,
.posys-inventory-material-copy,
.posys-inventory-material-target {
    min-width: 0;
}


.posys-inventory-material-copy,
.posys-inventory-material-target {
    display: flex;
    flex-direction: column;
    gap: 2px;
}


.posys-inventory-material-copy span,
.posys-inventory-material-target span,
.posys-inventory-material-target small {
    overflow-wrap: anywhere;
}


.posys-inventory-material-target small {
    opacity: 0.76;
}


.posys-inventory-material-status {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.69rem;
    font-weight: 700;
    justify-content: center;
    line-height: 18px;
    min-height: 24px;
    padding: 3px 9px;
    white-space: nowrap;
}


.posys-inventory-material-status-mapped {
    background: rgba(24, 135, 84, 0.11);
    color: #116c43;
}


.posys-inventory-material-status-unmapped {
    background: rgba(180, 83, 9, 0.11);
    color: #9a4d08;
}


.posys-inventory-material-preview-inline {
    border-top: 1px solid var(--posys-border, #dfe4ea);
    margin-top: 9px;
    padding-top: 9px;
}


.posys-inventory-material-preview-inline
.posys-inventory-material-preview-row {
    border: 0;
    border-radius: 0;
    grid-template-columns:
        minmax(180px, 1fr)
        auto
        minmax(220px, 1.2fr);
    padding: 4px 0;
}


@media (max-width: 760px) {

    .posys-inventory-material-preview-row,
    .posys-inventory-material-preview-inline
    .posys-inventory-material-preview-row {
        align-items: start;
        grid-template-columns: 1fr;
        gap: 6px;
    }


    .posys-inventory-material-status {
        justify-self: start;
    }

}


/* ==========================================================
   POSYS INVENTORY MATERIAL REQUIREMENT REVIEW V1C-D2
   ========================================================== */

.posys-requirement-header {
    margin-bottom: 18px;
}


.posys-requirement-summary {
    align-items: stretch;
    display: flex;
    gap: 10px;
    margin: 0 0 18px 0;
}


.posys-content
.posys-requirement-summary
> .posys-card
+ .posys-card {
    margin-top: 0;
}


.posys-requirement-summary-card {
    align-items: flex-start;
    box-sizing: border-box;
    display: flex;
    flex: 0 0 180px;
    flex-direction: column;
    gap: 4px;
    height: 72px;
    justify-content: center;
    margin: 0;
    min-height: 72px;
    padding: 11px 16px;
    width: 180px;
}


.posys-requirement-summary-card span {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 15px;
    text-transform: uppercase;
}


.posys-requirement-summary-card strong {
    font-size: 1.3rem;
    line-height: 24px;
}


.posys-requirement-filter-card {
    margin-bottom: 18px;
    padding-bottom: 18px;
    padding-top: 18px;
}


.posys-requirement-filter-card h2 {
    margin-bottom: 14px;
}


.posys-requirement-filter-grid {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-template-columns:
        minmax(260px, 1.4fr)
        minmax(220px, 1fr)
        minmax(190px, 0.85fr);
}


.posys-requirement-filter-grid
.posys-form-field {
    margin: 0;
    min-width: 0;
}


.posys-requirement-filter-grid
input,
.posys-requirement-filter-grid
select {
    box-sizing: border-box;
    height: 44px;
    min-height: 44px;
    width: 100%;
}


.posys-requirement-filter-actions {
    margin-top: 14px;
}


.posys-requirement-register-card {
    padding-bottom: 18px;
    padding-top: 18px;
}


.posys-requirement-section-heading {
    align-items: flex-end;
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
}


.posys-requirement-section-heading h2 {
    margin-bottom: 2px;
}


.posys-requirement-section-heading p {
    margin: 0;
}


.posys-requirement-table {
    min-width: 1180px;
}


.posys-requirement-table th,
.posys-requirement-table td {
    padding-bottom: 10px;
    padding-top: 10px;
    vertical-align: middle;
}


.posys-requirement-balance {
    display: block;
    margin-top: 3px;
    opacity: 0.78;
}


.posys-requirement-status {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.68rem;
    font-weight: 700;
    justify-content: center;
    line-height: 18px;
    min-height: 24px;
    padding: 3px 9px;
    white-space: nowrap;
}


.posys-requirement-status-calculated {
    background: rgba(24, 135, 84, 0.11);
    color: #116c43;
}


.posys-requirement-status-manual_required {
    background: rgba(161, 98, 7, 0.12);
    color: #875304;
}


.posys-requirement-status-not_generated {
    background: rgba(39, 99, 165, 0.11);
    color: #245f9d;
}


.posys-requirement-status-needs_refresh {
    background: rgba(176, 76, 17, 0.12);
    color: #94420d;
}


.posys-requirement-status-unmapped {
    background: rgba(112, 119, 129, 0.14);
    color: #525a65;
}


.posys-requirement-notice,
.posys-requirement-guidance,
.posys-requirement-basis,
.posys-requirement-manual-note,
.posys-requirement-unmapped-note {
    border: 1px solid var(--posys-border, #dfe4ea);
    border-radius: 8px;
    margin-bottom: 14px;
    padding: 10px 12px;
}


.posys-requirement-guidance {
    align-items: center;
    display: flex;
    gap: 8px;
}


.posys-requirement-detail-card {
    margin-bottom: 16px;
}


.posys-content
.posys-requirement-detail-card
+ .posys-requirement-detail-card {
    margin-top: 16px;
}


.posys-requirement-detail-heading {
    align-items: flex-start;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin-bottom: 16px;
}


.posys-requirement-detail-heading h2 {
    margin-bottom: 2px;
}


.posys-requirement-detail-heading p {
    margin: 0;
}


.posys-requirement-detail-grid {
    display: grid;
    gap: 14px;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
}


.posys-requirement-detail-grid > div {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}


.posys-requirement-detail-label {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}


.posys-requirement-basis,
.posys-requirement-manual-note,
.posys-requirement-unmapped-note {
    margin-bottom: 0;
    margin-top: 14px;
}


@media (max-width: 1000px) {

    .posys-requirement-summary {
        display: grid;
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .posys-requirement-summary-card {
        width: 100%;
    }


    .posys-requirement-detail-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 760px) {

    .posys-requirement-filter-grid,
    .posys-requirement-detail-grid {
        grid-template-columns: 1fr;
    }


    .posys-requirement-detail-heading,
    .posys-requirement-guidance {
        align-items: flex-start;
        flex-direction: column;
    }


    .posys-requirement-table {
        min-width: 0;
    }

}


@media (max-width: 430px) {

    .posys-requirement-summary {
        grid-template-columns: 1fr;
    }

}


/* ==========================================================
   POSYS INVENTORY CONVERSION WASTAGE UI V1C-D3-B
   ========================================================== */

.posys-rule-warning {
    align-items: flex-start;
    border: 1px solid var(--posys-border, #dfe4ea);
    border-radius: 8px;
    display: flex;
    gap: 8px;
    margin-bottom: 18px;
    padding: 11px 13px;
}


.posys-rule-summary {
    align-items: stretch;
    display: flex;
    gap: 10px;
    margin: 0 0 18px 0;
}


.posys-content
.posys-rule-summary
> .posys-card
+ .posys-card {
    margin-top: 0;
}


.posys-rule-summary-card {
    box-sizing: border-box;
    display: flex;
    flex: 0 0 200px;
    flex-direction: column;
    gap: 2px;
    justify-content: center;
    margin: 0;
    min-height: 84px;
    padding: 12px 16px;
    width: 200px;
}


.posys-rule-summary-card > span {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}


.posys-rule-summary-card > strong {
    font-size: 1.35rem;
    line-height: 26px;
}


.posys-rule-summary-card > small {
    opacity: 0.72;
}


.posys-rule-section {
    margin-bottom: 18px;
}


.posys-content
.posys-rule-section
+ .posys-rule-section {
    margin-top: 18px;
}


.posys-rule-section-heading {
    align-items: flex-start;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 14px;
}


.posys-rule-section-heading h2 {
    margin-bottom: 3px;
}


.posys-rule-section-heading p {
    margin: 0;
}


.posys-rule-table {
    min-width: 980px;
}


.posys-rule-table th,
.posys-rule-table td {
    padding-bottom: 10px;
    padding-top: 10px;
    vertical-align: middle;
}


.posys-rule-row-actions {
    flex-wrap: nowrap;
}


.posys-rule-status {
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 18px;
    padding: 3px 9px;
}


.posys-rule-status-active {
    background: rgba(24, 135, 84, 0.11);
    color: #116c43;
}


.posys-rule-status-inactive {
    background: rgba(112, 119, 129, 0.14);
    color: #525a65;
}


.posys-rule-form-card {
    max-width: 920px;
}


.posys-rule-conversion-grid {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-template-columns:
        minmax(170px, 1fr)
        minmax(180px, 1fr)
        40px
        minmax(170px, 1fr);
}


.posys-rule-conversion-grid
.posys-form-field {
    margin: 0;
}


.posys-rule-equals {
    align-items: center;
    display: flex;
    font-size: 1.4rem;
    font-weight: 700;
    height: 44px;
    justify-content: center;
}


.posys-rule-example {
    border: 1px solid var(--posys-border, #dfe4ea);
    border-radius: 8px;
    margin: 14px 0;
    padding: 10px 12px;
}


.posys-rule-percent-field {
    align-items: center;
    display: flex;
    gap: 8px;
    max-width: 280px;
}


.posys-rule-percent-field input {
    flex: 1;
    min-width: 0;
}


.posys-rule-percent-field span {
    font-weight: 700;
}


@media (max-width: 850px) {

    .posys-rule-section-heading {
        align-items: stretch;
        flex-direction: column;
    }


    .posys-rule-conversion-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .posys-rule-equals {
        display: none;
    }

}


@media (max-width: 760px) {

    .posys-rule-summary {
        display: grid;
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .posys-rule-summary-card {
        width: 100%;
    }


    .posys-rule-table {
        min-width: 0;
    }


    .posys-rule-warning {
        flex-direction: column;
    }

}


@media (max-width: 480px) {

    .posys-rule-summary,
    .posys-rule-conversion-grid {
        grid-template-columns: 1fr;
    }

}


/* ==========================================================
   POSYS INVENTORY SIMPLIFICATION V2-B
   ========================================================== */

.posys-inventory-v2-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
    margin: 0 0 1rem;
}

.posys-inventory-v2-nav .posys-button {
    width: 100%;
    min-height: 42px;
    justify-content: center;
    text-align: center;
}

.posys-inventory-v2-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0 0 1rem;
}

.posys-inventory-v2-summary-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.posys-inventory-v2-summary-four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.posys-inventory-v2-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.posys-inventory-v2-section-heading h2 {
    margin-top: 0;
    margin-bottom: 0.25rem;
}

.posys-inventory-v2-section-heading p {
    margin: 0;
}

.posys-inventory-v2-stock-card {
    margin-top: 1rem;
}

.posys-inventory-v2-table th,
.posys-inventory-v2-table td {
    vertical-align: top;
}

.posys-inventory-v2-table td strong,
.posys-inventory-v2-table td span,
.posys-inventory-v2-table td small {
    display: block;
}

.posys-inventory-v2-table td .posys-button {
    display: inline-flex;
}

.posys-inventory-v2-planning-filters {
    display: grid;
    grid-template-columns:
        minmax(220px, 1.7fr)
        minmax(180px, 1fr)
        minmax(170px, 1fr);
    gap: 0.75rem;
    align-items: end;
}

.posys-inventory-v2-setup-note {
    margin: 0 0 1rem;
    padding: 0.8rem 1rem;
    border: 1px solid currentColor;
    border-radius: 0.65rem;
    opacity: 0.82;
}

.posys-inventory-v2-setup-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.posys-inventory-v2-setup-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1rem;
    min-height: 180px;
}

.posys-inventory-v2-setup-card h2 {
    margin-top: 0;
}

@media (max-width: 1050px) {

    .posys-inventory-v2-summary-four {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .posys-inventory-v2-planning-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 760px) {

    .posys-inventory-v2-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .posys-inventory-v2-summary,
    .posys-inventory-v2-summary-two,
    .posys-inventory-v2-summary-four {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .posys-inventory-v2-planning-filters,
    .posys-inventory-v2-setup-grid {
        grid-template-columns: 1fr;
    }

    .posys-inventory-v2-section-heading {
        display: block;
    }

}

@media (max-width: 520px) {

    .posys-inventory-v2-nav,
    .posys-inventory-v2-summary,
    .posys-inventory-v2-summary-two,
    .posys-inventory-v2-summary-four {
        grid-template-columns: 1fr;
    }

}


/* ==========================================================
   POSYS INVENTORY V2-B.1 COMPACT UI
   Main Inventory register only
   ========================================================== */


/* Page header */

.posys-inventory-register-v2b1 .posys-page-header {
    margin-bottom: 0.75rem;
}

.posys-inventory-register-v2b1 .posys-page-header h1 {
    margin-bottom: 0.15rem;
    font-size: 1.9rem;
    line-height: 1.12;
}

.posys-inventory-register-v2b1 .posys-page-header p {
    margin-top: 0;
    margin-bottom: 0;
}

.posys-inventory-register-v2b1
.posys-page-header
.posys-button {
    min-height: 38px;
    padding: 0.48rem 0.9rem;
}


/* Four Inventory tabs */

.posys-inventory-register-v2b1
.posys-inventory-v2-nav {
    gap: 0.5rem;
    margin-bottom: 0.7rem;
}

.posys-inventory-register-v2b1
.posys-inventory-v2-nav
.posys-button {
    min-height: 37px;
    padding: 0.45rem 0.75rem;
    font-size: 0.9rem;
}


/* KPI cards */

.posys-inventory-register-v2b1
.posys-inventory-v2-summary {
    gap: 0.65rem;
    margin-bottom: 0.7rem;
}

.posys-inventory-register-v2b1
.posys-inventory-summary-card {
    min-height: 82px;
    padding: 0.75rem 1rem;
}

.posys-inventory-register-v2b1
.posys-inventory-summary-card span {
    margin-bottom: 0.18rem;
    font-size: 0.76rem;
}

.posys-inventory-register-v2b1
.posys-inventory-summary-card strong {
    font-size: 1.48rem;
    line-height: 1.08;
}


/* Find Material */

.posys-inventory-register-v2b1
.posys-inventory-filter-card {
    margin-bottom: 0.7rem;
    padding: 0.85rem 1rem;
}

.posys-inventory-register-v2b1
.posys-inventory-v2-section-heading {
    margin-bottom: 0.55rem;
}

.posys-inventory-register-v2b1
.posys-inventory-v2-section-heading h2 {
    margin-bottom: 0.1rem;
    font-size: 1.24rem;
    line-height: 1.2;
}

.posys-inventory-register-v2b1
.posys-inventory-v2-section-heading p {
    font-size: 0.87rem;
}

.posys-inventory-register-v2b1
.posys-inventory-filter-grid {
    gap: 0.55rem;
}

.posys-inventory-register-v2b1
.posys-inventory-filter-grid label {
    margin-bottom: 0.22rem;
    font-size: 0.8rem;
}

.posys-inventory-register-v2b1
.posys-inventory-filter-grid input,
.posys-inventory-register-v2b1
.posys-inventory-filter-grid select {
    min-height: 38px;
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
}

.posys-inventory-register-v2b1
.posys-inventory-filter-card
.posys-actions {
    margin-top: 0.55rem;
    gap: 0.4rem;
}

.posys-inventory-register-v2b1
.posys-inventory-filter-card
.posys-button {
    min-height: 36px;
    padding: 0.42rem 0.9rem;
}


/* Stock Health container */

.posys-inventory-register-v2b1
.posys-inventory-v2-stock-card {
    margin-top: 0;
    padding: 0.9rem 1rem;
}

.posys-inventory-register-v2b1
.posys-inventory-v2-stock-card
.posys-inventory-v2-section-heading {
    margin-bottom: 0.55rem;
}

.posys-inventory-register-v2b1
.posys-inventory-v2-stock-card h2 {
    font-size: 1.25rem;
}


/* Stock Health table */

.posys-inventory-register-v2b1
.posys-inventory-v2-table th {
    padding: 0.54rem 0.65rem;
    font-size: 0.76rem;
}

.posys-inventory-register-v2b1
.posys-inventory-v2-table td {
    padding: 0.58rem 0.65rem;
    font-size: 0.88rem;
    line-height: 1.28;
}

.posys-inventory-register-v2b1
.posys-inventory-secondary {
    margin-top: 0.1rem;
    font-size: 0.76rem;
}

.posys-inventory-register-v2b1
.posys-requirement-balance {
    margin-top: 0.12rem;
    font-size: 0.73rem;
}

.posys-inventory-register-v2b1
.posys-requirement-status {
    display: inline-flex;
    width: auto;
    min-width: 70px;
    justify-content: center;
    padding: 0.23rem 0.5rem;
    font-size: 0.7rem;
    line-height: 1.08;
}

.posys-inventory-register-v2b1
.posys-inventory-v2-table
.posys-button-small {
    min-height: 30px;
    padding: 0.3rem 0.6rem;
    font-size: 0.76rem;
}


/* Large desktop table proportions */

@media (min-width: 1100px) {

    .posys-inventory-register-v2b1
    .posys-inventory-v2-table th:first-child,
    .posys-inventory-register-v2b1
    .posys-inventory-v2-table td:first-child {
        width: 29%;
    }

    .posys-inventory-register-v2b1
    .posys-inventory-v2-table th:last-child,
    .posys-inventory-register-v2b1
    .posys-inventory-v2-table td:last-child {
        width: 64px;
        text-align: right;
    }

}


/* Tablet */

@media (max-width: 900px) {

    .posys-inventory-register-v2b1
    .posys-inventory-summary-card {
        min-height: 78px;
    }

}


/* Mobile */

@media (max-width: 760px) {

    .posys-inventory-register-v2b1
    .posys-page-header {
        margin-bottom: 0.6rem;
    }

    .posys-inventory-register-v2b1
    .posys-page-header h1 {
        font-size: 1.65rem;
    }

    .posys-inventory-register-v2b1
    .posys-inventory-v2-nav {
        gap: 0.4rem;
    }

    .posys-inventory-register-v2b1
    .posys-inventory-v2-nav
    .posys-button {
        min-height: 35px;
        font-size: 0.84rem;
    }

    .posys-inventory-register-v2b1
    .posys-inventory-v2-summary {
        gap: 0.45rem;
    }

    .posys-inventory-register-v2b1
    .posys-inventory-summary-card {
        min-height: 72px;
        padding: 0.65rem 0.75rem;
    }

    .posys-inventory-register-v2b1
    .posys-inventory-filter-card,
    .posys-inventory-register-v2b1
    .posys-inventory-v2-stock-card {
        padding: 0.75rem;
    }

}


/* Small mobile */

@media (max-width: 520px) {

    .posys-inventory-register-v2b1
    .posys-inventory-v2-summary {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    .posys-inventory-register-v2b1
    .posys-inventory-summary-card:last-child {
        grid-column: 1 / -1;
    }

}


/* ==========================================================
   POSYS INVENTORY V2-B.1 KPI EQUAL HEIGHT
   Preserve existing three-column widths
   ========================================================== */


/*
   Keep the existing grid-template-columns untouched.

   Only normalize the three KPI cards so Active Materials,
   Below Safety and Categories occupy exactly the same height.
*/

.posys-inventory-register-v2b1
.posys-inventory-v2-summary {
    align-items: stretch;
}


.posys-inventory-register-v2b1
.posys-inventory-v2-summary
> .posys-inventory-summary-card {
    box-sizing: border-box;
    height: 82px;
    min-height: 82px;
    margin-top: 0;
    margin-bottom: 0;
    align-self: stretch;

    display: flex;
    flex-direction: column;
    justify-content: center;
}


.posys-inventory-register-v2b1
.posys-inventory-v2-summary
> .posys-inventory-summary-card span {
    margin-top: 0;
}


.posys-inventory-register-v2b1
.posys-inventory-v2-summary
> .posys-inventory-summary-card strong {
    margin-top: 0;
    margin-bottom: 0;
}


/* Tablet keeps equal height */

@media (max-width: 900px) {

    .posys-inventory-register-v2b1
    .posys-inventory-v2-summary
    > .posys-inventory-summary-card {
        height: 78px;
        min-height: 78px;
    }

}


/* Mobile keeps equal sizing but remains responsive */

@media (max-width: 760px) {

    .posys-inventory-register-v2b1
    .posys-inventory-v2-summary
    > .posys-inventory-summary-card {
        height: 72px;
        min-height: 72px;
    }

}


/* ==========================================================
   POSYS INVENTORY V2-B.1 OTHER PAGES EQUAL HEIGHT
   Material Planning / Stock History / Setup

   Existing widths are deliberately preserved.
   ========================================================== */


/* ==========================================================
   MATERIAL PLANNING
   Four KPI boxes
   ========================================================== */

.posys-inventory-v2-summary-four {
    align-items: stretch;
}


.posys-inventory-v2-summary-four
> .posys-inventory-summary-card {
    box-sizing: border-box;

    height: 82px;
    min-height: 82px;

    margin-top: 0;
    margin-bottom: 0;

    align-self: stretch;

    display: flex;
    flex-direction: column;
    justify-content: center;
}


.posys-inventory-v2-summary-four
> .posys-inventory-summary-card span {
    margin-top: 0;
    margin-bottom: 0.18rem;
}


.posys-inventory-v2-summary-four
> .posys-inventory-summary-card strong {
    margin-top: 0;
    margin-bottom: 0;

    line-height: 1.08;
}


/* ==========================================================
   STOCK HISTORY
   Two KPI boxes
   ========================================================== */

.posys-inventory-v2-summary-two {
    align-items: stretch;
}


.posys-inventory-v2-summary-two
> .posys-inventory-summary-card {
    box-sizing: border-box;

    height: 82px;
    min-height: 82px;

    margin-top: 0;
    margin-bottom: 0;

    align-self: stretch;

    display: flex;
    flex-direction: column;
    justify-content: center;
}


.posys-inventory-v2-summary-two
> .posys-inventory-summary-card span {
    margin-top: 0;
    margin-bottom: 0.18rem;
}


.posys-inventory-v2-summary-two
> .posys-inventory-summary-card strong {
    margin-top: 0;
    margin-bottom: 0;

    line-height: 1.08;
}


/* ==========================================================
   SETUP
   Make all setup boxes visually consistent.
   Width remains controlled by existing 2-column grid.
   ========================================================== */

.posys-inventory-v2-setup-grid {
    align-items: stretch;
}


.posys-inventory-v2-setup-grid
> .posys-inventory-v2-setup-card {
    box-sizing: border-box;

    height: 205px;
    min-height: 205px;

    margin-top: 0;
    margin-bottom: 0;

    align-self: stretch;

    display: flex;
    flex-direction: column;
    justify-content: space-between;
}


.posys-inventory-v2-setup-grid
> .posys-inventory-v2-setup-card
> div:first-child {
    flex: 1 1 auto;
}


.posys-inventory-v2-setup-grid
> .posys-inventory-v2-setup-card
> .posys-actions {
    margin-top: auto;
}


/* Keep heading spacing consistent */

.posys-inventory-v2-setup-card h2 {
    margin-top: 0;
    margin-bottom: 0.45rem;
}


.posys-inventory-v2-setup-card p {
    margin-top: 0;
    margin-bottom: 0.55rem;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 900px) {

    .posys-inventory-v2-summary-four
    > .posys-inventory-summary-card,
    .posys-inventory-v2-summary-two
    > .posys-inventory-summary-card {
        height: 78px;
        min-height: 78px;
    }


    .posys-inventory-v2-setup-grid
    > .posys-inventory-v2-setup-card {
        height: 195px;
        min-height: 195px;
    }

}


/* ==========================================================
   MOBILE
   KPI cards remain equal.
   Setup cards become natural height because the grid is
   already one column and fixed height would waste space.
   ========================================================== */

@media (max-width: 760px) {

    .posys-inventory-v2-summary-four
    > .posys-inventory-summary-card,
    .posys-inventory-v2-summary-two
    > .posys-inventory-summary-card {
        height: 72px;
        min-height: 72px;
    }


    .posys-inventory-v2-setup-grid
    > .posys-inventory-v2-setup-card {
        height: auto;
        min-height: 0;
    }

}


/* ==========================================================
   POSYS INVENTORY V2-B.2 CONSISTENT TOP TABS
   Inventory / Material Planning / Stock History / Setup

   Widths remain unchanged.
   ========================================================== */


/* ----------------------------------------------------------
   Normalize spacing between page header and navigation.
   All V2 Inventory pages already use posys-inventory-header.
   ---------------------------------------------------------- */

.posys-inventory-header {
    margin-bottom: 0.75rem;
}


/* ----------------------------------------------------------
   Shared four-tab grid
   ---------------------------------------------------------- */

.posys-inventory-v2-nav {
    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    gap: 0.5rem;

    margin-top: 0;
    margin-bottom: 0.7rem;

    align-items: stretch;
}


/* ----------------------------------------------------------
   All four buttons use exactly the same dimensions
   ---------------------------------------------------------- */

.posys-inventory-v2-nav
> .posys-button {
    box-sizing: border-box;

    width: 100%;

    height: 37px;
    min-height: 37px;
    max-height: 37px;

    margin: 0;

    padding:
        0.45rem
        0.75rem;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    text-align: center;

    font-size: 0.9rem;
    line-height: 1;

    white-space: nowrap;
}


/* ----------------------------------------------------------
   Inventory register had a scoped compact rule.
   Explicitly keep it identical to the shared rule.
   ---------------------------------------------------------- */

.posys-inventory-register-v2b1
.posys-inventory-v2-nav {
    gap: 0.5rem;
    margin-top: 0;
    margin-bottom: 0.7rem;
}


.posys-inventory-register-v2b1
.posys-inventory-v2-nav
> .posys-button {
    height: 37px;
    min-height: 37px;
    max-height: 37px;

    padding:
        0.45rem
        0.75rem;

    font-size: 0.9rem;
    line-height: 1;
}


/* ----------------------------------------------------------
   Tablet
   ---------------------------------------------------------- */

@media (max-width: 900px) {

    .posys-inventory-header {
        margin-bottom: 0.7rem;
    }

}


/* ----------------------------------------------------------
   Mobile

   Preserve the existing 2-column navigation behavior,
   but make every tab exactly the same height.
   ---------------------------------------------------------- */

@media (max-width: 760px) {

    .posys-inventory-v2-nav {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

        gap: 0.4rem;

        margin-bottom: 0.65rem;
    }


    .posys-inventory-v2-nav
    > .posys-button {
        height: 35px;
        min-height: 35px;
        max-height: 35px;

        padding:
            0.4rem
            0.55rem;

        font-size: 0.84rem;
    }


    .posys-inventory-register-v2b1
    .posys-inventory-v2-nav
    > .posys-button {
        height: 35px;
        min-height: 35px;
        max-height: 35px;

        padding:
            0.4rem
            0.55rem;

        font-size: 0.84rem;
    }

}


/* ----------------------------------------------------------
   Small mobile

   Keep 2 columns rather than 1 so the navigation remains
   compact and predictable across all four pages.
   ---------------------------------------------------------- */

@media (max-width: 520px) {

    .posys-inventory-v2-nav {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

}


/* ==========================================================
   POSYS INVENTORY V2-B.3 PAGE DENSITY
   Material Planning / Stock History / Setup
   Widths and V2-B.2 tab dimensions remain unchanged.
   ========================================================== */


/* ==========================================================
   SHARED PAGE HEADER DENSITY
   ========================================================== */

.posys-material-planning-v2b3 .posys-page-header,
.posys-stock-history-v2b3 .posys-page-header,
.posys-inventory-setup-v2b3 .posys-page-header {
    margin-bottom: 0.75rem;
}


.posys-material-planning-v2b3 .posys-page-header h1,
.posys-stock-history-v2b3 .posys-page-header h1,
.posys-inventory-setup-v2b3 .posys-page-header h1 {
    margin-bottom: 0.15rem;

    font-size: 1.9rem;
    line-height: 1.12;
}


.posys-material-planning-v2b3 .posys-page-header p,
.posys-stock-history-v2b3 .posys-page-header p,
.posys-inventory-setup-v2b3 .posys-page-header p {
    margin-top: 0;
    margin-bottom: 0;
}


/* ==========================================================
   MATERIAL PLANNING
   ========================================================== */


/* KPI row */

.posys-material-planning-v2b3
.posys-inventory-v2-summary-four {
    gap: 0.65rem;
    margin-bottom: 0.7rem;
}


.posys-material-planning-v2b3
.posys-inventory-v2-summary-four
> .posys-inventory-summary-card {
    height: 82px;
    min-height: 82px;

    padding: 0.75rem 1rem;
}


.posys-material-planning-v2b3
.posys-inventory-summary-card span {
    margin-bottom: 0.18rem;

    font-size: 0.76rem;
}


.posys-material-planning-v2b3
.posys-inventory-summary-card strong {
    font-size: 1.48rem;
    line-height: 1.08;
}


/* Filter card */

.posys-material-planning-v2b3
.posys-inventory-filter-card {
    margin-bottom: 0.7rem;
    padding: 0.85rem 1rem;
}


.posys-material-planning-v2b3
.posys-inventory-v2-section-heading {
    margin-bottom: 0.55rem;
}


.posys-material-planning-v2b3
.posys-inventory-v2-section-heading h2 {
    margin-bottom: 0.1rem;

    font-size: 1.24rem;
    line-height: 1.2;
}


.posys-material-planning-v2b3
.posys-inventory-v2-section-heading p {
    font-size: 0.87rem;
}


.posys-material-planning-v2b3
.posys-inventory-v2-planning-filters {
    gap: 0.55rem;
}


.posys-material-planning-v2b3
.posys-form-field label {
    margin-bottom: 0.22rem;

    font-size: 0.8rem;
}


.posys-material-planning-v2b3
.posys-form-field input,
.posys-material-planning-v2b3
.posys-form-field select {
    min-height: 38px;

    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
}


.posys-material-planning-v2b3
.posys-inventory-filter-card
.posys-actions {
    margin-top: 0.55rem;
    gap: 0.4rem;
}


.posys-material-planning-v2b3
.posys-inventory-filter-card
.posys-button {
    min-height: 36px;

    padding: 0.42rem 0.9rem;
}


/* Demand table card */

.posys-material-planning-v2b3
.posys-card:has(.posys-inventory-v2-table) {
    padding: 0.9rem 1rem;
}


.posys-material-planning-v2b3
.posys-inventory-v2-table th {
    padding: 0.54rem 0.65rem;

    font-size: 0.76rem;
}


.posys-material-planning-v2b3
.posys-inventory-v2-table td {
    padding: 0.58rem 0.65rem;

    font-size: 0.88rem;
    line-height: 1.28;
}


.posys-material-planning-v2b3
.posys-inventory-secondary {
    margin-top: 0.1rem;

    font-size: 0.76rem;
}


.posys-material-planning-v2b3
.posys-requirement-balance {
    margin-top: 0.12rem;

    font-size: 0.73rem;
}


.posys-material-planning-v2b3
.posys-requirement-status {
    display: inline-flex;

    width: auto;
    min-width: 70px;

    justify-content: center;

    padding: 0.23rem 0.5rem;

    font-size: 0.7rem;
    line-height: 1.08;
}


/* ==========================================================
   STOCK HISTORY
   ========================================================== */


/* KPI row */

.posys-stock-history-v2b3
.posys-inventory-v2-summary-two {
    gap: 0.65rem;
    margin-bottom: 0.7rem;
}


.posys-stock-history-v2b3
.posys-inventory-v2-summary-two
> .posys-inventory-summary-card {
    height: 82px;
    min-height: 82px;

    padding: 0.75rem 1rem;
}


.posys-stock-history-v2b3
.posys-inventory-summary-card span {
    margin-bottom: 0.18rem;

    font-size: 0.76rem;
}


.posys-stock-history-v2b3
.posys-inventory-summary-card strong {
    font-size: 1.48rem;
    line-height: 1.08;
}


/* Filter card */

.posys-stock-history-v2b3
.posys-inventory-filter-card {
    margin-bottom: 0.7rem;
    padding: 0.85rem 1rem;
}


.posys-stock-history-v2b3
.posys-inventory-v2-section-heading {
    margin-bottom: 0.55rem;
}


.posys-stock-history-v2b3
.posys-inventory-v2-section-heading h2 {
    margin-bottom: 0.1rem;

    font-size: 1.24rem;
    line-height: 1.2;
}


.posys-stock-history-v2b3
.posys-inventory-v2-section-heading p {
    font-size: 0.87rem;
}


.posys-stock-history-v2b3
.posys-inventory-v2-planning-filters {
    gap: 0.55rem;
}


.posys-stock-history-v2b3
.posys-form-field label {
    margin-bottom: 0.22rem;

    font-size: 0.8rem;
}


.posys-stock-history-v2b3
.posys-form-field input,
.posys-stock-history-v2b3
.posys-form-field select {
    min-height: 38px;

    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
}


.posys-stock-history-v2b3
.posys-inventory-filter-card
.posys-actions {
    margin-top: 0.55rem;
    gap: 0.4rem;
}


.posys-stock-history-v2b3
.posys-inventory-filter-card
.posys-button {
    min-height: 36px;

    padding: 0.42rem 0.9rem;
}


/* Ledger */

.posys-stock-history-v2b3
.posys-card:has(.posys-inventory-v2-table) {
    padding: 0.9rem 1rem;
}


.posys-stock-history-v2b3
.posys-inventory-v2-table th {
    padding: 0.54rem 0.65rem;

    font-size: 0.76rem;
}


.posys-stock-history-v2b3
.posys-inventory-v2-table td {
    padding: 0.58rem 0.65rem;

    font-size: 0.88rem;
    line-height: 1.28;
}


.posys-stock-history-v2b3
.posys-inventory-secondary {
    margin-top: 0.1rem;

    font-size: 0.76rem;
}


/* ==========================================================
   INVENTORY SETUP
   ========================================================== */


.posys-inventory-setup-v2b3
.posys-inventory-v2-setup-note {
    margin-bottom: 0.7rem;

    padding: 0.65rem 0.9rem;

    font-size: 0.86rem;
    line-height: 1.3;
}


.posys-inventory-setup-v2b3
.posys-inventory-v2-setup-grid {
    gap: 0.75rem;
}


.posys-inventory-setup-v2b3
.posys-inventory-v2-setup-grid
> .posys-inventory-v2-setup-card {
    height: 185px;
    min-height: 185px;

    padding: 1rem;
}


.posys-inventory-setup-v2b3
.posys-inventory-v2-setup-card h2 {
    margin-bottom: 0.35rem;

    font-size: 1.28rem;
    line-height: 1.2;
}


.posys-inventory-setup-v2b3
.posys-inventory-v2-setup-card p {
    margin-bottom: 0.45rem;

    font-size: 0.88rem;
    line-height: 1.35;
}


.posys-inventory-setup-v2b3
.posys-inventory-v2-setup-card small {
    font-size: 0.76rem;
}


.posys-inventory-setup-v2b3
.posys-inventory-v2-setup-card
.posys-actions {
    gap: 0.4rem;
}


.posys-inventory-setup-v2b3
.posys-inventory-v2-setup-card
.posys-button {
    min-height: 36px;

    padding: 0.42rem 0.85rem;

    font-size: 0.84rem;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 900px) {

    .posys-material-planning-v2b3
    .posys-inventory-v2-summary-four
    > .posys-inventory-summary-card,

    .posys-stock-history-v2b3
    .posys-inventory-v2-summary-two
    > .posys-inventory-summary-card {
        height: 78px;
        min-height: 78px;
    }


    .posys-inventory-setup-v2b3
    .posys-inventory-v2-setup-grid
    > .posys-inventory-v2-setup-card {
        height: 178px;
        min-height: 178px;
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 760px) {

    .posys-material-planning-v2b3
    .posys-page-header h1,

    .posys-stock-history-v2b3
    .posys-page-header h1,

    .posys-inventory-setup-v2b3
    .posys-page-header h1 {
        font-size: 1.65rem;
    }


    .posys-material-planning-v2b3
    .posys-inventory-v2-summary-four
    > .posys-inventory-summary-card,

    .posys-stock-history-v2b3
    .posys-inventory-v2-summary-two
    > .posys-inventory-summary-card {
        height: 72px;
        min-height: 72px;
    }


    .posys-material-planning-v2b3
    .posys-inventory-filter-card,

    .posys-stock-history-v2b3
    .posys-inventory-filter-card {
        padding: 0.75rem;
    }


    .posys-inventory-setup-v2b3
    .posys-inventory-v2-setup-grid
    > .posys-inventory-v2-setup-card {
        height: auto;
        min-height: 0;

        padding: 0.85rem;
    }

}


/* ==========================================================
   POSYS MATERIAL PLANNING KPI ROW ALIGNMENT
   Keep existing width and height.
   Remove inherited vertical card spacing only.
   ========================================================== */


.posys-material-planning-v2b3
.posys-inventory-v2-summary-four {
    align-items: stretch;
}


/*
   All four KPI cards must occupy the exact same grid row.
   !important is deliberate here because older global
   .posys-card sibling spacing must not offset cards 2-4.
*/

.posys-material-planning-v2b3
.posys-inventory-v2-summary-four
> .posys-inventory-summary-card {
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    height: 82px;
    min-height: 82px;

    align-self: stretch;
}


/* Tablet: preserve existing V2-B.3 height */

@media (max-width: 900px) {

    .posys-material-planning-v2b3
    .posys-inventory-v2-summary-four
    > .posys-inventory-summary-card {
        margin-top: 0 !important;
        margin-bottom: 0 !important;

        height: 78px;
        min-height: 78px;
    }

}


/* Mobile: preserve existing V2-B.3 height */

@media (max-width: 760px) {

    .posys-material-planning-v2b3
    .posys-inventory-v2-summary-four
    > .posys-inventory-summary-card {
        margin-top: 0 !important;
        margin-bottom: 0 !important;

        height: 72px;
        min-height: 72px;
    }

}


/* ==========================================================
   POSYS HISTORY SETUP GRID ALIGNMENT

   Preserve all existing card dimensions.
   Remove only inherited sibling vertical margins.
   ========================================================== */


/* ==========================================================
   STOCK HISTORY KPI ROW
   Total Movements + Matching
   ========================================================== */

.posys-stock-history-v2b3
.posys-inventory-v2-summary-two {
    align-items: stretch;
}


.posys-stock-history-v2b3
.posys-inventory-v2-summary-two
> .posys-inventory-summary-card {
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    align-self: stretch;
}


/*
   Preserve existing V2-B.3 dimensions.
*/

.posys-stock-history-v2b3
.posys-inventory-v2-summary-two
> .posys-inventory-summary-card {
    height: 82px;
    min-height: 82px;
}


/* ==========================================================
   INVENTORY SETUP GRID
   All four configuration cards
   ========================================================== */

.posys-inventory-setup-v2b3
.posys-inventory-v2-setup-grid {
    align-items: stretch;
}


.posys-inventory-setup-v2b3
.posys-inventory-v2-setup-grid
> .posys-inventory-v2-setup-card {
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    align-self: stretch;
}


/*
   Preserve existing V2-B.3 desktop height.
*/

.posys-inventory-setup-v2b3
.posys-inventory-v2-setup-grid
> .posys-inventory-v2-setup-card {
    height: 185px;
    min-height: 185px;
}


/*
   Keep action buttons aligned at the bottom.
*/

.posys-inventory-setup-v2b3
.posys-inventory-v2-setup-grid
> .posys-inventory-v2-setup-card
> .posys-actions {
    margin-top: auto;
}


/* ==========================================================
   TABLET
   Preserve existing dimensions
   ========================================================== */

@media (max-width: 900px) {

    .posys-stock-history-v2b3
    .posys-inventory-v2-summary-two
    > .posys-inventory-summary-card {
        margin-top: 0 !important;
        margin-bottom: 0 !important;

        height: 78px;
        min-height: 78px;
    }


    .posys-inventory-setup-v2b3
    .posys-inventory-v2-setup-grid
    > .posys-inventory-v2-setup-card {
        margin-top: 0 !important;
        margin-bottom: 0 !important;

        height: 178px;
        min-height: 178px;
    }

}


/* ==========================================================
   MOBILE
   Grid gap provides spacing, so no inherited margins needed.
   Setup cards retain natural height.
   ========================================================== */

@media (max-width: 760px) {

    .posys-stock-history-v2b3
    .posys-inventory-v2-summary-two
    > .posys-inventory-summary-card {
        margin-top: 0 !important;
        margin-bottom: 0 !important;

        height: 72px;
        min-height: 72px;
    }


    .posys-inventory-setup-v2b3
    .posys-inventory-v2-setup-grid
    > .posys-inventory-v2-setup-card {
        margin-top: 0 !important;
        margin-bottom: 0 !important;

        height: auto;
        min-height: 0;
    }

}


/* ==========================================================
   POSYS INVENTORY V2-C ITEM DETAIL SIMPLIFICATION
   ========================================================== */


.posys-inventory-item-v2c
.posys-inventory-header {
    margin-bottom: 0.75rem;
}


.posys-inventory-item-v2c
.posys-page-header h1 {
    margin-bottom: 0.15rem;

    font-size: 1.9rem;
    line-height: 1.12;
}


.posys-inventory-item-v2c
.posys-page-header p {
    margin-top: 0;
    margin-bottom: 0;
}


/* ----------------------------------------------------------
   Stock Health
   ---------------------------------------------------------- */

.posys-inventory-v2c-health {
    display: grid;

    grid-template-columns:
        repeat(
            5,
            minmax(0, 1fr)
        );

    gap: 0.65rem;

    margin-bottom: 0.7rem;

    align-items: stretch;
}


.posys-inventory-v2c-health-card {
    box-sizing: border-box;

    height: 86px;
    min-height: 86px;

    margin: 0 !important;

    padding: 0.72rem 0.9rem;

    display: flex;
    flex-direction: column;
    justify-content: center;

    gap: 0.15rem;
}


.posys-inventory-v2c-health-card span {
    color: var(--posys-text-muted, #667085);

    font-size: 0.75rem;
    font-weight: 700;

    letter-spacing: 0.03em;

    text-transform: uppercase;
}


.posys-inventory-v2c-health-card strong {
    font-size: 1.42rem;
    line-height: 1.08;
}


.posys-inventory-v2c-health-card small {
    color: var(--posys-text-muted, #667085);

    font-size: 0.74rem;
    line-height: 1.2;
}


.posys-inventory-v2c-planning-note {
    margin: -0.1rem 0 0.7rem;

    padding: 0.55rem 0.8rem;

    border: 1px solid rgba(148, 163, 184, 0.35);
    border-radius: 0.6rem;

    font-size: 0.82rem;
}


/* ----------------------------------------------------------
   Operations
   ---------------------------------------------------------- */

.posys-inventory-v2c-operations-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1.25fr)
        minmax(300px, 0.75fr);

    gap: 0.75rem;

    margin-bottom: 0.75rem;

    align-items: stretch;
}


.posys-inventory-v2c-card {
    margin: 0 !important;

    padding: 0.95rem 1rem;
}


.posys-inventory-v2c-section-heading {
    display: flex;

    align-items: flex-start;
    justify-content: space-between;

    gap: 0.8rem;

    margin-bottom: 0.7rem;
}


.posys-inventory-v2c-section-heading h2 {
    margin: 0 0 0.12rem;

    font-size: 1.22rem;
    line-height: 1.2;
}


.posys-inventory-v2c-section-heading p {
    margin: 0;

    font-size: 0.86rem;
}


.posys-inventory-v2c-actions {
    margin-top: 0.7rem;
}


.posys-inventory-v2c-movement-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 0.5rem;
}


.posys-inventory-v2c-movement-grid
.posys-button {
    min-height: 38px;

    justify-content: center;

    text-align: center;
}


.posys-inventory-v2c-help {
    display: block;

    margin-top: 0.65rem;

    line-height: 1.35;
}


/* ----------------------------------------------------------
   Item Information + Ledger
   ---------------------------------------------------------- */

.posys-inventory-v2c-detail-grid {
    display: grid;

    grid-template-columns:
        minmax(270px, 0.65fr)
        minmax(0, 1.75fr);

    gap: 0.75rem;

    margin-top: 0.75rem;
}


.posys-inventory-item-v2c
.posys-detail-list {
    row-gap: 0.42rem;
}


.posys-inventory-item-v2c
.posys-detail-list dt,
.posys-inventory-item-v2c
.posys-detail-list dd {
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
}


.posys-inventory-item-v2c
.posys-inventory-ledger-table th {
    padding: 0.52rem 0.6rem;

    font-size: 0.75rem;
}


.posys-inventory-item-v2c
.posys-inventory-ledger-table td {
    padding: 0.56rem 0.6rem;

    font-size: 0.84rem;
    line-height: 1.28;
}


.posys-inventory-item-v2c
.posys-inventory-pagination {
    margin-top: 0.65rem;
}


.posys-inventory-item-v2c
.posys-button-small {
    min-height: 32px;

    padding: 0.32rem 0.65rem;

    font-size: 0.78rem;
}


/* ----------------------------------------------------------
   Tablet
   ---------------------------------------------------------- */

@media (max-width: 1100px) {

    .posys-inventory-v2c-health {
        grid-template-columns:
            repeat(
                3,
                minmax(0, 1fr)
            );
    }


    .posys-inventory-v2c-operations-grid,
    .posys-inventory-v2c-detail-grid {
        grid-template-columns: 1fr;
    }

}


/* ----------------------------------------------------------
   Mobile
   ---------------------------------------------------------- */

@media (max-width: 760px) {

    .posys-inventory-v2c-health {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

        gap: 0.45rem;
    }


    .posys-inventory-v2c-health-card {
        height: 76px;
        min-height: 76px;

        padding: 0.6rem 0.7rem;
    }


    .posys-inventory-v2c-health-card:last-child {
        grid-column: 1 / -1;
    }


    .posys-inventory-v2c-section-heading {
        display: block;
    }


    .posys-inventory-v2c-section-heading
    > .posys-button {
        margin-top: 0.55rem;
    }


    .posys-inventory-v2c-movement-grid {
        grid-template-columns: 1fr;
    }


    .posys-inventory-v2c-card {
        padding: 0.8rem;
    }

}


/* ==========================================================
   POSYS INVENTORY V2-C.1 MATERIAL INFORMATION

   Material Information becomes a compact full-width summary.
   Stock Transaction Ledger uses the full row below it.
   ========================================================== */


/* ----------------------------------------------------------
   Material + ledger should no longer compete for width.
   ---------------------------------------------------------- */

.posys-inventory-item-v2c
.posys-inventory-v2c-detail-grid {
    grid-template-columns: 1fr;

    gap: 0.75rem;

    align-items: start;
}


/* ----------------------------------------------------------
   Material Information master grid
   ---------------------------------------------------------- */

.posys-inventory-v2c-material-card {
    min-width: 0;
}


.posys-inventory-v2c-info-grid {
    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    gap:
        0
        1rem;

    width: 100%;
}


.posys-inventory-v2c-info-item {
    min-width: 0;

    padding:
        0.7rem
        0;

    border-top:
        1px solid
        rgba(148, 163, 184, 0.28);
}


.posys-inventory-v2c-info-item:nth-child(-n+4) {
    border-top: 0;
    padding-top: 0.25rem;
}


.posys-inventory-v2c-info-item
> span:first-child {
    display: block;

    margin-bottom: 0.24rem;

    color:
        var(
            --posys-text-muted,
            #667085
        );

    font-size: 0.74rem;
    font-weight: 700;

    letter-spacing: 0.025em;

    text-transform: uppercase;
}


.posys-inventory-v2c-info-item
> strong {
    display: block;

    min-width: 0;

    font-size: 0.96rem;
    font-weight: 700;

    line-height: 1.3;

    overflow-wrap: anywhere;
    word-break: normal;
}


/*
   Material name receives more horizontal space.
*/

.posys-inventory-v2c-info-material {
    grid-column:
        span 2;
}


/*
   Notes receives extra width.
*/

.posys-inventory-v2c-info-notes {
    grid-column:
        span 2;
}


/*
   Existing status badges were designed with margin-top.
   Remove that offset inside the compact summary.
*/

.posys-inventory-v2c-info-item
.posys-inventory-status {
    margin-top: 0;

    padding:
        0.32rem
        0.55rem;
}


/* ----------------------------------------------------------
   Management footer
   ---------------------------------------------------------- */

.posys-inventory-v2c-material-footer {
    display: flex;

    align-items: center;

    gap:
        0.7rem
        1rem;

    flex-wrap: wrap;

    margin-top: 0.2rem;

    padding-top: 0.75rem;

    border-top:
        1px solid
        rgba(148, 163, 184, 0.28);
}


.posys-inventory-v2c-material-footer
.posys-inventory-warning {
    margin-top: 0;

    max-width: 520px;

    font-size: 0.8rem;
    line-height: 1.3;
}


/* ----------------------------------------------------------
   Ledger can now use full desktop width.
   ---------------------------------------------------------- */

.posys-inventory-item-v2c
.posys-inventory-v2c-detail-grid
.posys-inventory-ledger-table {
    width: 100%;
}


@media (min-width: 1101px) {

    .posys-inventory-item-v2c
    .posys-inventory-v2c-detail-grid
    .posys-inventory-ledger-table {
        min-width: 0;
    }

}


/* ----------------------------------------------------------
   Tablet
   ---------------------------------------------------------- */

@media (max-width: 1000px) {

    .posys-inventory-v2c-info-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }


    .posys-inventory-v2c-info-item:nth-child(-n+4) {
        border-top:
            1px solid
            rgba(148, 163, 184, 0.28);

        padding-top: 0.7rem;
    }


    .posys-inventory-v2c-info-item:nth-child(-n+2) {
        border-top: 0;
        padding-top: 0.25rem;
    }


    .posys-inventory-v2c-info-material,
    .posys-inventory-v2c-info-notes {
        grid-column:
            span 1;
    }

}


/* ----------------------------------------------------------
   Mobile
   ---------------------------------------------------------- */

@media (max-width: 620px) {

    .posys-inventory-v2c-info-grid {
        grid-template-columns:
            1fr;
    }


    .posys-inventory-v2c-info-item,
    .posys-inventory-v2c-info-item:nth-child(-n+4),
    .posys-inventory-v2c-info-item:nth-child(-n+2) {
        border-top:
            1px solid
            rgba(148, 163, 184, 0.28);

        padding-top:
            0.62rem;

        padding-bottom:
            0.62rem;
    }


    .posys-inventory-v2c-info-item:first-child {
        border-top: 0;

        padding-top:
            0.2rem;
    }


    .posys-inventory-v2c-material-footer {
        align-items:
            stretch;

        flex-direction:
            column;
    }


    .posys-inventory-v2c-material-footer
    .posys-button {
        width: 100%;

        justify-content:
            center;
    }

}


/* ==========================================================
   POSYS INVENTORY V2-C.2 INTEGRATED MATERIAL MANAGEMENT
   ========================================================== */

.posys-inventory-v2c2-form
.posys-inventory-form-card {
    margin-bottom: 0.75rem;
}

.posys-inventory-v2c2-section {
    padding: 1rem;
}

.posys-inventory-v2c2-package-toggle {
    margin-bottom: 0.8rem;
}

.posys-inventory-v2c2-package-fields[hidden] {
    display: none !important;
}

.posys-inventory-v2c2-example,
.posys-inventory-v2c2-mapping-note {
    margin-top: 0.75rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid rgba(148, 163, 184, 0.32);
    border-radius: 0.6rem;
    font-size: 0.82rem;
    line-height: 1.45;
}

.posys-inventory-v2c2-mapping-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.posys-inventory-v2c2-mapping-grid > div {
    min-width: 0;
    padding: 0.75rem;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 0.6rem;
}

.posys-inventory-v2c2-mapping-grid ul {
    margin: 0.45rem 0 0;
    padding-left: 1.15rem;
}

.posys-inventory-v2c2-mapping-grid p {
    margin: 0.45rem 0 0;
}

.posys-inventory-v2c2-submit {
    margin-top: 0.75rem;
}

.posys-inventory-delete-link {
    border-color: rgba(185, 28, 28, 0.35);
}

.posys-inventory-delete-button {
    border-color: #b91c1c;
}

.posys-inventory-v2c2-delete-card {
    max-width: 780px;
}

.posys-inventory-v2c2-delete-warning,
.posys-inventory-v2c2-delete-blocked {
    margin: 0.75rem 0;
    padding: 0.8rem;
    border-radius: 0.65rem;
}

.posys-inventory-v2c2-delete-warning {
    border: 1px solid rgba(180, 83, 9, 0.28);
}

.posys-inventory-v2c2-delete-blocked {
    border: 1px solid rgba(71, 84, 103, 0.28);
}

@media (max-width: 700px) {

    .posys-inventory-v2c2-mapping-grid {
        grid-template-columns: 1fr;
    }

}


/* ==========================================================
   POSYS INVENTORY V2-C.2
   PACKAGE DETAIL INLINE CHECKBOX REFINEMENT
   ========================================================== */

.posys-inventory-v2c2-checkbox-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.55rem;
    width: fit-content;
}


.posys-inventory-v2c2-checkbox-row label {
    display: inline-block;
    width: auto;
    margin: 0;
    font-weight: 700;
}


.posys-inventory-v2c2-checkbox-row input[type="checkbox"] {
    display: inline-block;
    flex: 0 0 auto;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px;
    margin: 0;
    padding: 0;
    cursor: pointer;
}


.posys-inventory-v2c2-package-toggle > small {
    display: block;
    margin-top: 0.4rem;
    max-width: 920px;
}


@media (max-width: 700px) {

    .posys-inventory-v2c2-checkbox-row {
        gap: 0.45rem;
    }

    .posys-inventory-v2c2-checkbox-row input[type="checkbox"] {
        width: 19px !important;
        height: 19px !important;
        min-width: 19px;
    }

}


/* ==========================================================
   POSYS INVENTORY V2-D PROJECT ENTRY MATERIAL PLANNING
   ========================================================== */

.posys-project-entry-planning-v2d {
    display: grid;
    gap: 14px;
}

.posys-project-entry-planning-v2d-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.posys-project-entry-planning-v2d-header h2 {
    margin: 0 0 4px;
}

.posys-project-entry-planning-v2d-header p {
    margin: 0;
}

.posys-project-entry-planning-v2d-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
}

.posys-project-entry-planning-v2d-message {
    font-size: 0.92rem;
    line-height: 1.45;
}

.posys-project-entry-planning-v2d-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
}

.posys-project-entry-planning-v2d-table th,
.posys-project-entry-planning-v2d-table td {
    padding: 10px 12px;
    text-align: left;
    vertical-align: top;
}

.posys-project-entry-planning-v2d-table td strong {
    display: block;
}

.posys-project-entry-planning-v2d-table td small {
    display: block;
    margin-top: 3px;
}

.posys-project-entry-planning-v2d-issue {
    max-width: 380px;
}

.posys-project-entry-planning-v2d-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 76px;
    min-height: 28px;
    padding: 4px 9px;
    border: 1px solid currentColor;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.035em;
    white-space: nowrap;
}

.posys-project-entry-planning-v2d[data-loading="true"] {
    opacity: 0.78;
}

.posys-project-entry-planning-v2d-advisory {
    display: block;
    line-height: 1.4;
}

@media (max-width: 700px) {

    .posys-project-entry-planning-v2d-header {
        flex-direction: column;
    }

    .posys-project-entry-planning-v2d-actions {
        width: 100%;
        justify-content: space-between;
    }

}


/* ==========================================================
   POSYS INVENTORY D5-B
   PRODUCTION ACTUAL MATERIAL USAGE
   ========================================================== */

.posys-production-material-usage {
    margin: 16px 0;
    padding: 16px;
    border: 1px solid var(--posys-border);
    border-radius: 12px;
}

.posys-production-material-usage-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.posys-production-material-usage-header h4 {
    margin: 3px 0 4px;
}

.posys-production-material-usage-header p {
    margin: 0;
    max-width: 700px;
}

.posys-production-material-status,
.posys-production-material-line-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 3px 9px;
    border: 1px solid currentColor;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.posys-production-material-status-ready,
.posys-production-material-line-status.is-ready {
    opacity: 0.9;
}

.posys-production-material-status-check,
.posys-production-material-line-status.is-check {
    font-weight: 800;
}

.posys-production-material-status-not_required {
    opacity: 0.7;
}

.posys-production-material-list {
    display: grid;
    gap: 10px;
}

.posys-production-material-row {
    display: grid;
    grid-template-columns:
        minmax(180px, 1.5fr)
        minmax(105px, 0.7fr)
        minmax(120px, 0.8fr)
        minmax(150px, 0.9fr)
        auto;
    align-items: start;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--posys-border);
    border-radius: 10px;
}

.posys-production-material-main,
.posys-production-material-value,
.posys-production-material-actual {
    display: grid;
    gap: 3px;
}

.posys-production-material-main span,
.posys-production-material-value span,
.posys-production-material-actual > span,
.posys-production-material-value small,
.posys-production-material-actual small {
    font-size: 0.78rem;
    opacity: 0.72;
}

.posys-production-material-actual input {
    width: 100%;
    min-height: 36px;
}

.posys-production-material-result {
    padding-top: 4px;
}

.posys-production-material-message {
    grid-column: 1 / -1;
    padding: 8px 10px;
    border-radius: 8px;
    font-size: 0.82rem;
}

.posys-production-material-message.is-check {
    border: 1px solid var(--posys-border);
    font-weight: 600;
}

.posys-production-material-message.is-warning {
    border: 1px dashed var(--posys-border);
}

.posys-production-material-none {
    padding: 12px;
    border: 1px dashed var(--posys-border);
    border-radius: 9px;
}

.posys-production-material-note {
    margin: 12px 0 0;
    font-size: 0.8rem;
    opacity: 0.72;
}

.posys-production-finish-button[disabled] {
    opacity: 0.55;
    cursor: not-allowed;
}

@media (max-width: 900px) {
    .posys-production-material-row {
        grid-template-columns: 1fr 1fr;
    }

    .posys-production-material-main,
    .posys-production-material-message {
        grid-column: 1 / -1;
    }
}

@media (max-width: 600px) {
    .posys-production-material-usage {
        padding: 12px;
    }

    .posys-production-material-usage-header {
        display: grid;
    }

    .posys-production-material-row {
        grid-template-columns: 1fr;
    }

    .posys-production-material-main,
    .posys-production-material-message {
        grid-column: auto;
    }
}


/* ==========================================================
   POSYS INVENTORY D5-C
   MATERIAL CONSUMPTION HISTORY
   ========================================================== */

.posys-material-history-executions {
    display: grid;
    gap: 12px;
}

.posys-material-history-execution {
    border: 1px solid var(--posys-border);
    border-radius: 10px;
    overflow: hidden;
}

.posys-material-history-execution-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--posys-border);
}

.posys-material-history-execution-header > div:first-child {
    display: grid;
    gap: 3px;
}

.posys-material-history-execution-header span,
.posys-material-history-time {
    font-size: 0.8rem;
    opacity: 0.72;
}

.posys-material-history-table-wrap {
    overflow-x: auto;
}

.posys-material-history-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 900px;
}

.posys-material-history-table th,
.posys-material-history-table td {
    padding: 9px 10px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid var(--posys-border);
}

.posys-material-history-table th {
    font-size: 0.74rem;
    white-space: nowrap;
}

.posys-material-history-table td {
    font-size: 0.82rem;
}

.posys-material-history-table td strong,
.posys-material-history-table td small {
    display: block;
}

.posys-material-history-table td small {
    margin-top: 3px;
    opacity: 0.68;
}

.posys-material-history-table tbody tr:last-child td {
    border-bottom: 0;
}

.posys-material-history-empty {
    padding: 12px 14px;
    font-size: 0.82rem;
    opacity: 0.72;
}

.posys-material-history-explanation {
    margin-top: 0;
    max-width: 820px;
}

@media (max-width: 700px) {
    .posys-material-history-execution-header {
        display: grid;
        gap: 6px;
    }
}


/* ==========================================================
   POSYS COSTING C3-B
   SIMPLE COSTING UI V1
   ========================================================== */

.posys-costing-page {
    display: grid;
    gap: 16px;
}

.posys-costing-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.posys-costing-card {
    margin: 0;
}

.posys-costing-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.posys-costing-section-heading h2 {
    margin: 0 0 4px;
}

.posys-costing-section-heading p {
    margin: 0;
}

.posys-costing-muted {
    display: block;
    margin-top: 2px;
    opacity: 0.7;
}

.posys-costing-action-cell {
    width: 70px;
    text-align: right;
}

.posys-costing-form-card {
    max-width: 720px;
}

.posys-costing-form-grid {
    display: grid;
    gap: 14px;
}

.posys-costing-form-grid input,
.posys-costing-form-grid select,
.posys-costing-form-grid textarea {
    width: 100%;
}

.posys-costing-form-actions {
    display: flex;
    gap: 10px;
    margin-top: 18px;
}

.posys-costing-form-error {
    margin-top: 5px;
}

@media (max-width: 720px) {

    .posys-costing-header,
    .posys-costing-section-heading {
        display: grid;
        grid-template-columns: 1fr;
    }

    .posys-costing-header .posys-button,
    .posys-costing-section-heading .posys-button {
        width: fit-content;
    }

    .posys-costing-form-actions {
        flex-wrap: wrap;
    }
}


/* ==========================================================
   POSYS COSTING C4
   BASIC JOB ITEM COSTING V1
   ========================================================== */

.posys-costing-summary-grid {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.posys-costing-summary-box {
    margin: 0;
    display: grid;
    gap: 4px;
}

.posys-costing-summary-box span {
    font-size: 0.82rem;
    opacity: 0.72;
}

.posys-costing-summary-box strong {
    font-size: 1.15rem;
}

.posys-costing-component-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.posys-costing-component-grid
.posys-card {
    margin: 0;
}

.posys-costing-form-grid
input[type="number"] {
    text-align: right;
}

@media (max-width: 820px) {

    .posys-costing-component-grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 640px) {

    .posys-costing-summary-grid {
        grid-template-columns: 1fr;
    }

}


/* ==========================================================
   POSYS COSTING C4.2
   PRE-JOB COST CHECK V1
   ========================================================== */

.posys-costing-header-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.posys-costing-prejob-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.25fr)
        minmax(300px, 0.75fr);
    gap: 16px;
    align-items: start;
}

.posys-costing-prejob-section {
    display: grid;
    gap: 8px;
}

.posys-costing-prejob-section h3 {
    margin: 2px 0 0;
    font-size: 0.95rem;
}

.posys-costing-prejob-row {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.posys-costing-prejob-results {
    display: grid;
    gap: 0;
    margin: 0;
}

.posys-costing-prejob-results > div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 0;
    border-bottom: 1px solid
        rgba(127, 127, 127, 0.18);
}

.posys-costing-prejob-results dt,
.posys-costing-prejob-results dd {
    margin: 0;
}

.posys-costing-prejob-results dd {
    font-weight: 600;
    text-align: right;
}

.posys-costing-prejob-total {
    margin-top: 4px;
    font-size: 1.03rem;
}

.posys-costing-prejob-reference {
    display: grid;
    gap: 3px;
    margin-bottom: 10px;
}

.posys-costing-prejob-reference span {
    font-size: 0.8rem;
    opacity: 0.7;
}

.posys-costing-prejob-notice,
.posys-costing-prejob-empty {
    margin-top: 14px;
    font-size: 0.88rem;
    opacity: 0.8;
}

@media (max-width: 900px) {

    .posys-costing-prejob-grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 620px) {

    .posys-costing-prejob-row {
        grid-template-columns: 1fr;
    }

    .posys-costing-header-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

}


/* ==========================================================
   POSYS COSTING C4.3
   MARGIN-BASED PRICING V1
   ========================================================== */

.posys-costing-pricing-box {
    display: grid;
    gap: 12px;
    padding-top: 14px;
    margin-top: 2px;
    border-top: 1px solid
        rgba(127, 127, 127, 0.18);
}

.posys-costing-pricing-box h3 {
    margin: 0;
    font-size: 0.95rem;
}

.posys-costing-prejob-price {
    font-size: 1.06rem;
}

.posys-costing-prejob-price dd {
    font-size: 1.12rem;
}


/* ==========================================================
   POSYS COSTING C4.4
   QUICK COSTING
   ========================================================== */

.posys-costing-method-box {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid
        rgba(127, 127, 127, 0.18);
    border-radius: 8px;
}

.posys-costing-method-box h3 {
    margin: 0;
    font-size: 0.95rem;
}

.posys-costing-method-box > p {
    margin: -5px 0 0;
    font-size: 0.84rem;
    opacity: 0.72;
}


/* ==========================================================
   POSYS COSTING C4.6
   MATERIAL PRICE CHECK + FULL CONTRIBUTION CHECK
   ========================================================== */

.posys-costing-material-basis-box {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid
        rgba(127, 127, 127, 0.18);
    border-radius: 8px;
}

.posys-costing-material-basis-box h3,
.posys-costing-check-heading strong {
    margin: 0;
}

.posys-costing-material-basis-box > p {
    margin: 0;
    font-size: 0.84rem;
    opacity: 0.72;
}

.posys-costing-check-heading {
    display: grid;
    gap: 2px;
    margin: 18px 0 6px;
}

.posys-costing-check-heading:first-of-type {
    margin-top: 0;
}

.posys-costing-check-heading span {
    font-size: 0.8rem;
    opacity: 0.68;
}

.posys-costing-material-total,
.posys-costing-prejob-total {
    font-weight: 700;
}


/* ==========================================================
   POSYS COSTING C4.7
   CONTRIBUTION HEALTH
   ========================================================== */

.posys-contribution-status {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    border: 1px solid currentColor;
}

.posys-contribution-status-healthy {
    opacity: 0.95;
}

.posys-contribution-status-low {
    opacity: 0.88;
}

.posys-contribution-status-loss {
    font-weight: 800;
}

.posys-contribution-status-check {
    opacity: 0.72;
}

.posys-contribution-health-message dd {
    max-width: 260px;
    font-size: 0.84rem;
    line-height: 1.4;
}


/* ==========================================================
   POSYS COSTING C4.8
   SIMPLIFIED PRE-JOB COSTING WORKFLOW
   ========================================================== */

.posys-c48-layout {
    display: grid;
    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(320px, 0.8fr);
    gap: 18px;
    align-items: start;
}

.posys-c48-input-card,
.posys-c48-result-card {
    min-width: 0;
}

.posys-c48-result-card {
    position: sticky;
    top: 18px;
}

.posys-c48-card-heading {
    margin-bottom: 14px;
}

.posys-c48-card-heading h2 {
    margin: 0;
}

.posys-c48-card-heading p {
    margin: 4px 0 0;
    font-size: 0.86rem;
    opacity: 0.72;
}

.posys-c48-section {
    display: grid;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid
        rgba(127, 127, 127, 0.16);
}

.posys-c48-section:last-of-type {
    border-bottom: 0;
}

.posys-c48-section-title {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.posys-c48-section-title > div {
    display: grid;
    gap: 2px;
}

.posys-c48-section-title small {
    opacity: 0.7;
    line-height: 1.35;
}

.posys-c48-step {
    display: inline-flex;
    width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
    flex: 0 0 24px;
    border-radius: 999px;
    border: 1px solid currentColor;
    font-size: 0.75rem;
    font-weight: 700;
}

.posys-c48-two-column {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.posys-c48-submit {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 16px;
}

.posys-c48-submit small {
    opacity: 0.7;
}

.posys-c48-primary-result {
    display: grid;
    gap: 8px;
    padding: 16px;
    margin-bottom: 14px;
    border: 1px solid
        rgba(127, 127, 127, 0.20);
    border-radius: 10px;
}

.posys-c48-price-label {
    font-size: 0.82rem;
    opacity: 0.72;
}

.posys-c48-price {
    font-size: clamp(
        1.8rem,
        4vw,
        2.6rem
    );
    line-height: 1;
    font-weight: 750;
}

.posys-c48-health-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-top: 6px;
}

.posys-c48-health-message {
    font-size: 0.84rem;
    line-height: 1.4;
    opacity: 0.78;
}

.posys-c48-summary {
    display: grid;
    margin-bottom: 14px;
}

.posys-c48-summary > div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 9px 0;
    border-bottom: 1px solid
        rgba(127, 127, 127, 0.14);
}

.posys-c48-summary > div:last-child {
    border-bottom: 0;
}

.posys-c48-summary span {
    opacity: 0.75;
}

.posys-c48-summary-highlight {
    font-weight: 700;
}

.posys-c48-summary-highlight span {
    opacity: 1;
}

.posys-c48-details {
    margin-top: 10px;
    border-top: 1px solid
        rgba(127, 127, 127, 0.16);
}

.posys-c48-details summary {
    cursor: pointer;
    padding: 12px 0;
    font-weight: 650;
}

.posys-c48-details[open] summary {
    margin-bottom: 4px;
}

.posys-c48-management {
    margin-top: 4px;
}

.posys-c48-nonpersistent {
    margin-top: 14px;
    font-size: 0.8rem;
    opacity: 0.65;
}

.posys-c48-empty {
    display: grid;
    gap: 5px;
    padding: 22px 6px;
    text-align: center;
}

.posys-c48-empty p {
    margin: 0;
    opacity: 0.7;
}

.posys-c48-method[hidden],
#posys-target-margin[hidden],
#posys-manual-price[hidden] {
    display: none !important;
}


@media (max-width: 980px) {

    .posys-c48-layout {
        grid-template-columns: 1fr;
    }

    .posys-c48-result-card {
        position: static;
    }

}


@media (max-width: 640px) {

    .posys-c48-two-column {
        grid-template-columns: 1fr;
    }

    .posys-c48-submit {
        display: grid;
    }

    .posys-c48-submit .posys-button {
        width: 100%;
    }

    .posys-c48-health-line {
        align-items: flex-start;
    }

}


/* ==========================================================
   POSYS COSTING C4.9-C
   SPECIFICATION COST PREVIEW
   ========================================================== */

.posys-c49-layout {
    display: grid;
    gap: 16px;
}

.posys-c49-help {
    margin: 4px 0 12px;
    font-size: 0.84rem;
    opacity: 0.72;
}

.posys-c49-actions {
    margin-top: 14px;
}

.posys-c49-result {
    display: grid;
    gap: 14px;
}

.posys-c49-status {
    width: fit-content;
    padding: 4px 10px;
    border: 1px solid currentColor;
    border-radius: 999px;
    font-size: 0.76rem;
    font-weight: 700;
}

.posys-c49-result-block {
    padding-top: 12px;
    border-top: 1px solid
        rgba(127, 127, 127, 0.16);
}

.posys-c49-result-block h3 {
    margin: 0 0 10px;
}

.posys-c49-result-block dl {
    display: grid;
    margin: 0;
}

.posys-c49-result-block dl > div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 7px 0;
    border-bottom: 1px solid
        rgba(127, 127, 127, 0.12);
}

.posys-c49-result-block dt {
    opacity: 0.75;
}

.posys-c49-result-block dd {
    margin: 0;
    font-weight: 650;
}

.posys-c49-rate-warning {
    padding: 10px 12px;
    border: 1px solid
        rgba(127, 127, 127, 0.22);
    border-radius: 8px;
    font-size: 0.84rem;
}

.posys-c49-nonpersistent {
    font-size: 0.8rem;
    opacity: 0.68;
}


/* ==========================================================
   POSYS COSTING C4.9-F
   INLINE MATERIAL RESOLUTION
   ========================================================== */

.posys-c49f-inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 5px;
    font-size: 0.78rem;
}

.posys-c49f-context {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.posys-c49f-context > div {
    display: grid;
    gap: 3px;
    padding: 10px 12px;
    border: 1px solid
        rgba(127, 127, 127, 0.16);
    border-radius: 8px;
}

.posys-c49f-context span {
    font-size: 0.78rem;
    opacity: 0.68;
}

.posys-c49f-notice {
    margin-bottom: 16px;
    padding: 10px 12px;
    border: 1px solid
        rgba(127, 127, 127, 0.18);
    border-radius: 8px;
    font-size: 0.84rem;
}


@media (max-width: 700px) {

    .posys-c49f-context {
        grid-template-columns: 1fr;
    }

}


/* ==========================================================
   POSYS COSTING C4.9-G
   INLINE MATERIAL COSTING SETUP
   ========================================================== */

.posys-c49g-material-summary {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 16px;
}

.posys-c49g-material-summary > div {
    display: grid;
    gap: 3px;
    padding: 10px 12px;
    border: 1px solid
        rgba(127, 127, 127, 0.16);
    border-radius: 8px;
}

.posys-c49g-material-summary span {
    font-size: 0.76rem;
    opacity: 0.68;
}

.posys-c49g-existing-rule {
    display: grid;
    gap: 5px;
    margin-bottom: 16px;
    padding: 12px;
    border: 1px solid
        rgba(127, 127, 127, 0.18);
    border-radius: 8px;
}

.posys-c49g-existing-rule small {
    opacity: 0.7;
}

.posys-c49g-section {
    display: grid;
    gap: 12px;
    padding: 16px 0;
    border-top: 1px solid
        rgba(127, 127, 127, 0.14);
}

.posys-c49g-section-title {
    display: grid;
    gap: 3px;
}

.posys-c49g-section-title small {
    opacity: 0.7;
}

.posys-c49g-two-column {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.posys-c49g-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
}

.posys-c49g-package-fields {
    display: grid;
    gap: 12px;
}

.posys-c49g-package-fields[hidden] {
    display: none !important;
}

.posys-c49g-error {
    margin-bottom: 12px;
}


@media (max-width: 760px) {

    .posys-c49g-material-summary {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .posys-c49g-two-column {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 480px) {

    .posys-c49g-material-summary {
        grid-template-columns: 1fr;
    }

}


/* ==========================================================
   INVENTORY V2-E
   LATEST MATERIAL PRICE
   ========================================================== */

.posys-v2e-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 0.8fr)
        minmax(0, 1.2fr);
    gap: 16px;
    align-items: start;
}

@media (max-width: 850px) {

    .posys-v2e-grid {
        grid-template-columns: 1fr;
    }

}


/* ==========================================================
   POSYS INVENTORY V2-F STOCK-IN PURCHASE
   ========================================================== */

.posys-stockin-purchase-price {
    margin-top: 4px;
}

.posys-stockin-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;

    margin:
        -2px 0
        16px 0;

    padding:
        10px 12px;

    border:
        1px solid
        var(--border-color, #ddd);

    border-radius: 8px;
}

.posys-stockin-total span {
    font-size: 0.84rem;
}

.posys-stockin-total strong {
    font-size: 0.95rem;
}


/* ==========================================================
   COSTING C4.9-H2C
   QUICK / DETAILED METHOD SEPARATION
   ========================================================== */

.posys-c49-method-result {
    margin-top: 18px;
}

.posys-c49-method-heading {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-bottom: 12px;
}

.posys-c49-method-heading strong {
    font-size: 15px;
}

.posys-c49-method-heading small {
    opacity: 0.72;
}

.posys-c49-formula-note {
    margin-bottom: 14px;
    padding: 10px 12px;
    border: 1px solid var(--posys-border, #d9dde5);
    border-radius: 8px;
    font-size: 12px;
    line-height: 1.5;
}

.posys-c49-method-exclusion,
.posys-c49-quick-note {
    margin-top: 12px;
    font-size: 12px;
    line-height: 1.5;
    opacity: 0.76;
}



/* ==========================================================
   C4.9-H2C-R3 QUICK INPUT NOTE
   ========================================================== */

.posys-c49-quick-input-note {
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid var(--posys-border, #d9dde5);
    border-radius: 8px;
    font-size: 12px;
    line-height: 1.5;
    opacity: 0.82;
}



/* ==========================================================
   POSYS COST SETUP COMPACT UI V2
   2026-08-18

   Scope:
   - Cost Setup page only
   - Two-column management layout
   - Combined visual Machine Costing workspace
   ========================================================== */


.posys-cost-setup-v2 {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}


.posys-cost-setup-v2 > .posys-costing-header {
    grid-column: 1 / -1;
    margin: 0;
    padding: 24px 26px;
    border: 1px solid #dbe5ef;
    border-radius: 16px;
    background: #ffffff;
    box-shadow:
        0 8px 24px rgba(15, 43, 68, 0.055);
}


.posys-cost-setup-v2
> .posys-costing-header
h1 {
    margin-bottom: 6px;
}


.posys-cost-setup-v2
> .posys-costing-header
p {
    max-width: 680px;
    margin-bottom: 0;
    color: #66788a;
}


.posys-cost-setup-v2
> .posys-costing-card {
    margin: 0;
    min-width: 0;
    padding: 21px 23px;
    border: 1px solid #dbe5ef;
    border-radius: 16px;
    background: #ffffff;
    box-shadow:
        0 7px 22px rgba(15, 43, 68, 0.045);
}


.posys-cost-setup-v2
.posys-costing-section-heading {
    gap: 16px;
    margin-bottom: 16px;
    align-items: flex-start;
}


.posys-cost-setup-v2
.posys-costing-section-heading h2,
.posys-cost-setup-v2
.posys-machine-suite-header h2 {
    margin: 0;
    color: #102d48;
    font-size: 1.08rem;
    line-height: 1.3;
}


.posys-cost-setup-v2
.posys-costing-section-heading p,
.posys-cost-setup-v2
.posys-machine-suite-header p {
    margin:
        6px
        0
        0;
    color: #6b7d8f;
    font-size: 0.9rem;
    line-height: 1.5;
}


.posys-costing-card-kicker {
    margin-bottom: 5px;
    color: #1976b8;
    font-size: 0.69rem;
    font-weight: 800;
    letter-spacing: 0.075em;
    text-transform: uppercase;
}


.posys-costing-legacy-label {
    display: inline-block;
    margin-top: 4px;
    color: #8a99a8;
    font-size: 0.72rem;
}


/* ----------------------------------------------------------
   Tables
   ---------------------------------------------------------- */


.posys-cost-setup-v2
.posys-table-wrap {
    border: 1px solid #e0e8f0;
    border-radius: 11px;
    overflow: hidden;
}


.posys-cost-setup-v2
.posys-table {
    margin: 0;
    font-size: 0.84rem;
}


.posys-cost-setup-v2
.posys-table thead th {
    padding: 10px 12px;
    border-bottom: 1px solid #d8e2eb;
    background: #edf3f7;
    color: #203c56;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.015em;
}


.posys-cost-setup-v2
.posys-table tbody td {
    padding: 10px 12px;
    vertical-align: middle;
}


.posys-cost-setup-v2
.posys-table tbody tr:last-child td {
    border-bottom: 0;
}


/* ----------------------------------------------------------
   Buttons
   ---------------------------------------------------------- */


.posys-cost-setup-v2
.posys-button {
    min-height: 38px;
    border-radius: 9px;
}


.posys-cost-setup-v2
.posys-button-small {
    min-height: 34px;
    padding:
        7px
        12px;
    font-size: 0.78rem;
}


/* ==========================================================
   MACHINE COSTING
   ========================================================== */


.posys-cost-setup-v2
.posys-machine-costing-suite {
    grid-column: 1 / -1;
    padding: 22px;
    border-color: #cfdeeb;
}


.posys-machine-suite-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
    margin-bottom: 17px;
}


.posys-machine-suite-header h2 {
    font-size: 1.22rem;
}


.posys-machine-suite-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px;
}


.posys-machine-suite-badges span {
    padding:
        6px
        9px;
    border: 1px solid #d4e2ee;
    border-radius: 999px;
    background: #f6f9fc;
    color: #4b647b;
    font-size: 0.72rem;
    font-weight: 700;
}


.posys-machine-costing-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.12fr)
        minmax(0, 0.88fr);
    gap: 15px;
}


.posys-machine-cost-panel {
    min-width: 0;
    padding: 18px;
    border: 1px solid #dde6ee;
    border-radius: 13px;
    background: #fbfcfd;
}


.posys-machine-cost-panel
.posys-costing-section-heading {
    margin-bottom: 14px;
}


.posys-machine-cost-panel
.posys-costing-section-heading
> div:first-child {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}


.posys-machine-panel-icon {
    display: inline-flex;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    align-items: center;
    justify-content: center;
    border: 1px solid #c9dceb;
    border-radius: 9px;
    background: #eef6fb;
    color: #0c6fae;
    font-size: 0.75rem;
    font-weight: 900;
}


.posys-machine-costing-note {
    margin-top: 15px;
    padding:
        10px
        12px;
    border: 1px solid #d5e5f2;
    border-radius: 10px;
    background: #f3f8fc;
    color: #526b81;
    font-size: 0.78rem;
    line-height: 1.5;
}


.posys-machine-costing-note strong {
    color: #1f4d72;
}


/* ----------------------------------------------------------
   Reduce excessive white space in empty cards.
   ---------------------------------------------------------- */


.posys-cost-setup-v2
.posys-costing-card
.posys-table-wrap
+ p {
    margin-top: 12px;
}


.posys-cost-setup-v2
.posys-costing-card
> :last-child {
    margin-bottom: 0;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */


@media (
    max-width: 1120px
) {

    .posys-cost-setup-v2 {
        grid-template-columns: 1fr;
    }


    .posys-cost-setup-v2
    > .posys-costing-header,
    .posys-cost-setup-v2
    > .posys-machine-costing-suite {
        grid-column: 1;
    }


    .posys-machine-costing-grid {
        grid-template-columns: 1fr;
    }

}


@media (
    max-width: 720px
) {

    .posys-cost-setup-v2 {
        gap: 13px;
    }


    .posys-cost-setup-v2
    > .posys-costing-header,
    .posys-cost-setup-v2
    > .posys-costing-card {
        padding: 17px;
        border-radius: 13px;
    }


    .posys-machine-suite-header {
        flex-direction: column;
        gap: 10px;
    }


    .posys-machine-suite-badges {
        justify-content: flex-start;
    }


    .posys-machine-cost-panel {
        padding: 14px;
    }


    .posys-cost-setup-v2
    .posys-costing-section-heading {
        flex-direction: column;
        gap: 10px;
    }


    .posys-cost-setup-v2
    .posys-costing-section-heading
    .posys-button {
        width: 100%;
        justify-content: center;
    }

}



/* ==========================================================
   POSYS COSTING UX V3-R1
   SIMPLE COST SETUP
   2026-08-18

   Existing Django template structure is preserved.
   Visual order only.
   ========================================================== */


/* ----------------------------------------------------------
   Compatibility text
   ---------------------------------------------------------- */

.posys-costing-v3-legacy {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}


/* ----------------------------------------------------------
   Remove duplicated top-level advanced-library shortcut.
   Advanced screens remain accessible from their functional
   setup areas.
   ---------------------------------------------------------- */

.posys-costing-ux-v3-r1
[data-posys-cost-input-library-entry] {
    display: none;
}


/* ----------------------------------------------------------
   SIMPLE VISUAL ORDER
   ---------------------------------------------------------- */

.posys-costing-ux-v3-r1
.posys-costing-header {
    order: 0;
}


.posys-costing-ux-v3-r1
.posys-v3-materials {
    order: 10;
}


.posys-costing-ux-v3-r1
.posys-v3-addons {
    order: 20;
}


.posys-costing-ux-v3-r1
.posys-v3-machine {
    order: 30;
    grid-column: 1 / -1;
}


.posys-costing-ux-v3-r1
.posys-v3-pricing {
    order: 40;
    grid-column: 1 / -1;
}


.posys-costing-ux-v3-r1
.posys-v3-advanced {
    order: 50;
    grid-column: 1 / -1;
}


/* Labour remains in backend but is intentionally hidden
   from the normal Cost Setup workflow for now. */

.posys-costing-ux-v3-r1
.posys-v3-labour {
    display: none;
}


/* ----------------------------------------------------------
   MATERIALS + ADD-ONS
   ---------------------------------------------------------- */

.posys-costing-ux-v3-r1
.posys-v3-materials,
.posys-costing-ux-v3-r1
.posys-v3-addons {
    min-height: 100%;
}


.posys-costing-ux-v3-r1
.posys-v3-addons {
    padding: 21px 23px;
    border: 1px solid #dbe5ef;
    border-radius: 16px;
    background: #ffffff;
    box-shadow:
        0 4px 14px rgba(15, 43, 68, 0.035);
}


.posys-costing-v3-info {
    margin-top: 14px;
    padding: 11px 13px;
    border: 1px solid #dce7ef;
    border-radius: 9px;
    background: #f7fafc;
    color: #647789;
    font-size: 0.82rem;
    line-height: 1.5;
}


/* ----------------------------------------------------------
   SELLING PRICE RULES
   ---------------------------------------------------------- */

.posys-costing-ux-v3-r1
.posys-v3-pricing {
    border-left:
        3px solid #5b91b8;
}


/* ----------------------------------------------------------
   ADVANCED SETTINGS
   ---------------------------------------------------------- */

.posys-costing-ux-v3-r1
.posys-v3-advanced {
    border-style: dashed;
    background: #f8fafc;
    box-shadow: none;
}


.posys-costing-ux-v3-r1
.posys-v3-advanced
.posys-costing-card-kicker {
    color: #708397;
}


/* ----------------------------------------------------------
   ADVANCED LIBRARY
   ---------------------------------------------------------- */

.posys-costing-v3-library-note {
    max-width: 720px;
    margin:
        8px
        0
        18px;
    color: #697d8e;
    line-height: 1.55;
}


/* ----------------------------------------------------------
   Reduce visual noise
   ---------------------------------------------------------- */

.posys-costing-ux-v3-r1
.posys-costing-card {
    box-shadow:
        0 4px 14px rgba(15, 43, 68, 0.035);
}


.posys-costing-ux-v3-r1
.posys-costing-card h2 {
    color: #15334d;
}


.posys-costing-ux-v3-r1
.posys-machine-costing-suite {
    border-color: #cfdeeb;
}


/* ----------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------- */

@media (
    max-width: 1120px
) {

    .posys-costing-ux-v3-r1
    .posys-v3-machine,
    .posys-costing-ux-v3-r1
    .posys-v3-pricing,
    .posys-costing-ux-v3-r1
    .posys-v3-advanced {
        grid-column: 1;
    }

}


@media (
    max-width: 720px
) {

    .posys-costing-ux-v3-r1
    .posys-v3-addons
    .posys-button {
        width: 100%;
        justify-content: center;
    }

}



/* ==========================================================
   POSYS COSTING UX V3-R2
   LIVE VISUAL REFINEMENT
   2026-08-18
   ========================================================== */


/* ----------------------------------------------------------
   Remove redundant old shortcut above Cost Setup.
   It sits OUTSIDE the V3 grid, therefore the previous
   descendant selector did not hide it.
   ---------------------------------------------------------- */

[data-posys-cost-input-library-entry] {
    display: none !important;
}


/* ----------------------------------------------------------
   Main page density
   ---------------------------------------------------------- */

.posys-costing-ux-v3-r1 {
    gap: 14px;
}


.posys-costing-ux-v3-r1
.posys-costing-header {
    padding: 20px 24px;
}


.posys-costing-ux-v3-r1
.posys-costing-header h1 {
    margin-bottom: 5px;
}


.posys-costing-ux-v3-r1
.posys-costing-header p {
    max-width: 760px;
}


/* ----------------------------------------------------------
   MATERIALS + ADD-ONS
   ---------------------------------------------------------- */

.posys-costing-ux-v3-r1
.posys-v3-materials,
.posys-costing-ux-v3-r1
.posys-v3-addons {
    align-self: stretch;
}


.posys-costing-ux-v3-r1
.posys-v3-materials h2,
.posys-costing-ux-v3-r1
.posys-v3-addons h2 {
    font-size: 1.04rem;
}


/* Manual material rate is a fallback, not the primary action. */

.posys-costing-ux-v3-r1
.posys-v3-materials
a[href*="/costing/setup/material/new/"] {
    border: 1px solid #cbd9e4;
    background: #ffffff;
    color: #35566f;
    box-shadow: none;
}


.posys-costing-ux-v3-r1
.posys-v3-materials
a[href*="/costing/setup/material/new/"]:hover {
    background: #f5f8fa;
}


/* ----------------------------------------------------------
   MACHINE COSTING
   ---------------------------------------------------------- */

.posys-costing-ux-v3-r1
.posys-machine-costing-suite {
    padding: 19px 20px;
}


.posys-costing-ux-v3-r1
.posys-machine-suite-header {
    margin-bottom: 13px;
}


/* Badges repeat information already visible in both panels. */

.posys-costing-ux-v3-r1
.posys-machine-suite-badges {
    display: none;
}


/* Left side contains the rate table.
   Right side is intentionally more compact. */

.posys-costing-ux-v3-r1
.posys-machine-costing-grid {
    grid-template-columns:
        minmax(0, 1.3fr)
        minmax(300px, 0.7fr);

    align-items: start;
    gap: 14px;
}


.posys-costing-ux-v3-r1
.posys-machine-cost-panel {
    padding: 15px 17px;
}


.posys-costing-ux-v3-r1
.posys-machine-consumable-panel {
    align-self: start;
    min-height: 0;
}


.posys-costing-ux-v3-r1
.posys-machine-cost-panel
.posys-costing-section-heading {
    margin-bottom: 11px;
}


.posys-costing-ux-v3-r1
.posys-machine-cost-panel h2 {
    font-size: 1rem;
}


/* Dense machine table */

.posys-costing-ux-v3-r1
.posys-machine-rate-panel
.posys-table thead th {
    padding: 8px 10px;
}


.posys-costing-ux-v3-r1
.posys-machine-rate-panel
.posys-table tbody td {
    padding: 8px 10px;
}


/* ----------------------------------------------------------
   SELLING PRICE / ADVANCED
   ---------------------------------------------------------- */

.posys-costing-ux-v3-r1
.posys-v3-pricing,
.posys-costing-ux-v3-r1
.posys-v3-advanced {
    padding-top: 18px;
    padding-bottom: 18px;
}


/* ----------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------- */

@media (
    max-width: 1120px
) {

    .posys-costing-ux-v3-r1
    .posys-machine-costing-grid {
        grid-template-columns: 1fr;
    }

}


@media (
    max-width: 720px
) {

    .posys-costing-ux-v3-r1
    .posys-costing-header {
        padding: 17px;
    }


    .posys-costing-ux-v3-r1
    .posys-machine-costing-suite {
        padding: 15px;
    }

}



/* ==========================================================
   POSYS COSTING UX V3-R3 ALIGNMENT
   2026-08-18
   ========================================================== */


/* ----------------------------------------------------------
   TOP ROW
   Materials + Add-ons must align exactly.
   ---------------------------------------------------------- */

.posys-costing-ux-v3-r1 {
    align-items: stretch;
}


.posys-costing-ux-v3-r1
.posys-v3-materials,
.posys-costing-ux-v3-r1
.posys-v3-addons {
    height: 100%;
    min-height: 250px;
    align-self: stretch;
    box-sizing: border-box;
}


/* Keep heading/action area consistent between both cards. */

.posys-costing-ux-v3-r1
.posys-v3-materials
.posys-costing-section-heading,
.posys-costing-ux-v3-r1
.posys-v3-addons
.posys-costing-section-heading {
    min-height: 106px;
    align-items: flex-start;
}


/* ----------------------------------------------------------
   MATERIAL MANUAL RATE BUTTON
   ---------------------------------------------------------- */

.posys-costing-ux-v3-r1
.posys-v3-materials
a[href*="/costing/setup/material/new/"] {
    min-width: 92px;
    min-height: 40px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 8px 12px;

    background: #ffffff !important;
    border: 1px solid #cad8e3 !important;

    color: #31536d !important;
    -webkit-text-fill-color: #31536d !important;

    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.1;

    white-space: nowrap;

    box-shadow: none !important;
}


.posys-costing-ux-v3-r1
.posys-v3-materials
a[href*="/costing/setup/material/new/"] * {
    color: #31536d !important;
    -webkit-text-fill-color: #31536d !important;
}


/* ----------------------------------------------------------
   MACHINE COSTING
   ---------------------------------------------------------- */

/*
   Equal-height machine panels.
   Previously align-items:start intentionally prevented the
   consumables panel from stretching. For visual alignment,
   restore stretch but keep the internal content compact.
*/

.posys-costing-ux-v3-r1
.posys-machine-costing-grid {
    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(340px, 0.85fr);

    align-items: stretch;
}


.posys-costing-ux-v3-r1
.posys-machine-cost-panel {
    height: 100%;
    min-height: 100%;

    display: flex;
    flex-direction: column;

    box-sizing: border-box;
}


.posys-costing-ux-v3-r1
.posys-machine-consumable-panel {
    align-self: stretch;
    height: 100%;
}


/* ----------------------------------------------------------
   MACHINE PANEL HEADER ALIGNMENT
   ---------------------------------------------------------- */

.posys-costing-ux-v3-r1
.posys-machine-cost-panel
.posys-costing-section-heading {
    min-height: 72px;

    display: flex;
    align-items: flex-start;
    gap: 12px;
}


/* Give descriptive copy a useful width instead of creating
   a very narrow vertical text column. */

.posys-costing-ux-v3-r1
.posys-machine-consumable-panel
.posys-costing-section-heading > div {
    min-width: 0;
}


.posys-costing-ux-v3-r1
.posys-machine-consumable-panel p {
    max-width: none;
    line-height: 1.45;
}


/* ----------------------------------------------------------
   MACHINE CONSUMABLE PANEL
   Keep empty remainder visually calm.
   ---------------------------------------------------------- */

.posys-costing-ux-v3-r1
.posys-machine-consumable-panel {
    justify-content: flex-start;
}


/* ----------------------------------------------------------
   TABLE ALIGNMENT
   ---------------------------------------------------------- */

.posys-costing-ux-v3-r1
.posys-machine-rate-panel
.posys-table {
    width: 100%;
    table-layout: auto;
}


.posys-costing-ux-v3-r1
.posys-machine-rate-panel
.posys-table th,
.posys-costing-ux-v3-r1
.posys-machine-rate-panel
.posys-table td {
    vertical-align: middle;
}


/* ----------------------------------------------------------
   COMMON CARD EDGES
   ---------------------------------------------------------- */

.posys-costing-ux-v3-r1
.posys-v3-materials,
.posys-costing-ux-v3-r1
.posys-v3-addons,
.posys-costing-ux-v3-r1
.posys-machine-costing-suite {
    border-radius: 15px;
}


/* ----------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------- */

@media (
    max-width: 1120px
) {

    .posys-costing-ux-v3-r1
    .posys-v3-materials,
    .posys-costing-ux-v3-r1
    .posys-v3-addons {
        min-height: 0;
    }


    .posys-costing-ux-v3-r1
    .posys-machine-costing-grid {
        grid-template-columns: 1fr;
    }


    .posys-costing-ux-v3-r1
    .posys-machine-cost-panel {
        height: auto;
        min-height: 0;
    }

}


@media (
    max-width: 720px
) {

    .posys-costing-ux-v3-r1
    .posys-v3-materials
    .posys-costing-section-heading,
    .posys-costing-ux-v3-r1
    .posys-v3-addons
    .posys-costing-section-heading,
    .posys-costing-ux-v3-r1
    .posys-machine-cost-panel
    .posys-costing-section-heading {
        min-height: 0;
    }


    .posys-costing-ux-v3-r1
    .posys-v3-materials
    a[href*="/costing/setup/material/new/"] {
        width: 100%;
    }

}



/* ==========================================================
   POSYS COSTING UX V3-R4 TOP ROW ALIGNMENT
   2026-08-18

   Explicit grid layout removes the vertical offset between
   Materials and Add-ons & Finishing.
   ========================================================== */


/* ----------------------------------------------------------
   DESKTOP COST SETUP GRID
   ---------------------------------------------------------- */

.posys-costing-ux-v3-r1 {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    grid-template-areas:
        "header    header"
        "materials addons"
        "machine   machine"
        "pricing   pricing"
        "advanced  advanced";

    column-gap: 14px;
    row-gap: 14px;

    align-items: stretch;
}


/* ----------------------------------------------------------
   EXPLICIT GRID AREAS
   ---------------------------------------------------------- */

.posys-costing-ux-v3-r1
.posys-costing-header {
    grid-area: header;
}


.posys-costing-ux-v3-r1
.posys-v3-materials {
    grid-area: materials;
}


.posys-costing-ux-v3-r1
.posys-v3-addons {
    grid-area: addons;
}


.posys-costing-ux-v3-r1
.posys-v3-machine {
    grid-area: machine;
}


.posys-costing-ux-v3-r1
.posys-v3-pricing {
    grid-area: pricing;
}


.posys-costing-ux-v3-r1
.posys-v3-advanced {
    grid-area: advanced;
}


/* Labour remains hidden from normal Cost Setup. */

.posys-costing-ux-v3-r1
.posys-v3-labour {
    display: none !important;
}


/* ----------------------------------------------------------
   MATERIALS + ADD-ONS
   EXACT SAME GRID ROW
   ---------------------------------------------------------- */

.posys-costing-ux-v3-r1
.posys-v3-materials,
.posys-costing-ux-v3-r1
.posys-v3-addons {
    align-self: stretch !important;

    width: auto !important;
    height: auto !important;

    min-width: 0 !important;
    min-height: 0 !important;

    margin:
        0
        !important;

    box-sizing: border-box;
}


/* Both cards use the same internal vertical structure. */

.posys-costing-ux-v3-r1
.posys-v3-materials,
.posys-costing-ux-v3-r1
.posys-v3-addons {
    display: flex;
    flex-direction: column;
}


/* Remove previous forced heading heights that were producing
   different visible offsets. */

.posys-costing-ux-v3-r1
.posys-v3-materials
.posys-costing-section-heading,
.posys-costing-ux-v3-r1
.posys-v3-addons
.posys-costing-section-heading {
    min-height: 0 !important;

    margin-top: 0 !important;

    align-items: flex-start;
}


/* ----------------------------------------------------------
   TOP EDGE CONSISTENCY
   ---------------------------------------------------------- */

.posys-costing-ux-v3-r1
.posys-v3-materials,
.posys-costing-ux-v3-r1
.posys-v3-addons {
    padding:
        20px
        22px
        !important;

    border-radius:
        15px
        !important;
}


/* Kicker positioning */

.posys-costing-ux-v3-r1
.posys-v3-materials
.posys-costing-card-kicker,
.posys-costing-ux-v3-r1
.posys-v3-addons
.posys-costing-card-kicker {
    margin:
        0
        0
        4px
        0
        !important;
}


/* Heading positioning */

.posys-costing-ux-v3-r1
.posys-v3-materials h2,
.posys-costing-ux-v3-r1
.posys-v3-addons h2 {
    margin-top:
        0
        !important;

    margin-bottom:
        5px
        !important;
}


/* ----------------------------------------------------------
   BOTTOM CONTENT
   ---------------------------------------------------------- */

/* Keep the table/info areas inside equal-height cards without
   creating arbitrary blank vertical offsets. */

.posys-costing-ux-v3-r1
.posys-v3-materials
.posys-table-container,
.posys-costing-ux-v3-r1
.posys-v3-materials
.posys-table-wrap {
    margin-top:
        14px;
}


.posys-costing-ux-v3-r1
.posys-v3-addons
.posys-costing-v3-info {
    margin-top:
        14px;
}


/* ----------------------------------------------------------
   BUTTON ALIGNMENT
   ---------------------------------------------------------- */

.posys-costing-ux-v3-r1
.posys-v3-materials
.posys-costing-section-heading
> .posys-button,
.posys-costing-ux-v3-r1
.posys-v3-addons
.posys-costing-section-heading
> .posys-button {
    margin-top:
        0
        !important;

    align-self:
        flex-start;
}


/* ----------------------------------------------------------
   MACHINE / FOLLOWING ROWS
   ---------------------------------------------------------- */

.posys-costing-ux-v3-r1
.posys-v3-machine,
.posys-costing-ux-v3-r1
.posys-v3-pricing,
.posys-costing-ux-v3-r1
.posys-v3-advanced {
    width:
        auto
        !important;

    margin:
        0
        !important;
}


/* ----------------------------------------------------------
   TABLET / MOBILE
   ---------------------------------------------------------- */

@media (
    max-width: 1120px
) {

    .posys-costing-ux-v3-r1 {
        grid-template-columns:
            1fr;

        grid-template-areas:
            "header"
            "materials"
            "addons"
            "machine"
            "pricing"
            "advanced";
    }


    .posys-costing-ux-v3-r1
    .posys-v3-materials,
    .posys-costing-ux-v3-r1
    .posys-v3-addons {
        height:
            auto
            !important;
    }

}


@media (
    max-width: 720px
) {

    .posys-costing-ux-v3-r1
    .posys-v3-materials,
    .posys-costing-ux-v3-r1
    .posys-v3-addons {
        padding:
            16px
            !important;
    }


    .posys-costing-ux-v3-r1
    .posys-v3-materials
    .posys-costing-section-heading,
    .posys-costing-ux-v3-r1
    .posys-v3-addons
    .posys-costing-section-heading {
        display:
            flex;

        flex-direction:
            column;

        gap:
            10px;
    }


    .posys-costing-ux-v3-r1
    .posys-v3-materials
    .posys-button,
    .posys-costing-ux-v3-r1
    .posys-v3-addons
    .posys-button {
        width:
            100%;
    }

}

/* =====================================================================
   PRODUCTION EXECUTION - COMPLETION FIRST ROW
   ===================================================================== */

.posys-production-completion-row,
.posys-production-process-row {
    width: 100%;
    min-width: 0;
}

.posys-production-completion-row {
    margin-top: 1rem;
}

.posys-production-process-row {
    margin-top: 1rem;
}

.posys-production-completion-row
.posys-production-next-card-finish,
.posys-production-process-row
.posys-production-next-card-continue {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}


/* Completion is the primary first row. */

.posys-production-completion-row
.posys-production-next-card-finish {
    display: grid;
    grid-template-columns:
        minmax(190px, 0.8fr)
        minmax(220px, 0.8fr)
        minmax(220px, 0.9fr);
    grid-template-areas:
        "header summary destination"
        "form   form    form";
    gap: 1rem 1.25rem;
    align-items: start;
}

.posys-production-completion-row
.posys-production-next-card-header {
    grid-area: header;
    min-width: 0;
}

.posys-production-completion-row
.posys-production-finish-summary {
    grid-area: summary;
    min-width: 0;
}

.posys-production-completion-row
.posys-production-finish-destination {
    grid-area: destination;
    min-width: 0;
}

.posys-production-completion-row
.posys-production-finish-form {
    grid-area: form;

    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(220px, 300px);
    grid-template-areas:
        "material remarks"
        "material action";
    gap: 1rem 1.25rem;

    min-width: 0;
}

.posys-production-completion-row
.posys-production-material-usage {
    grid-area: material;
    min-width: 0;
}

.posys-production-completion-row
.posys-production-finish-form
> .posys-production-next-remarks {
    grid-area: remarks;
    min-width: 0;
}

.posys-production-completion-row
.posys-production-finish-button {
    grid-area: action;
    justify-self: stretch;
    align-self: end;
    width: 100%;
}


/* Material use stays compact now that it has full page width. */

.posys-production-completion-row
.posys-production-material-list {
    min-width: 0;
}

.posys-production-completion-row
.posys-production-material-row {
    display: grid;
    grid-template-columns:
        minmax(180px, 2fr)
        minmax(90px, 0.7fr)
        minmax(90px, 0.7fr)
        minmax(130px, 1fr)
        auto;
    gap: 0.75rem;
    align-items: end;
    min-width: 0;
}

.posys-production-completion-row
.posys-production-material-row > * {
    min-width: 0;
}

.posys-production-completion-row
.posys-production-material-main span {
    overflow-wrap: anywhere;
}

.posys-production-completion-row
.posys-production-material-actual input {
    box-sizing: border-box;
    width: 100%;
    max-width: 160px;
}

.posys-production-completion-row
.posys-production-material-message {
    grid-column: 1 / -1;
}


/* The lower process form also owns the full available width. */

.posys-production-process-row
.posys-production-next-process-form,
.posys-production-process-row
.posys-production-next-process-grid {
    min-width: 0;
}


@media (max-width: 1100px) {

    .posys-production-completion-row
    .posys-production-next-card-finish {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr);
        grid-template-areas:
            "header      destination"
            "summary     summary"
            "form        form";
    }

    .posys-production-completion-row
    .posys-production-finish-form {
        grid-template-columns: 1fr;
        grid-template-areas:
            "material"
            "remarks"
            "action";
    }

    .posys-production-completion-row
    .posys-production-finish-button {
        justify-self: start;
        width: auto;
        min-width: 220px;
    }

}


@media (max-width: 760px) {

    .posys-production-completion-row
    .posys-production-next-card-finish {
        grid-template-columns: 1fr;
        grid-template-areas:
            "header"
            "summary"
            "destination"
            "form";
    }

    .posys-production-completion-row
    .posys-production-material-row {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr);
    }

    .posys-production-completion-row
    .posys-production-material-main,
    .posys-production-completion-row
    .posys-production-material-message {
        grid-column: 1 / -1;
    }

    .posys-production-completion-row
    .posys-production-material-actual input {
        max-width: none;
    }

    .posys-production-completion-row
    .posys-production-finish-button {
        width: 100%;
        min-width: 0;
    }

}



/* ============================================================
   POSYS DASHBOARD CURRENT ITEMS V1
   ============================================================ */

.posys-dashboard-current-items-v1 {
    margin-bottom: 28px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #dce5eb;
    border-radius: 16px;
    box-shadow: 0 8px 26px rgba(15, 42, 61, 0.045);
}

.posys-dashboard-current-items-v1-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 58px;
    padding: 14px 18px;
    border-bottom: 1px solid #e4ebef;
    background: #f8fafb;
}

.posys-dashboard-current-items-v1-toolbar p {
    margin: 0;
    color: #647585;
    font-size: 0.84rem;
    line-height: 1.45;
}

.posys-dashboard-current-items-v1-all {
    flex: 0 0 auto;
    color: #087da2;
    font-size: 0.8rem;
    font-weight: 800;
    text-decoration: none;
}

.posys-dashboard-current-items-v1-all:hover {
    text-decoration: underline;
}

.posys-dashboard-current-items-v1-header,
.posys-dashboard-current-items-v1-row {
    display: grid;
    grid-template-columns:
        minmax(190px, 1.55fr)
        minmax(125px, 0.95fr)
        minmax(150px, 1.25fr)
        minmax(125px, 1fr)
        minmax(120px, 0.95fr)
        minmax(150px, 1.25fr)
        minmax(72px, 0.55fr);
    gap: 14px;
    align-items: center;
}

.posys-dashboard-current-items-v1-header {
    min-height: 42px;
    padding: 0 18px;
    background: #f2f6f8;
    border-bottom: 1px solid #dfe7ec;
    color: #667889;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.075em;
    text-transform: uppercase;
}

.posys-dashboard-current-items-v1-row {
    position: relative;
    min-height: 72px;
    padding: 13px 18px;
    color: #172c3d;
    text-decoration: none;
    border-bottom: 1px solid #e7edf1;
    transition:
        background-color 120ms ease,
        box-shadow 120ms ease;
}

.posys-dashboard-current-items-v1-row:last-child {
    border-bottom: 0;
}

.posys-dashboard-current-items-v1-row:hover {
    background: #f8fbfc;
}

.posys-dashboard-current-items-v1-row:focus-visible {
    outline: 3px solid rgba(0, 168, 213, 0.24);
    outline-offset: -3px;
}

.posys-dashboard-current-items-v1-row.is-overdue {
    box-shadow: inset 3px 0 0 #e31d2b;
}

.posys-dashboard-current-items-v1-row.is-today {
    box-shadow: inset 3px 0 0 #d9a400;
}

.posys-dashboard-current-items-v1-cell {
    min-width: 0;
    color: #415565;
    font-size: 0.79rem;
    line-height: 1.35;
}

.posys-dashboard-current-items-v1-cell::before {
    display: none;
}

.posys-dashboard-current-items-v1-cell strong {
    color: #132b3d;
    font-weight: 750;
}

.posys-dashboard-current-items-v1-reference {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.posys-dashboard-current-items-v1-reference strong {
    overflow: hidden;
    text-overflow: ellipsis;
    color: #0c5f7c;
    font-size: 0.8rem;
    white-space: nowrap;
}

.posys-dashboard-current-items-v1-reference small {
    color: #82909b;
    font-size: 0.7rem;
}

.posys-dashboard-current-items-v1-stage,
.posys-dashboard-current-items-v1-status {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    min-height: 25px;
    padding: 4px 9px;
    border-radius: 999px;
    background: #edf2f5;
    color: #435766;
    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1.2;
}

.posys-dashboard-current-items-v1-stage.is-stage-qc {
    background: #e5f7fc;
    color: #087da2;
}

.posys-dashboard-current-items-v1-stage.is-stage-production {
    background: #e8f5fb;
    color: #08779a;
}

.posys-dashboard-current-items-v1-stage.is-stage-ready {
    background: #eef7f3;
    color: #287253;
}

.posys-dashboard-current-items-v1-stage.is-stage-design {
    background: #faeaf5;
    color: #a02570;
}

.posys-dashboard-current-items-v1-due {
    display: block;
    margin-top: 3px;
    font-size: 0.68rem;
    font-weight: 800;
}

.posys-dashboard-current-items-v1-due.is-overdue {
    color: #d5222f;
}

.posys-dashboard-current-items-v1-due.is-today {
    color: #9a7200;
}

.posys-dashboard-current-items-v1-action {
    display: flex;
    justify-content: flex-end;
}

.posys-dashboard-current-items-v1-action > span {
    color: #0784aa;
    font-size: 0.75rem;
    font-weight: 800;
    white-space: nowrap;
}

.posys-dashboard-current-items-v1-empty {
    padding: 28px 20px;
    text-align: center;
}

.posys-dashboard-current-items-v1-empty strong {
    color: #172c3d;
}

.posys-dashboard-current-items-v1-empty p {
    max-width: 520px;
    margin: 7px auto 0;
    color: #71808b;
    font-size: 0.82rem;
}


@media (max-width: 980px) {

    .posys-dashboard-current-items-v1-header {
        display: none;
    }

    .posys-dashboard-current-items-v1-row {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr);
        gap: 13px 22px;
        padding: 16px 18px;
    }

    .posys-dashboard-current-items-v1-cell {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .posys-dashboard-current-items-v1-cell::before {
        display: block;
        content: attr(data-label);
        color: #84939f;
        font-size: 0.61rem;
        font-weight: 800;
        letter-spacing: 0.065em;
        text-transform: uppercase;
    }

    .posys-dashboard-current-items-v1-action {
        grid-column: 1 / -1;
        align-items: flex-end;
        border-top: 1px solid #edf1f3;
        padding-top: 10px;
    }
}


@media (max-width: 560px) {

    .posys-dashboard-current-items-v1-toolbar {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
    }

    .posys-dashboard-current-items-v1-row {
        grid-template-columns:
            minmax(0, 1fr);
        gap: 12px;
        padding: 16px;
    }

    .posys-dashboard-current-items-v1-action {
        grid-column: auto;
        align-items: flex-start;
    }

    .posys-dashboard-current-items-v1-reference strong {
        white-space: normal;
        overflow-wrap: anywhere;
    }
}


/* ==========================================================
   POSYS DASHBOARD READINESS FILTERS V1 START
   ========================================================== */

.posys-dashboard-kpis.posys-dashboard-kpis-readiness-v1 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 12px;
}

.posys-dashboard-kpis-readiness-v1
.posys-dashboard-kpi-v2 {
    min-width: 0;
}

.posys-dashboard-kpis-readiness-v1
.posys-dashboard-kpi-v2-label {
    overflow-wrap: anywhere;
}

@media (max-width: 1279px) {
    .posys-dashboard-kpis.posys-dashboard-kpis-readiness-v1 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .posys-dashboard-kpis.posys-dashboard-kpis-readiness-v1 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 479px) {
    .posys-dashboard-kpis.posys-dashboard-kpis-readiness-v1 {
        grid-template-columns: 1fr;
    }
}

/* POSYS DASHBOARD READINESS FILTERS V1 END */


/* ============================================================
   POSYS DASHBOARD KPI BALANCED GRID V2 START

   Desktop:
     8 cards = 4 + 4
     7 cards = 4 + 3

   Tablet:
     2 columns

   Phone:
     1 column
   ============================================================ */


/* ------------------------------------------------------------
   Desktop foundation
   ------------------------------------------------------------ */

.posys-dashboard-kpis.posys-dashboard-kpis-readiness-v1 {
    display: grid !important;

    grid-template-columns:
        repeat(12, minmax(0, 1fr)) !important;

    gap: 14px !important;

    align-items: stretch;
}


/*
 * Eight-card dashboard:
 *
 * Row 1
 * Needs Attention | New Jobs | New Items | Ready for Design
 *
 * Row 2
 * In Design | Ready for Production | In Production | Completed Today
 */

.posys-dashboard-kpis-readiness-v1
> .posys-dashboard-kpi-v2 {
    grid-column:
        span 3 !important;

    min-width:
        0;

    height:
        100%;
}


/*
 * Seven-card dashboard.
 *
 * Needs Attention is permission/visibility dependent.
 * If it is absent, preserve a balanced second row:
 *
 * Row 1 = 4 cards
 * Row 2 = 3 equal cards
 */

.posys-dashboard-kpis-count-7
> .posys-dashboard-kpi-v2:nth-child(n+5) {
    grid-column:
        span 4 !important;
}


/* ------------------------------------------------------------
   Keep all cards visually aligned
   ------------------------------------------------------------ */

.posys-dashboard-kpis-readiness-v1
> .posys-dashboard-kpi-v2 {
    align-self:
        stretch;

    min-height:
        148px;
}


.posys-dashboard-kpis-readiness-v1
.posys-dashboard-kpi-v2-top {
    min-height:
        50px;
}


/*
 * Completed Today is no longer a special full-width row.
 */

.posys-dashboard-kpis-readiness-v1
> .posys-dashboard-kpi-v2-completed {
    grid-column:
        auto;
}


/* ------------------------------------------------------------
   Tablet / smaller laptop
   2 equal cards per row
   ------------------------------------------------------------ */

@media (max-width: 1050px) {

    .posys-dashboard-kpis.posys-dashboard-kpis-readiness-v1 {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap:
            12px !important;
    }


    .posys-dashboard-kpis-readiness-v1
    > .posys-dashboard-kpi-v2,

    .posys-dashboard-kpis-count-7
    > .posys-dashboard-kpi-v2:nth-child(n+5),

    .posys-dashboard-kpis-readiness-v1
    > .posys-dashboard-kpi-v2-completed {
        grid-column:
            auto !important;
    }

}


/* ------------------------------------------------------------
   Mobile
   ------------------------------------------------------------ */

@media (max-width: 620px) {

    .posys-dashboard-kpis.posys-dashboard-kpis-readiness-v1 {
        grid-template-columns:
            1fr !important;

        gap:
            10px !important;
    }


    .posys-dashboard-kpis-readiness-v1
    > .posys-dashboard-kpi-v2,

    .posys-dashboard-kpis-count-7
    > .posys-dashboard-kpi-v2:nth-child(n+5),

    .posys-dashboard-kpis-readiness-v1
    > .posys-dashboard-kpi-v2-completed {
        grid-column:
            1 !important;

        min-height:
            118px;
    }

}

/* POSYS DASHBOARD KPI BALANCED GRID V2 END */

/* ============================================================
   POSYS CURRENT JOBS SERVER-SIDE SORT V1
   ============================================================ */

.posys-current-jobs-sort-link {
    display: inline-flex;
    align-items: center;
    gap: 0.32rem;
    color: inherit;
    font: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    text-decoration: none;
    text-transform: inherit;
}

.posys-current-jobs-sort-link:hover,
.posys-current-jobs-sort-link:focus-visible {
    color: #087da8;
}

.posys-current-jobs-sort-link:focus-visible {
    outline: 2px solid rgba(0, 174, 239, 0.28);
    outline-offset: 3px;
    border-radius: 4px;
}

.posys-current-jobs-sort-indicator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0.8rem;
    font-size: 0.78rem;
    line-height: 1;
    opacity: 0.7;
}

/* ============================================================
   POSYS JOB DETAIL - COMPACT INVENTORY MATERIAL V2
   Scoped to the inline Job Detail material preview only.
   ============================================================ */

.posys-inventory-material-preview-inline
.posys-job-material-summary-v2 {
    display: block;
    min-width: 0;
    padding: 0.7rem 0;
}

.posys-inventory-material-preview-inline
.posys-job-material-primary-v2 {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem 0.65rem;
    min-width: 0;
}

.posys-inventory-material-preview-inline
.posys-job-material-primary-v2
.posys-inventory-material-source {
    min-width: 0;
    overflow-wrap: anywhere;
}

.posys-inventory-material-preview-inline
.posys-job-material-primary-v2
.posys-inventory-material-status {
    flex: 0 0 auto;
    margin: 0;
}

.posys-inventory-material-preview-inline
.posys-job-material-target-v2 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.15rem;
    min-width: 0;
    margin-top: 0.45rem;
    padding-left: 0;
}

.posys-inventory-material-preview-inline
.posys-job-material-code-v2 {
    display: block;
    max-width: 100%;
    font-weight: 600;
    overflow-wrap: anywhere;
    word-break: normal;
}

.posys-inventory-material-preview-inline
.posys-job-material-meta-v2 {
    display: block;
    max-width: 100%;
    font-size: 0.92em;
    opacity: 0.78;
    overflow-wrap: anywhere;
    word-break: normal;
}

@media (max-width: 760px) {

    .posys-inventory-material-preview-inline
    .posys-job-material-primary-v2 {
        align-items: flex-start;
    }

    .posys-inventory-material-preview-inline
    .posys-job-material-target-v2 {
        width: 100%;
    }
}

/* POSYS GIFT ORDER FORM LAYOUT V1 START
   ---------------------------------------------------------
   Gift Order product specification form refinement.

   Scope:
   - Gift Order only
   - no specification data/schema changes
   - no workflow changes
   - no effect on other product categories
   --------------------------------------------------------- */

.posys-product-spec-form-gift-order
.posys-job-specification-card {
    max-width: none;
}

.posys-product-spec-form-gift-order
.posys-specification-section {
    margin-top: 22px;
}

.posys-product-spec-form-gift-order
.posys-specification-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    column-gap: 32px;
    row-gap: 20px;
    align-items: start;
}

.posys-product-spec-form-gift-order
.posys-specification-grid
> .posys-form-field {
    min-width: 0;
    width: 100%;
    margin: 0;
}

.posys-product-spec-form-gift-order
.posys-specification-grid
> .posys-form-field
> label {
    display: block;
    width: 100%;
    min-height: 24px;
    margin: 0 0 7px;
    line-height: 1.35;
    font-weight: 650;
    overflow-wrap: normal;
    word-break: normal;
}

.posys-product-spec-form-gift-order
.posys-specification-grid
> .posys-form-field
> input:not([type="checkbox"]):not([type="radio"]),
.posys-product-spec-form-gift-order
.posys-specification-grid
> .posys-form-field
> select,
.posys-product-spec-form-gift-order
.posys-specification-grid
> .posys-form-field
> textarea {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    box-sizing: border-box;
}

.posys-product-spec-form-gift-order
.posys-specification-grid
> .posys-form-field
> input:not([type="checkbox"]):not([type="radio"]),
.posys-product-spec-form-gift-order
.posys-specification-grid
> .posys-form-field
> select {
    min-height: 46px;
}

.posys-product-spec-form-gift-order
.posys-specification-grid
> .posys-form-field
> textarea {
    min-height: 104px;
    resize: vertical;
}

.posys-product-spec-form-gift-order
.posys-specification-grid
> .posys-form-field
> small {
    display: block;
    margin-top: 6px;
    line-height: 1.45;
}

/*
 * "Other" companion fields.
 *
 * Keep them visually quieter than the primary controlled
 * option while retaining full usable input width.
 */
.posys-product-spec-form-gift-order
.posys-form-field:has(
    > #id_spec__capacity_other
),
.posys-product-spec-form-gift-order
.posys-form-field:has(
    > #id_spec__material_other
),
.posys-product-spec-form-gift-order
.posys-form-field:has(
    > #id_spec__print_method_other
),
.posys-product-spec-form-gift-order
.posys-form-field:has(
    > #id_spec__thickness_other
),
.posys-product-spec-form-gift-order
.posys-form-field:has(
    > #id_spec__custom_width
),
.posys-product-spec-form-gift-order
.posys-form-field:has(
    > #id_spec__custom_size
),
.posys-product-spec-form-gift-order
.posys-form-field:has(
    > #id_spec__custom_piece_count
) {
    opacity: 0.92;
}

/*
 * Long remarks/descriptions benefit from the complete row.
 */
.posys-product-spec-form-gift-order
.posys-form-field:has(
    > #id_spec__specification_remarks
),
.posys-product-spec-form-gift-order
.posys-form-field:has(
    > #id_spec__product_description
),
.posys-product-spec-form-gift-order
.posys-form-field:has(
    > #id_spec__packaging_requirements
) {
    grid-column: 1 / -1;
}

/*
 * Boolean specification controls should not stretch like
 * text controls.
 */
.posys-product-spec-form-gift-order
.posys-form-field:has(
    > input[type="checkbox"]
) {
    align-self: end;
    min-height: 70px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.posys-product-spec-form-gift-order
.posys-form-field
> input[type="checkbox"] {
    width: 20px !important;
    height: 20px;
    min-height: 20px;
    margin: 4px 0 9px;
}

/*
 * Keep basic information visually tighter than long
 * technical specification sections.
 */
.posys-product-spec-form-gift-order
.posys-job-specification-card
> .posys-specification-section:first-of-type
.posys-specification-grid {
    row-gap: 16px;
}

/*
 * Tablet.
 */
@media (max-width: 900px) {

    .posys-product-spec-form-gift-order
    .posys-specification-grid {
        column-gap: 22px;
        row-gap: 18px;
    }

}

/*
 * Mobile.
 */
@media (max-width: 700px) {

    .posys-product-spec-form-gift-order
    .posys-specification-grid {
        grid-template-columns:
            minmax(0, 1fr);
        gap: 17px;
    }

    .posys-product-spec-form-gift-order
    .posys-form-field:has(
        > #id_spec__specification_remarks
    ),
    .posys-product-spec-form-gift-order
    .posys-form-field:has(
        > #id_spec__product_description
    ),
    .posys-product-spec-form-gift-order
    .posys-form-field:has(
        > #id_spec__packaging_requirements
    ) {
        grid-column: auto;
    }

    .posys-product-spec-form-gift-order
    .posys-form-field:has(
        > input[type="checkbox"]
    ) {
        min-height: auto;
        align-self: auto;
    }

}

/* POSYS GIFT ORDER FORM LAYOUT V1 END */

/* POSYS SIDEBAR SECTION HEADING V3 START */

/*
 * Major navigation groups.
 *
 * Cleaner visual hierarchy:
 * - no heavy outlined title box
 * - Printaland colour-coded accent
 * - compact vertical marker
 * - subtle colour wash
 * - fading divider
 */

.posys-sidebar .posys-nav-section {
    --posys-nav-accent: #46c8ff;
    --posys-nav-accent-soft: rgba(70, 200, 255, 0.13);
    --posys-nav-accent-line: rgba(70, 200, 255, 0.58);

    position: relative;

    display: flex;
    align-items: center;

    min-height: 32px;

    margin-top: 22px;
    margin-right: 12px;
    margin-bottom: 7px !important;
    margin-left: 12px;

    padding:
        6px
        10px
        6px
        10px;

    overflow: hidden;

    border: 0;
    border-radius: 8px;

    background:
        linear-gradient(
            90deg,
            var(--posys-nav-accent-soft) 0%,
            rgba(255, 255, 255, 0.018) 48%,
            rgba(255, 255, 255, 0) 100%
        );

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.025);

    color: #f7fbff;

    font-size: 0.68rem;
    font-weight: 850;
    line-height: 1;

    letter-spacing: 0.11em;
    text-transform: uppercase;
}


/* ------------------------------------------------------------
   Group colours
   Printaland-inspired cyan / magenta / yellow
   ------------------------------------------------------------ */

.posys-sidebar
.posys-nav-section-operations {
    --posys-nav-accent: #42c8ff;
    --posys-nav-accent-soft: rgba(66, 200, 255, 0.14);
    --posys-nav-accent-line: rgba(66, 200, 255, 0.64);
}


.posys-sidebar
.posys-nav-section-commercial {
    --posys-nav-accent: #f34fa6;
    --posys-nav-accent-soft: rgba(243, 79, 166, 0.13);
    --posys-nav-accent-line: rgba(243, 79, 166, 0.58);
}


.posys-sidebar
.posys-nav-section-management {
    --posys-nav-accent: #f5d33f;
    --posys-nav-accent-soft: rgba(245, 211, 63, 0.12);
    --posys-nav-accent-line: rgba(245, 211, 63, 0.55);
}


/* ------------------------------------------------------------
   Accent marker
   ------------------------------------------------------------ */

.posys-sidebar
.posys-nav-section::before {
    content: "";

    flex:
        0
        0
        3px;

    width: 3px;
    height: 17px;

    margin-right: 9px;

    border-radius: 999px;

    background:
        var(--posys-nav-accent);

    box-shadow:
        0 0 8px
        var(--posys-nav-accent-soft);
}


/* ------------------------------------------------------------
   Fading divider
   ------------------------------------------------------------ */

.posys-sidebar
.posys-nav-section::after {
    content: "";

    flex:
        1
        1
        auto;

    height: 1px;

    min-width: 18px;

    margin-left: 11px;

    background:
        linear-gradient(
            90deg,
            var(--posys-nav-accent-line),
            rgba(255, 255, 255, 0)
        );
}


/* First section follows branding slightly more closely. */

.posys-sidebar
.posys-brand
+ .posys-nav-section {
    margin-top: 18px;
}


/* ------------------------------------------------------------
   Narrow / off-canvas sidebar
   ------------------------------------------------------------ */

@media (max-width: 900px) {

    .posys-sidebar
    .posys-nav-section {
        min-height: 34px;

        margin-right: 10px;
        margin-left: 10px;

        padding-right: 9px;
        padding-left: 10px;

        font-size: 0.69rem;
    }


    .posys-sidebar
    .posys-nav-section::before {
        height: 18px;
    }

}

/* POSYS SIDEBAR SECTION HEADING V3 END */

/* POSYS OPERATIONAL AUDIT TABLE UI V2 START */

/*
 * Operational Audit Register
 *
 * Scoped entirely to the audit page so shared POSYS tables
 * and application workflows remain unaffected.
 */


/* ------------------------------------------------------------
   Table shell
   ------------------------------------------------------------ */

.posys-audit-v1-table-wrap {
    position: relative;

    width: 100%;
    max-width: 100%;

    overflow-x: auto;

    border:
        1px solid
        #d9e4eb;

    border-radius: 14px;

    background:
        #ffffff;

    box-shadow:
        0 5px 18px
        rgba(18, 55, 79, 0.045);
}


.posys-audit-v1-table {
    width: 100%;

    min-width: 1040px;

    border-collapse: separate;
    border-spacing: 0;

    table-layout: fixed;

    background:
        #ffffff;
}


/* ------------------------------------------------------------
   Column balance
   ------------------------------------------------------------ */

.posys-audit-v1-table th:nth-child(1),
.posys-audit-v1-table td:nth-child(1) {
    width: 16%;
}

.posys-audit-v1-table th:nth-child(2),
.posys-audit-v1-table td:nth-child(2) {
    width: 10%;
}

.posys-audit-v1-table th:nth-child(3),
.posys-audit-v1-table td:nth-child(3) {
    width: 14%;
}

.posys-audit-v1-table th:nth-child(4),
.posys-audit-v1-table td:nth-child(4) {
    width: 17%;
}

.posys-audit-v1-table th:nth-child(5),
.posys-audit-v1-table td:nth-child(5) {
    width: 11%;
}

.posys-audit-v1-table th:nth-child(6),
.posys-audit-v1-table td:nth-child(6) {
    width: 15%;
}

.posys-audit-v1-table th:nth-child(7),
.posys-audit-v1-table td:nth-child(7) {
    width: 17%;
}


/* ------------------------------------------------------------
   Header
   ------------------------------------------------------------ */

.posys-audit-v1-table thead th {
    position: sticky;
    top: 0;

    z-index: 2;

    padding:
        15px
        15px;

    border-bottom:
        1px solid
        #cfdee7;

    background:
        linear-gradient(
            180deg,
            #eef6fa 0%,
            #e8f2f7 100%
        );

    color:
        #0c2f47;

    font-size: 0.69rem;
    font-weight: 850;
    line-height: 1.2;

    letter-spacing: 0.075em;
    text-align: left;
    text-transform: uppercase;

    white-space: nowrap;
}


.posys-audit-v1-table thead th:first-child {
    padding-left: 17px;
}


/* ------------------------------------------------------------
   Rows
   ------------------------------------------------------------ */

.posys-audit-v1-table tbody td {
    padding:
        17px
        15px;

    vertical-align: middle;

    border-bottom:
        1px solid
        #e3ebf0;

    color:
        #183245;

    font-size: 0.88rem;
    line-height: 1.42;

    overflow-wrap: anywhere;

    transition:
        background-color 0.14s ease;
}


.posys-audit-v1-table tbody tr:last-child td {
    border-bottom: 0;
}


.posys-audit-v1-table tbody tr:hover td {
    background:
        #f6fbfe;
}


/*
 * A restrained accent on the first cell makes each event row
 * easier to track horizontally across a wide table.
 */
.posys-audit-v1-table tbody tr:hover td:first-child {
    box-shadow:
        inset 3px 0 0
        #24a9df;
}


/* ------------------------------------------------------------
   Date / time
   ------------------------------------------------------------ */

.posys-audit-v1-table
.posys-audit-v1-nowrap {
    color:
        #40596a;

    font-variant-numeric:
        tabular-nums;

    white-space:
        nowrap;
}


/* ------------------------------------------------------------
   Module badges
   ------------------------------------------------------------ */

.posys-audit-v1-module {
    display: inline-flex;
    align-items: center;

    min-height: 25px;

    padding:
        4px
        9px;

    border:
        1px solid
        #d8eaf2;

    border-radius:
        999px;

    background:
        #eef8fc;

    color:
        #174b68;

    font-size:
        0.68rem;

    font-weight:
        800;

    line-height:
        1;

    letter-spacing:
        0.015em;

    white-space:
        nowrap;
}


/*
 * Module-specific accents use the existing data-group value.
 * Unrecognised/new modules safely retain the default style above.
 */

.posys-audit-v1-module[data-group*="workflow" i] {
    border-color:
        #d8e8f5;

    background:
        #eef6fb;

    color:
        #174968;
}


.posys-audit-v1-module[data-group*="file" i] {
    border-color:
        #d7e9ee;

    background:
        #eff9fb;

    color:
        #175568;
}


.posys-audit-v1-module[data-group*="design" i] {
    border-color:
        #eadff0;

    background:
        #faf3fc;

    color:
        #62426b;
}


.posys-audit-v1-module[data-group*="production" i] {
    border-color:
        #d8e8ee;

    background:
        #edf7fa;

    color:
        #18566b;
}


.posys-audit-v1-module[data-group*="quality" i] {
    border-color:
        #d9eadf;

    background:
        #f0f9f3;

    color:
        #275b3c;
}


/* ------------------------------------------------------------
   Action
   ------------------------------------------------------------ */

.posys-audit-v1-table
td[data-label="Action"] strong {
    display: block;

    color:
        #102f45;

    font-weight:
        800;

    line-height:
        1.32;
}


/*
 * Give Action slightly more emphasis without turning
 * every audit event into a badge.
 */
.posys-audit-v1-table
td[data-label="Action"] {
    background-image:
        linear-gradient(
            90deg,
            rgba(22, 153, 207, 0.045),
            rgba(22, 153, 207, 0)
        );
}


/* ------------------------------------------------------------
   Reference hierarchy
   ------------------------------------------------------------ */

.posys-audit-v1-reference {
    display: inline-block;

    color:
        #074a73;

    font-weight:
        800;

    line-height:
        1.3;

    text-decoration:
        none;

    overflow-wrap:
        anywhere;
}


.posys-audit-v1-reference:hover {
    color:
        #008fc7;

    text-decoration:
        underline;

    text-underline-offset:
        2px;
}


.posys-audit-v1-table
td[data-label="Reference"] small {
    display: block;

    margin-top:
        5px;

    color:
        #718697;

    font-size:
        0.74rem;

    line-height:
        1.3;

    overflow-wrap:
        anywhere;
}


/* ------------------------------------------------------------
   User / status
   ------------------------------------------------------------ */

.posys-audit-v1-table
td[data-label="User"] {
    color:
        #304d60;

    font-weight:
        600;
}


.posys-audit-v1-table
td[data-label="Status"] {
    color:
        #385469;

    font-weight:
        650;

    overflow-wrap:
        normal;

    word-break:
        normal;
}


/* ------------------------------------------------------------
   Details
   ------------------------------------------------------------ */

.posys-audit-v1-table
td[data-label="Details"] {
    padding-right:
        18px;

    color:
        #334f61;

    line-height:
        1.5;

    overflow-wrap:
        anywhere;

    word-break:
        normal;
}


/* ------------------------------------------------------------
   Responsive refinement
   ------------------------------------------------------------ */

@media (max-width: 1180px) {

    .posys-audit-v1-table {
        min-width:
            980px;
    }

    .posys-audit-v1-table thead th,
    .posys-audit-v1-table tbody td {
        padding-left:
            12px;

        padding-right:
            12px;
    }

}


@media (max-width: 820px) {

    .posys-audit-v1-table {
        min-width:
            900px;
    }

}

/* POSYS OPERATIONAL AUDIT TABLE UI V2 END */



/* ============================================================
   POSYS DETAIL HEADER V1
   One-line record number with a status badge, a short meta
   line, and one action toolbar: navigation and secondary
   actions first, then a divider, then decisions with the main
   action filled and rightmost. Used by the quotation and
   enquiry detail pages.
   ============================================================ */

.posys-detail-back {
    display: inline-block;
    margin-bottom: 6px;
    color: var(--text-secondary);
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
}

.posys-detail-back:hover,
.posys-detail-back:focus {
    color: var(--posys-cyan-dark);
    text-decoration: underline;
}

.posys-detail-header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px 20px;
    margin-bottom: 18px;
}

.posys-detail-title {
    flex: 1 1 280px;
    min-width: 0;
}

.posys-detail-title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
}

.posys-detail-title h1 {
    margin: 0;
    font-size: clamp(1.15rem, 1rem + 0.8vw, 1.5rem);
    line-height: 1.2;
    letter-spacing: 0.01em;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.posys-detail-meta {
    margin: 4px 0 0;
    color: var(--text-secondary);
    font-size: 0.85rem;
    line-height: 1.4;
}


/* Status badges ------------------------------------------- */

.posys-status-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.posys-status-badge--draft,
.posys-status-badge--closed,
.posys-status-badge--expired,
.posys-status-badge--cancelled,
.posys-status-badge--superseded {
    border-color: #d5dbe1;
    background: #f1f4f7;
    color: #52606d;
}

.posys-status-badge--issued,
.posys-status-badge--new,
.posys-status-badge--open {
    border-color: #a6dff0;
    background: #e8f7fc;
    color: var(--posys-cyan-dark);
}

.posys-status-badge--sent,
.posys-status-badge--quotation {
    border-color: #9fd8d0;
    background: #e7f6f3;
    color: #0e7a6b;
}

.posys-status-badge--follow_up {
    border-color: #efd98c;
    background: #fdf7e2;
    color: #8a6a00;
}

.posys-status-badge--accepted,
.posys-status-badge--won {
    border-color: #a7dcbb;
    background: #e9f7ef;
    color: #1d7a45;
}

.posys-status-badge--rejected,
.posys-status-badge--lost {
    border-color: #f1b9b4;
    background: #fdecea;
    color: var(--posys-danger);
}


/* Button variants (none existed: .button-secondary is filled
   navy and .button-danger is filled red) ------------------ */

a.button.button-outline,
button.button.button-outline {
    border-color: #c9d2db;
    background: #ffffff;
    color: var(--posys-key);
}

a.button.button-outline:hover,
a.button.button-outline:focus,
button.button.button-outline:hover,
button.button.button-outline:focus {
    border-color: var(--posys-key);
    background: #f4f7fa;
    color: var(--posys-key);
}

a.button.button-danger-outline,
button.button.button-danger-outline {
    border-color: var(--posys-danger);
    background: #ffffff;
    color: var(--posys-danger);
}

a.button.button-danger-outline:hover,
a.button.button-danger-outline:focus,
button.button.button-danger-outline:hover,
button.button.button-danger-outline:focus {
    border-color: var(--posys-danger-dark);
    background: #fdecea;
    color: var(--posys-danger-dark);
}


/* Toolbar -------------------------------------------------- */

.posys-detail-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    min-width: 0;
}

/* Forms wrap single buttons for POST; let their buttons sit in
   the toolbar as if the form were not there. */
.posys-detail-actions form {
    display: contents;
}

.posys-detail-actions .button {
    height: 40px;
    min-height: 40px;
    margin: 0;
    padding: 0 14px;
    font-size: 0.85rem;
    white-space: nowrap;
}

.posys-detail-actions-divider {
    align-self: center;
    width: 1px;
    height: 24px;
    margin: 0 4px;
    background: var(--border);
}


/* Confirmation dialog -------------------------------------- */

.posys-confirm-dialog {
    width: min(440px, calc(100vw - 32px));
    padding: 22px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--card-bg);
    color: var(--text);
    box-shadow: 0 18px 50px rgba(12, 17, 23, 0.25);
}

.posys-confirm-dialog::backdrop {
    background: rgba(12, 17, 23, 0.45);
}

.posys-confirm-dialog h2 {
    margin: 0 0 6px;
    font-size: 1.1rem;
}

.posys-confirm-dialog p {
    margin: 0 0 14px;
    color: var(--text-secondary);
    font-size: 0.88rem;
}

.posys-confirm-dialog label {
    display: block;
    margin-bottom: 6px;
    font-size: 0.82rem;
    font-weight: 600;
}

.posys-confirm-dialog textarea {
    box-sizing: border-box;
    width: 100%;
    resize: vertical;
}

.posys-confirm-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 16px;
}


/* Phones: title full width, buttons in two columns below, the
   main action full width at the bottom. --------------------- */

@media (max-width: 767px) {

    .posys-detail-header {
        flex-direction: column;
        align-items: stretch;
    }

    .posys-detail-title {
        flex-basis: auto;
    }

    .posys-detail-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }

    .posys-detail-actions .button {
        width: 100%;
        min-width: 0;
        padding: 0 10px;
        white-space: normal;
        line-height: 1.15;
    }

    .posys-detail-actions-divider {
        display: none;
    }

    .posys-detail-actions .posys-detail-primary {
        grid-column: 1 / -1;
        order: 99;
    }
}

/* POSYS DETAIL HEADER V1 END */


/* ============================================================
   POSYS QUOTATION DETAIL UI R3
   UI-only quotation detail refinement.
   ============================================================ */


/* Header =================================================== */

.posys-detail-header {
    align-items: flex-start;
    gap: 24px;
    margin-top: 6px;
    margin-bottom: 18px;
}

.posys-detail-title {
    flex: 1 1 auto;
    min-width: 0;
}

.posys-detail-title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.posys-detail-title-row h1 {
    margin: 0;
    line-height: 1.15;
    letter-spacing: -0.025em;
}

.posys-detail-meta {
    max-width: 760px;
    margin: 6px 0 0;
    line-height: 1.45;
}


/* Actions ================================================== */

.posys-detail-actions {
    flex: 0 1 auto;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}

.posys-detail-actions form {
    margin: 0;
}

.posys-detail-actions .button {
    min-height: 42px;
    padding-left: 16px;
    padding-right: 16px;
    white-space: nowrap;
}

.posys-detail-actions .posys-detail-primary {
    min-width: 118px;
}


/* Summary ================================================== */

.posys-quotation-summary-r3 {
    display: grid;

    grid-template-columns:
        minmax(0, 1.25fr)
        minmax(0, 1fr)
        minmax(0, 1fr)
        minmax(0, 1fr);

    margin: 0 0 20px;

    overflow: hidden;

    background: #ffffff;
    border: 1px solid #dce5ec;
    border-radius: 14px;

    box-shadow:
        0 1px 2px rgba(15, 43, 61, 0.03),
        0 8px 24px rgba(15, 43, 61, 0.035);
}

.posys-quotation-summary-r3__item {
    min-width: 0;
    padding: 15px 18px 16px;
}

.posys-quotation-summary-r3__item
+ .posys-quotation-summary-r3__item {
    border-left: 1px solid #e7edf2;
}

.posys-quotation-summary-r3__label {
    display: block;

    margin-bottom: 5px;

    color: #6b7c88;

    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.2;

    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.posys-quotation-summary-r3__value {
    display: block;
    min-width: 0;

    color: #102f43;

    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.3;

    overflow-wrap: anywhere;
}

.posys-quotation-summary-r3__sub {
    display: block;

    margin-top: 3px;

    color: #71808b;

    font-size: 0.78rem;
    line-height: 1.35;
}

.posys-quotation-summary-r3__item--total {
    background:
        linear-gradient(
            135deg,
            rgba(10, 175, 214, 0.07),
            rgba(10, 175, 214, 0.015)
        );
}

.posys-quotation-summary-r3__item--total
.posys-quotation-summary-r3__value {
    color: #087d9c;
    font-size: 1.08rem;
}


/* Main information grid =================================== */

.posys-quotation-primary-grid-r3 {
    display: grid;

    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(0, 0.85fr);

    gap: 20px;
    align-items: stretch;

    margin-bottom: 20px;
}

.posys-quotation-primary-grid-r3 > .posys-card {
    min-width: 0;
    margin: 0;
}

.posys-quotation-card-r3 {
    padding: 24px;
}

.posys-quotation-card-r3 h2 {
    margin-top: 0;
    margin-bottom: 20px;

    font-size: 1.18rem;
    letter-spacing: -0.018em;
}

.posys-quotation-card-r3 .posys-detail-list {
    margin: 0;
}

.posys-quotation-card-r3
.posys-detail-list dt {
    color: #536675;
    font-weight: 650;
}

.posys-quotation-card-r3
.posys-detail-list dd {
    color: #102f43;
}


/* Latest Version ========================================== */

.posys-quotation-card-r3--version {
    position: relative;
    overflow: hidden;
}

.posys-quotation-card-r3--version::before {
    content: "";

    position: absolute;
    top: 0;
    right: 0;
    left: 0;

    height: 3px;

    background:
        linear-gradient(
            90deg,
            #11a9d4 0%,
            #11a9d4 42%,
            #17354c 100%
        );
}

.posys-quotation-card-r3--version
.posys-detail-list dd strong {
    color: #087d9c;
}


/* Tablet =================================================== */

@media (max-width: 1180px) {

    .posys-detail-header {
        flex-direction: column;
        gap: 14px;
    }

    .posys-detail-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .posys-quotation-summary-r3 {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .posys-quotation-summary-r3__item:nth-child(3) {
        border-left: 0;
        border-top: 1px solid #e7edf2;
    }

    .posys-quotation-summary-r3__item:nth-child(4) {
        border-top: 1px solid #e7edf2;
    }

}


/* Narrow tablet =========================================== */

@media (max-width: 820px) {

    .posys-quotation-primary-grid-r3 {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .posys-quotation-card-r3 {
        padding: 20px;
    }

}


/* Mobile =================================================== */

@media (max-width: 640px) {

    .posys-detail-header {
        margin-top: 0;
        margin-bottom: 14px;
    }

    .posys-detail-title-row {
        align-items: flex-start;
    }

    .posys-detail-title-row h1 {
        width: 100%;
        font-size: 1.45rem;
        overflow-wrap: anywhere;
    }

    .posys-detail-meta {
        font-size: 0.84rem;
    }

    .posys-detail-actions {
        justify-content: flex-start;
        gap: 7px;
    }

    .posys-detail-actions .button {
        min-height: 40px;
        padding-left: 12px;
        padding-right: 12px;
        font-size: 0.86rem;
    }

    .posys-detail-actions-divider {
        display: none;
    }

    .posys-quotation-summary-r3 {
        grid-template-columns: 1fr;
        border-radius: 12px;
    }

    .posys-quotation-summary-r3__item {
        padding: 13px 15px;
    }

    .posys-quotation-summary-r3__item
    + .posys-quotation-summary-r3__item {
        border-left: 0;
        border-top: 1px solid #e7edf2;
    }

    .posys-quotation-card-r3 {
        padding: 18px 16px;
    }

    .posys-quotation-card-r3 h2 {
        margin-bottom: 16px;
        font-size: 1.08rem;
    }

}

/* ============================================================
   POSYS AI AGENT DASHBOARD V1
   ============================================================ */

.posys-agent-kpis {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 14px;
    margin-bottom: 14px;
}

.posys-agent-kpis .posys-card + .posys-card,
.posys-agent-columns .posys-card + .posys-card {
    margin-top: 0;
}

.posys-agent-kpi {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 16px 18px;
}

.posys-agent-kpi span {
    color: var(--text-secondary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.posys-agent-kpi strong {
    font-size: 1.8rem;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.posys-agent-kpi small {
    color: var(--text-secondary);
}

.posys-agent-bar {
    height: 6px;
    margin-top: 6px;
    border-radius: 999px;
    background: #e8eef3;
    overflow: hidden;
}

.posys-agent-bar i {
    display: block;
    height: 100%;
    background: var(--posys-cyan);
}

.posys-agent-bar--inline {
    display: inline-block;
    width: 80px;
    margin: 0 8px 0 0;
    vertical-align: middle;
}

.posys-agent-columns {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 14px;
    margin-bottom: 14px;
}

/* POSYS AI AGENT DASHBOARD V1 END */


/* ============================================================
   POSYS QUOTATION ACTION BUTTONS R4B

   Fix quotation toolbar outline button text visibility.

   Root cause:
   global .button uses:
       color: #ffffff !important;

   These scoped rules intentionally override that only inside
   the quotation detail action toolbar.
   ============================================================ */


/* ------------------------------------------------------------
   Secondary actions
   ------------------------------------------------------------ */

.posys-detail-actions a.button.button-outline,
.posys-detail-actions button.button.button-outline {
    border-color: #b9c8d4;
    background: #ffffff;

    color: var(--posys-key) !important;

    box-shadow:
        0 1px 2px rgba(15, 43, 61, 0.03);
}

.posys-detail-actions a.button.button-outline:hover,
.posys-detail-actions a.button.button-outline:focus,
.posys-detail-actions button.button.button-outline:hover,
.posys-detail-actions button.button.button-outline:focus {
    border-color: #839bad;
    background: #f3f7fa;

    color: var(--posys-key-dark) !important;

    box-shadow:
        0 3px 9px rgba(15, 43, 61, 0.08);
}


/* ------------------------------------------------------------
   Reject
   ------------------------------------------------------------ */

.posys-detail-actions a.button.button-danger-outline,
.posys-detail-actions button.button.button-danger-outline {
    border-color: var(--posys-danger);
    background: #ffffff;

    color: var(--posys-danger) !important;

    box-shadow:
        0 1px 2px rgba(180, 35, 24, 0.03);
}

.posys-detail-actions a.button.button-danger-outline:hover,
.posys-detail-actions a.button.button-danger-outline:focus,
.posys-detail-actions button.button.button-danger-outline:hover,
.posys-detail-actions button.button.button-danger-outline:focus {
    border-color: var(--posys-danger-dark);
    background: #fff2f0;

    color: var(--posys-danger-dark) !important;

    box-shadow:
        0 3px 9px rgba(180, 35, 24, 0.10);
}


/* ------------------------------------------------------------
   Primary action
   ------------------------------------------------------------ */

.posys-detail-actions .button-primary,
.posys-detail-actions .posys-detail-primary {
    color: #ffffff !important;

    box-shadow:
        0 3px 10px rgba(0, 166, 214, 0.16);
}

.posys-detail-actions .button-primary:hover,
.posys-detail-actions .button-primary:focus,
.posys-detail-actions .posys-detail-primary:hover,
.posys-detail-actions .posys-detail-primary:focus {
    color: #ffffff !important;
}


/* ------------------------------------------------------------
   Toolbar polish
   ------------------------------------------------------------ */

.posys-detail-actions {
    gap: 8px;
}

.posys-detail-actions .button {
    min-height: 42px;

    padding-left: 15px;
    padding-right: 15px;

    font-size: 0.84rem;
    font-weight: 700;

    letter-spacing: -0.005em;
}

.posys-detail-actions-divider {
    height: 28px;

    margin-left: 3px;
    margin-right: 3px;

    background: #d7e1e8;
}


/* ------------------------------------------------------------
   Mobile
   ------------------------------------------------------------ */

@media (max-width: 640px) {

    .posys-detail-actions {
        gap: 7px;
    }

    .posys-detail-actions .button {
        min-height: 42px;

        padding-left: 12px;
        padding-right: 12px;

        font-size: 0.83rem;
    }

}


/* ============================================================
   POSYS QUOTATION INLINE UI R5

   Scope:
   - Latest Version inline commercial metrics
   - Quotation Items table refinement
   - Responsive/mobile treatment

   No quotation calculations or workflow logic changed.
   ============================================================ */


/* ============================================================
   LATEST VERSION
   ============================================================ */

.posys-quotation-card-r3--version {
    align-self: start;
}

.posys-quotation-card-r3--version h2 {
    margin-bottom: 18px;
}

.posys-version-inline-r5 {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 0;

    border: 1px solid #e2e9ee;
    border-radius: 10px;

    overflow: hidden;

    background: #ffffff;
}

.posys-version-metric-r5 {
    min-width: 0;

    padding: 13px 14px;

    border-right: 1px solid #e7edf2;
    border-bottom: 1px solid #e7edf2;
}

.posys-version-metric-r5:nth-child(3n) {
    border-right: 0;
}

.posys-version-metric-r5:nth-child(n + 4) {
    border-bottom: 0;
}

.posys-version-metric-r5 > span,
.posys-version-secondary-r5 > span {
    display: block;

    margin-bottom: 4px;

    color: #71808b;

    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.2;

    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.posys-version-metric-r5 > strong {
    display: block;

    min-width: 0;

    color: #173247;

    font-size: 0.91rem;
    font-weight: 700;
    line-height: 1.3;

    overflow-wrap: anywhere;
}

.posys-version-metric-r5--money > strong {
    font-variant-numeric: tabular-nums;
}

.posys-version-metric-r5--total {
    background:
        linear-gradient(
            135deg,
            rgba(0, 166, 214, 0.075),
            rgba(0, 166, 214, 0.015)
        );
}

.posys-version-metric-r5--total > strong {
    color: #087d9c;

    font-size: 1rem;
}

.posys-version-inline-r5__secondary {
    grid-column: 1 / -1;

    display: grid;
    grid-template-columns:
        minmax(0, 0.75fr)
        minmax(0, 1.25fr);

    border-top: 1px solid #e7edf2;

    background: #f8fafb;
}

.posys-version-secondary-r5 {
    min-width: 0;

    padding: 10px 14px;
}

.posys-version-secondary-r5
+ .posys-version-secondary-r5 {
    border-left: 1px solid #e7edf2;
}

.posys-version-secondary-r5 > strong {
    display: block;

    color: #506370;

    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.35;

    overflow-wrap: anywhere;
}


/* ============================================================
   QUOTATION ITEMS CARD
   ============================================================ */

.posys-quotation-items-card-r5 {
    padding-top: 24px;
}

.posys-quotation-items-card-r5
> .posys-page-header {
    align-items: flex-end;

    margin-bottom: 16px;
}

.posys-quotation-items-card-r5
> .posys-page-header h2 {
    margin-bottom: 4px;
}

.posys-quotation-items-card-r5
> .posys-page-header p {
    margin: 0;

    color: #687b89;

    font-size: 0.84rem;
}


/* ============================================================
   QUOTATION ITEMS TABLE
   ============================================================ */

.posys-quotation-items-card-r5
.posys-table-wrap {
    border: 1px solid #dce5ec;
    border-radius: 10px;

    overflow: hidden;
}

.posys-quotation-items-table-r5 {
    width: 100%;

    border-collapse: separate;
    border-spacing: 0;

    table-layout: auto;
}

.posys-quotation-items-table-r5 thead th {
    padding: 11px 14px;

    border-bottom: 1px solid #d6e0e7;

    background: #eef4f7;

    color: #244257;

    font-size: 0.72rem;
    font-weight: 750;
    line-height: 1.2;

    letter-spacing: 0.015em;

    white-space: nowrap;
}

.posys-quotation-items-table-r5 tbody td {
    padding: 15px 14px;

    border-bottom: 1px solid #e8eef2;

    background: #ffffff;

    color: #223f53;

    font-size: 0.86rem;
    line-height: 1.4;

    vertical-align: middle;
}

.posys-quotation-items-table-r5 tbody tr:last-child td {
    border-bottom: 0;
}

.posys-quotation-items-table-r5 tbody tr:hover td {
    background: #fbfdfe;
}


/* Line ----------------------------------------------------- */

.posys-quotation-items-table-r5 th:nth-child(1),
.posys-quotation-items-table-r5 td:nth-child(1) {
    width: 58px;

    color: #71808b;

    text-align: center;
}


/* Product -------------------------------------------------- */

.posys-quotation-items-table-r5 th:nth-child(2) {
    text-align: left;
}

.posys-quotation-items-table-r5 td:nth-child(2) {
    min-width: 190px;

    color: #102f43;

    font-weight: 700;
}


/* Numeric / commercial columns ---------------------------- */

.posys-quotation-items-table-r5 th:nth-child(3),
.posys-quotation-items-table-r5 th:nth-child(4),
.posys-quotation-items-table-r5 th:nth-child(5),
.posys-quotation-items-table-r5 th:nth-child(6),
.posys-quotation-items-table-r5 td:nth-child(3),
.posys-quotation-items-table-r5 td:nth-child(4),
.posys-quotation-items-table-r5 td:nth-child(5),
.posys-quotation-items-table-r5 td:nth-child(6) {
    text-align: right;

    font-variant-numeric: tabular-nums;
}


/* Quoted Total -------------------------------------------- */

.posys-quotation-items-table-r5 td:nth-child(6) {
    color: #0d6179;

    font-weight: 800;
}


/* Action --------------------------------------------------- */

.posys-quotation-items-table-r5 th:last-child,
.posys-quotation-items-table-r5 td:last-child {
    width: 120px;

    text-align: right;
}

.posys-quotation-items-table-r5 td:last-child .button {
    min-height: 34px;

    margin: 0;

    padding: 6px 10px;

    font-size: 0.76rem;
}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1050px) {

    .posys-version-inline-r5 {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .posys-version-metric-r5 {
        border-right: 1px solid #e7edf2;
        border-bottom: 1px solid #e7edf2;
    }

    .posys-version-metric-r5:nth-child(3n) {
        border-right: 1px solid #e7edf2;
    }

    .posys-version-metric-r5:nth-child(2n) {
        border-right: 0;
    }

    .posys-version-metric-r5:nth-child(n + 4) {
        border-bottom: 1px solid #e7edf2;
    }

    .posys-version-metric-r5:nth-child(n + 5) {
        border-bottom: 0;
    }

}


/* ============================================================
   MOBILE QUOTATION ITEMS
   ============================================================ */

@media (max-width: 760px) {

    .posys-version-inline-r5 {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .posys-version-inline-r5__secondary {
        grid-template-columns: 1fr;
    }

    .posys-version-secondary-r5
    + .posys-version-secondary-r5 {
        border-left: 0;
        border-top: 1px solid #e7edf2;
    }


    /* Remove desktop table shell */

    .posys-quotation-items-card-r5
    .posys-table-wrap {
        overflow: visible;

        border: 0;
        border-radius: 0;

        background: transparent;
    }

    .posys-quotation-items-table-r5,
    .posys-quotation-items-table-r5 tbody {
        display: block;

        width: 100%;
    }

    .posys-quotation-items-table-r5 thead {
        position: absolute;

        width: 1px;
        height: 1px;

        margin: -1px;
        padding: 0;

        overflow: hidden;

        clip: rect(0 0 0 0);

        white-space: nowrap;

        border: 0;
    }

    .posys-quotation-items-table-r5 tbody tr {
        display: grid;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 0;

        margin-bottom: 12px;

        overflow: hidden;

        border: 1px solid #dce5ec;
        border-radius: 10px;

        background: #ffffff;

        box-shadow:
            0 2px 7px rgba(15, 43, 61, 0.035);
    }

    .posys-quotation-items-table-r5 tbody td {
        display: block;

        width: auto !important;
        min-width: 0 !important;

        padding: 11px 13px;

        border-bottom: 1px solid #e8eef2;

        text-align: left !important;
    }

    .posys-quotation-items-table-r5 tbody td::before {
        content: attr(data-mobile-label);

        display: block;

        margin-bottom: 4px;

        color: #71808b;

        font-size: 0.66rem;
        font-weight: 700;

        letter-spacing: 0.045em;
        text-transform: uppercase;
    }


    /* Product gets full width */

    .posys-quotation-items-table-r5
    tbody td:nth-child(2) {
        grid-column: 1 / -1;

        order: -2;

        padding-top: 14px;

        font-size: 0.94rem;
    }


    /* Line stays compact */

    .posys-quotation-items-table-r5
    tbody td:nth-child(1) {
        order: -1;
    }


    /* Quoted total stronger */

    .posys-quotation-items-table-r5
    tbody td:nth-child(6) {
        font-size: 0.94rem;
    }


    /* Action full width */

    .posys-quotation-items-table-r5
    tbody td:last-child {
        grid-column: 1 / -1;

        border-bottom: 0;

        text-align: right !important;
    }

}


/* ============================================================
   SMALL MOBILE
   ============================================================ */

@media (max-width: 460px) {

    .posys-version-inline-r5 {
        grid-template-columns: 1fr 1fr;
    }

    .posys-version-metric-r5 {
        padding: 11px 12px;
    }

    .posys-quotation-items-table-r5 tbody tr {
        grid-template-columns: 1fr;
    }

    .posys-quotation-items-table-r5
    tbody td:nth-child(2),
    .posys-quotation-items-table-r5
    tbody td:last-child {
        grid-column: auto;
    }

}


/* ============================================================
   POSYS QUOTATION TABLES UI R6

   Scope:
   - Quotation Items typography + spacing
   - Version History typography + commercial alignment
   - Responsive overflow without compressed wrapping
   ============================================================ */


/* ============================================================
   QUOTATION ITEMS
   ============================================================ */

.posys-quotation-items-table-r5 thead th {
    padding-top: 12px;
    padding-bottom: 12px;

    color: #234156;

    font-size: 0.75rem;
    font-weight: 750;
    line-height: 1.2;
}

.posys-quotation-items-table-r5 tbody td {
    padding-top: 17px;
    padding-bottom: 17px;

    color: #29475b;

    font-size: 0.92rem;
    line-height: 1.42;
}


/* Line number */

.posys-quotation-items-table-r5
tbody td:nth-child(1) {
    color: #758692;

    font-size: 0.84rem;
    font-weight: 500;
}


/* Product */

.posys-quotation-items-table-r5
tbody td:nth-child(2) {
    color: #102f43;

    font-size: 0.94rem;
    font-weight: 750;
    line-height: 1.35;
}

.posys-quotation-items-table-r5
tbody td:nth-child(2) small,
.posys-quotation-items-table-r5
tbody td:nth-child(2) .text-muted {
    display: block;

    margin-top: 3px;

    color: #657987;

    font-size: 0.74rem;
    font-weight: 600;
    line-height: 1.3;
}


/* Qty */

.posys-quotation-items-table-r5
tbody td:nth-child(3) {
    color: #38566a;

    font-weight: 650;
}


/* Unit */

.posys-quotation-items-table-r5
tbody td:nth-child(4) {
    color: #38566a;

    font-weight: 600;
}


/* Recommended */

.posys-quotation-items-table-r5
tbody td:nth-child(5) {
    color: #36596d;

    font-weight: 650;
}


/* Quoted Total */

.posys-quotation-items-table-r5
tbody td:nth-child(6) {
    color: #087b98;

    font-size: 0.94rem;
    font-weight: 800;
}


/* Locked / actions */

.posys-quotation-items-table-r5
tbody td:last-child {
    color: #536a79;

    font-size: 0.84rem;
    font-weight: 600;
}


/* Keep numeric columns visually stable */

.posys-quotation-items-table-r5
th:nth-child(3),
.posys-quotation-items-table-r5
th:nth-child(4),
.posys-quotation-items-table-r5
th:nth-child(5),
.posys-quotation-items-table-r5
th:nth-child(6),
.posys-quotation-items-table-r5
td:nth-child(3),
.posys-quotation-items-table-r5
td:nth-child(4),
.posys-quotation-items-table-r5
td:nth-child(5),
.posys-quotation-items-table-r5
td:nth-child(6) {
    white-space: nowrap;
}


/* Product gets breathing room */

.posys-quotation-items-table-r5
th:nth-child(2),
.posys-quotation-items-table-r5
td:nth-child(2) {
    width: 29%;
}


/* ============================================================
   VERSION HISTORY CARD
   ============================================================ */

.posys-version-history-card-r6 {
    padding-top: 24px;
}

.posys-version-history-card-r6 > h2 {
    margin-top: 0;
    margin-bottom: 18px;

    font-size: 1.32rem;
    letter-spacing: -0.02em;
}

.posys-version-history-card-r6
.posys-table-wrap {
    overflow-x: auto;

    border: 1px solid #dce5ec;
    border-radius: 10px;

    scrollbar-width: thin;
}


/* ============================================================
   VERSION HISTORY TABLE
   ============================================================ */

.posys-version-history-table-r6 {
    width: 100%;
    min-width: 1080px;

    border-collapse: separate;
    border-spacing: 0;

    table-layout: auto;
}

.posys-version-history-table-r6 thead th {
    padding: 12px 11px;

    border-bottom: 1px solid #d6e0e7;

    background: #eef4f7;

    color: #244257;

    font-size: 0.72rem;
    font-weight: 750;
    line-height: 1.2;

    letter-spacing: 0.01em;

    white-space: nowrap;
}

.posys-version-history-table-r6 tbody td {
    padding: 15px 11px;

    border-bottom: 1px solid #e8eef2;

    background: #ffffff;

    color: #2b485b;

    font-size: 0.84rem;
    line-height: 1.42;

    vertical-align: middle;
}

.posys-version-history-table-r6
tbody tr:last-child td {
    border-bottom: 0;
}

.posys-version-history-table-r6
tbody tr:hover td {
    background: #fbfdfe;
}


/* Version */

.posys-version-history-table-r6
th:nth-child(1),
.posys-version-history-table-r6
td:nth-child(1) {
    width: 66px;

    white-space: nowrap;
}


/* Status */

.posys-version-history-table-r6
th:nth-child(2),
.posys-version-history-table-r6
td:nth-child(2) {
    min-width: 76px;

    white-space: nowrap;
}


/* Money columns */

.posys-version-history-table-r6
th:nth-child(3),
.posys-version-history-table-r6
th:nth-child(4),
.posys-version-history-table-r6
th:nth-child(5),
.posys-version-history-table-r6
th:nth-child(6),
.posys-version-history-table-r6
td:nth-child(3),
.posys-version-history-table-r6
td:nth-child(4),
.posys-version-history-table-r6
td:nth-child(5),
.posys-version-history-table-r6
td:nth-child(6) {
    text-align: right;

    white-space: nowrap;

    font-variant-numeric: tabular-nums;
}


/* Total */

.posys-version-history-table-r6
td:nth-child(6) {
    color: #087b98;

    font-weight: 800;
}


/* Issued */

.posys-version-history-table-r6
th:nth-child(7),
.posys-version-history-table-r6
td:nth-child(7) {
    min-width: 118px;
}


/* Expires */

.posys-version-history-table-r6
th:nth-child(8),
.posys-version-history-table-r6
td:nth-child(8) {
    min-width: 82px;
}


/* Decision time */

.posys-version-history-table-r6
th:nth-child(9),
.posys-version-history-table-r6
td:nth-child(9) {
    min-width: 112px;
}


/* Decided by */

.posys-version-history-table-r6
th:nth-child(10),
.posys-version-history-table-r6
td:nth-child(10) {
    min-width: 92px;
}


/* Handoff */

.posys-version-history-table-r6
th:last-child,
.posys-version-history-table-r6
td:last-child {
    min-width: 132px;

    text-align: right;
}

.posys-version-history-table-r6
td:last-child .button {
    min-height: 38px;

    margin: 0;

    padding: 7px 12px;

    font-size: 0.78rem;
    line-height: 1.2;

    white-space: normal;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 900px) {

    .posys-quotation-items-table-r5
    tbody td {
        font-size: 0.89rem;
    }

    .posys-quotation-items-table-r5
    tbody td:nth-child(2) {
        font-size: 0.93rem;
    }

    .posys-version-history-table-r6 {
        min-width: 1040px;
    }

}


@media (max-width: 760px) {

    .posys-quotation-items-table-r5
    tbody td {
        padding-top: 12px;
        padding-bottom: 12px;

        font-size: 0.88rem;
    }

    .posys-quotation-items-table-r5
    tbody td:nth-child(2) {
        font-size: 0.95rem;
    }

    .posys-quotation-items-table-r5
    tbody td:nth-child(6) {
        font-size: 0.96rem;
    }

    /*
     * Version History intentionally remains a horizontally
     * scrollable commercial table on phone. There are too many
     * audit columns to compress safely into tiny cells.
     */

    .posys-version-history-card-r6 {
        padding-left: 16px;
        padding-right: 16px;
    }

    .posys-version-history-card-r6
    .posys-table-wrap {
        margin-left: 0;
        margin-right: 0;

        -webkit-overflow-scrolling: touch;
    }

    .posys-version-history-table-r6
    tbody td {
        font-size: 0.82rem;
    }

}


/* ============================================================
   POSYS QUOTATION VERSION HISTORY UI R7

   Goal:
   - fit Version History inside normal desktop card width
   - remove unnecessary desktop horizontal scroll
   - preserve readable money/date/audit fields
   - keep Accounting Handoff fully visible
   ============================================================ */


/* ------------------------------------------------------------
   Desktop table shell
   ------------------------------------------------------------ */

.posys-version-history-card-r6
.posys-table-wrap {
    width: 100%;
    max-width: 100%;

    overflow-x: visible;
}


/* ------------------------------------------------------------
   Desktop table geometry
   ------------------------------------------------------------ */

.posys-version-history-table-r6 {
    width: 100%;
    min-width: 0;

    table-layout: fixed;
}


/* ------------------------------------------------------------
   Header typography
   ------------------------------------------------------------ */

.posys-version-history-table-r6 thead th {
    padding: 11px 8px;

    font-size: 0.69rem;
    font-weight: 750;
    line-height: 1.15;

    letter-spacing: 0;

    white-space: normal;
    overflow-wrap: normal;
}


/* ------------------------------------------------------------
   Body typography
   ------------------------------------------------------------ */

.posys-version-history-table-r6 tbody td {
    padding: 14px 8px;

    font-size: 0.84rem;
    line-height: 1.35;

    overflow-wrap: normal;
    word-break: normal;
}


/* ------------------------------------------------------------
   Column widths
   Total = 100%
   ------------------------------------------------------------ */

.posys-version-history-table-r6
th:nth-child(1),
.posys-version-history-table-r6
td:nth-child(1) {
    width: 7%;
}

.posys-version-history-table-r6
th:nth-child(2),
.posys-version-history-table-r6
td:nth-child(2) {
    width: 8%;
}

.posys-version-history-table-r6
th:nth-child(3),
.posys-version-history-table-r6
td:nth-child(3) {
    width: 9%;
}

.posys-version-history-table-r6
th:nth-child(4),
.posys-version-history-table-r6
td:nth-child(4) {
    width: 9%;
}

.posys-version-history-table-r6
th:nth-child(5),
.posys-version-history-table-r6
td:nth-child(5) {
    width: 8%;
}

.posys-version-history-table-r6
th:nth-child(6),
.posys-version-history-table-r6
td:nth-child(6) {
    width: 10%;
}

.posys-version-history-table-r6
th:nth-child(7),
.posys-version-history-table-r6
td:nth-child(7) {
    width: 12%;
}

.posys-version-history-table-r6
th:nth-child(8),
.posys-version-history-table-r6
td:nth-child(8) {
    width: 8%;
}

.posys-version-history-table-r6
th:nth-child(9),
.posys-version-history-table-r6
td:nth-child(9) {
    width: 10%;
}

.posys-version-history-table-r6
th:nth-child(10),
.posys-version-history-table-r6
td:nth-child(10) {
    width: 9%;
}

.posys-version-history-table-r6
th:nth-child(11),
.posys-version-history-table-r6
td:nth-child(11) {
    width: 10%;
}


/* ------------------------------------------------------------
   Version / Status
   ------------------------------------------------------------ */

.posys-version-history-table-r6
td:nth-child(1),
.posys-version-history-table-r6
td:nth-child(2) {
    white-space: nowrap;
}


/* ------------------------------------------------------------
   Commercial values
   ------------------------------------------------------------ */

.posys-version-history-table-r6
th:nth-child(3),
.posys-version-history-table-r6
th:nth-child(4),
.posys-version-history-table-r6
th:nth-child(5),
.posys-version-history-table-r6
th:nth-child(6),
.posys-version-history-table-r6
td:nth-child(3),
.posys-version-history-table-r6
td:nth-child(4),
.posys-version-history-table-r6
td:nth-child(5),
.posys-version-history-table-r6
td:nth-child(6) {
    text-align: right;

    white-space: nowrap;

    font-variant-numeric: tabular-nums;
}


/* Total stays strongest */

.posys-version-history-table-r6
td:nth-child(6) {
    color: #087b98;

    font-weight: 800;
}


/* ------------------------------------------------------------
   Issued date
   Allow a clean date/time wrap instead of narrow fragments.
   ------------------------------------------------------------ */

.posys-version-history-table-r6
td:nth-child(7) {
    color: #38586b;

    font-size: 0.81rem;
    line-height: 1.3;

    white-space: normal;
}


/* ------------------------------------------------------------
   Sparse audit fields
   ------------------------------------------------------------ */

.posys-version-history-table-r6
td:nth-child(8),
.posys-version-history-table-r6
td:nth-child(9),
.posys-version-history-table-r6
td:nth-child(10) {
    color: #657a88;

    text-align: center;
}


/* ------------------------------------------------------------
   Handoff
   ------------------------------------------------------------ */

.posys-version-history-table-r6
th:last-child,
.posys-version-history-table-r6
td:last-child {
    min-width: 0;

    text-align: right;
}

.posys-version-history-table-r6
td:last-child .button {
    width: 100%;
    min-width: 0;
    min-height: 38px;

    padding: 7px 8px;

    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.15;

    white-space: normal;
}


/* ------------------------------------------------------------
   Medium desktop / laptop
   ------------------------------------------------------------ */

@media (max-width: 1180px) {

    .posys-version-history-table-r6 thead th {
        padding-left: 6px;
        padding-right: 6px;

        font-size: 0.66rem;
    }

    .posys-version-history-table-r6 tbody td {
        padding-left: 6px;
        padding-right: 6px;

        font-size: 0.8rem;
    }

    .posys-version-history-table-r6
    td:nth-child(7) {
        font-size: 0.77rem;
    }

    .posys-version-history-table-r6
    td:last-child .button {
        padding-left: 6px;
        padding-right: 6px;

        font-size: 0.69rem;
    }

}


/* ------------------------------------------------------------
   Tablet / mobile:
   restore controlled horizontal scrolling because the audit
   table contains too many fields for safe compression.
   ------------------------------------------------------------ */

@media (max-width: 900px) {

    .posys-version-history-card-r6
    .posys-table-wrap {
        overflow-x: auto;

        -webkit-overflow-scrolling: touch;
    }

    .posys-version-history-table-r6 {
        min-width: 980px;

        table-layout: auto;
    }

    .posys-version-history-table-r6 thead th {
        padding: 11px 9px;

        font-size: 0.69rem;

        white-space: nowrap;
    }

    .posys-version-history-table-r6 tbody td {
        padding: 13px 9px;

        font-size: 0.82rem;
    }

    .posys-version-history-table-r6
    th:nth-child(7),
    .posys-version-history-table-r6
    td:nth-child(7) {
        min-width: 120px;
    }

    .posys-version-history-table-r6
    th:last-child,
    .posys-version-history-table-r6
    td:last-child {
        min-width: 118px;
    }

    .posys-version-history-table-r6
    td:last-child .button {
        width: auto;
        min-width: 104px;
    }

}


/* ============================================================
   POSYS AI SALES AGENT UI R2

   Scope:
   - AI Sales Agent page only
   - KPI hierarchy
   - quotation funnel
   - staff handoff visibility
   - daily performance table

   No analytics calculations or workflow logic are changed.
   ============================================================ */


/* ============================================================
   PAGE HEADER
   ============================================================ */

.posys-agent-dashboard-r2
.posys-detail-header {
    margin-bottom: 20px;
}

.posys-agent-dashboard-r2
.posys-detail-title h1 {
    letter-spacing: -0.025em;
}

.posys-agent-dashboard-r2
.posys-detail-meta {
    margin-top: 6px;

    color: #667987;

    font-size: 0.9rem;
}


/* ============================================================
   DATE RANGE
   ============================================================ */

.posys-agent-dashboard-r2
.posys-agent-range-r2 {
    gap: 8px;
}

.posys-agent-dashboard-r2
.posys-agent-range-r2 .button {
    min-width: 72px;
    min-height: 42px;

    padding-left: 15px;
    padding-right: 15px;

    font-size: 0.84rem;
    font-weight: 700;
}

.posys-agent-dashboard-r2
.posys-agent-range-r2 .button-primary {
    box-shadow:
        0 4px 12px rgba(0, 166, 214, 0.16);
}


/* ============================================================
   KPI GRID
   ============================================================ */

.posys-agent-dashboard-r2
.posys-agent-kpis {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 14px;

    margin-bottom: 16px;
}

.posys-agent-dashboard-r2
.posys-agent-kpi {
    position: relative;

    min-width: 0;
    min-height: 124px;

    margin: 0;
    padding: 17px 18px 16px;

    overflow: hidden;
}

.posys-agent-dashboard-r2
.posys-agent-kpi::before {
    content: "";

    position: absolute;
    top: 0;
    right: 0;
    left: 0;

    height: 3px;

    background: #8ba0af;
}

.posys-agent-dashboard-r2
.posys-agent-kpi > span {
    display: block;

    margin-bottom: 7px;

    color: #536978;

    font-size: 0.72rem;
    font-weight: 750;
    line-height: 1.25;

    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.posys-agent-dashboard-r2
.posys-agent-kpi > strong {
    display: block;

    margin-bottom: 3px;

    color: #102f43;

    font-size: 1.85rem;
    font-weight: 800;
    line-height: 1;

    letter-spacing: -0.035em;

    font-variant-numeric: tabular-nums;
}

.posys-agent-dashboard-r2
.posys-agent-kpi > small {
    display: block;

    color: #697c89;

    font-size: 0.8rem;
    line-height: 1.35;
}


/* Automatic ------------------------------------------------ */

.posys-agent-dashboard-r2
.posys-agent-kpi--auto::before {
    background: #08a6d2;
}


/* Holding reply ------------------------------------------- */

.posys-agent-dashboard-r2
.posys-agent-kpi--holding::before {
    background: #e4b228;
}


/* Reply time ---------------------------------------------- */

.posys-agent-dashboard-r2
.posys-agent-kpi--time::before {
    background: #496b83;
}


/* Attention ----------------------------------------------- */

.posys-agent-dashboard-r2
.posys-agent-kpi--attention::before {
    background: #8398a7;
}

.posys-agent-dashboard-r2
.posys-agent-kpi--attention.is-alert {
    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #ffffff 72%,
            #fff5f3 100%
        );
}

.posys-agent-dashboard-r2
.posys-agent-kpi--attention.is-alert::before {
    background: #c43c31;
}

.posys-agent-dashboard-r2
.posys-agent-kpi--attention.is-alert > strong {
    color: #a72b22;
}


/* KPI progress bar ---------------------------------------- */

.posys-agent-dashboard-r2
.posys-agent-bar {
    height: 6px;

    margin-top: 11px;

    overflow: hidden;

    border-radius: 999px;

    background: #e6edf2;
}

.posys-agent-dashboard-r2
.posys-agent-bar > i {
    display: block;

    height: 100%;

    border-radius: inherit;

    background: #08a6d2;
}


/* ============================================================
   FUNNEL + STAFF GRID
   ============================================================ */

.posys-agent-dashboard-r2
.posys-agent-columns {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 16px;

    margin-bottom: 16px;
}

.posys-agent-dashboard-r2
.posys-agent-columns > .posys-card {
    min-width: 0;

    margin: 0;

    padding: 24px;
}

.posys-agent-dashboard-r2
.posys-agent-columns h2 {
    margin-top: 0;
    margin-bottom: 18px;

    color: #102f43;

    font-size: 1.28rem;
    letter-spacing: -0.02em;
}


/* ============================================================
   QUOTATION FUNNEL
   ============================================================ */

.posys-agent-dashboard-r2
.posys-agent-funnel-card-r2
.posys-detail-list {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    gap: 0;

    margin: 0;

    counter-reset: posys-agent-funnel;
}

.posys-agent-dashboard-r2
.posys-agent-funnel-card-r2
.posys-detail-list dt,
.posys-agent-dashboard-r2
.posys-agent-funnel-card-r2
.posys-detail-list dd {
    min-width: 0;

    margin: 0;
    padding-top: 10px;
    padding-bottom: 10px;

    border-bottom: 1px solid #e8eef2;
}

.posys-agent-dashboard-r2
.posys-agent-funnel-card-r2
.posys-detail-list dt {
    position: relative;

    padding-left: 32px;
    padding-right: 12px;

    color: #465f70;

    font-size: 0.86rem;
    font-weight: 650;
    line-height: 1.35;

    counter-increment: posys-agent-funnel;
}

.posys-agent-dashboard-r2
.posys-agent-funnel-card-r2
.posys-detail-list dt::before {
    content: counter(posys-agent-funnel);

    position: absolute;
    top: 9px;
    left: 0;

    display: inline-flex;

    width: 22px;
    height: 22px;

    align-items: center;
    justify-content: center;

    border: 1px solid #cbd8e0;
    border-radius: 999px;

    background: #f5f8fa;

    color: #486174;

    font-size: 0.67rem;
    font-weight: 800;
}

.posys-agent-dashboard-r2
.posys-agent-funnel-card-r2
.posys-detail-list dd {
    padding-left: 12px;

    color: #102f43;

    font-size: 0.9rem;
    font-weight: 800;

    text-align: right;

    font-variant-numeric: tabular-nums;
}

.posys-agent-dashboard-r2
.posys-agent-funnel-card-r2
.posys-detail-list dt:last-of-type,
.posys-agent-dashboard-r2
.posys-agent-funnel-card-r2
.posys-detail-list dd:last-of-type {
    border-bottom: 0;
}

.posys-agent-dashboard-r2
.posys-agent-funnel-card-r2
.posys-detail-list dt:last-of-type::before {
    border-color: #9edbb7;
    background: #eaf7ef;

    color: #1d7a45;
}

.posys-agent-dashboard-r2
.posys-agent-funnel-card-r2
.posys-detail-list dd:last-of-type {
    color: #1d7a45;
}


/* ============================================================
   STAFF HANDOFF
   ============================================================ */

.posys-agent-dashboard-r2
.posys-agent-staff-card-r2
.posys-detail-list {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    gap: 0;

    margin: 0;
}

.posys-agent-dashboard-r2
.posys-agent-staff-card-r2
.posys-detail-list dt,
.posys-agent-dashboard-r2
.posys-agent-staff-card-r2
.posys-detail-list dd {
    min-width: 0;

    margin: 0;
    padding-top: 10px;
    padding-bottom: 10px;

    border-bottom: 1px solid #e8eef2;
}

.posys-agent-dashboard-r2
.posys-agent-staff-card-r2
.posys-detail-list dt {
    padding-right: 14px;

    color: #465f70;

    font-size: 0.86rem;
    font-weight: 650;
    line-height: 1.35;
}

.posys-agent-dashboard-r2
.posys-agent-staff-card-r2
.posys-detail-list dd {
    display: flex;

    min-width: 34px;

    align-items: center;
    justify-content: flex-end;

    color: #526b7b;

    font-size: 0.88rem;
    font-weight: 750;

    font-variant-numeric: tabular-nums;
}

.posys-agent-dashboard-r2
.posys-agent-staff-card-r2
.posys-detail-list dt:last-of-type,
.posys-agent-dashboard-r2
.posys-agent-staff-card-r2
.posys-detail-list dd:last-of-type {
    border-bottom: 0;
}

.posys-agent-dashboard-r2
.posys-agent-count-alert-r2 {
    color: #b42318 !important;
}

.posys-agent-dashboard-r2
.posys-agent-count-alert-r2::after {
    content: "";

    width: 7px;
    height: 7px;

    margin-left: 7px;

    border-radius: 999px;

    background: #d7473d;

    box-shadow:
        0 0 0 3px rgba(215, 71, 61, 0.11);
}

.posys-agent-dashboard-r2
.posys-agent-count-resolved-r2 {
    color: #1d7a45 !important;
}


/* ============================================================
   DAILY PERFORMANCE
   ============================================================ */

.posys-agent-dashboard-r2
.posys-agent-daily-card-r2 {
    padding: 24px;
}

.posys-agent-dashboard-r2
.posys-agent-daily-card-r2 > h2 {
    margin-top: 0;
    margin-bottom: 18px;

    color: #102f43;

    font-size: 1.28rem;
    letter-spacing: -0.02em;
}

.posys-agent-dashboard-r2
.posys-agent-daily-card-r2
.posys-table-wrap {
    overflow: hidden;

    border: 1px solid #dce5ec;
    border-radius: 10px;
}

.posys-agent-dashboard-r2
.posys-agent-daily-table-r2 {
    width: 100%;

    border-collapse: separate;
    border-spacing: 0;
}

.posys-agent-dashboard-r2
.posys-agent-daily-table-r2 thead th {
    padding: 12px 15px;

    border-bottom: 1px solid #d7e1e8;

    background: #eef4f7;

    color: #244257;

    font-size: 0.72rem;
    font-weight: 750;
    line-height: 1.2;

    letter-spacing: 0.012em;

    white-space: nowrap;
}

.posys-agent-dashboard-r2
.posys-agent-daily-table-r2 tbody td {
    padding: 14px 15px;

    border-bottom: 1px solid #e8eef2;

    color: #29485c;

    font-size: 0.86rem;
    line-height: 1.35;

    font-variant-numeric: tabular-nums;
}

.posys-agent-dashboard-r2
.posys-agent-daily-table-r2 tbody tr:last-child td {
    border-bottom: 0;
}

.posys-agent-dashboard-r2
.posys-agent-daily-table-r2 tbody tr:hover td {
    background: #fbfdfe;
}

.posys-agent-dashboard-r2
.posys-agent-daily-table-r2 th:not(:first-child),
.posys-agent-dashboard-r2
.posys-agent-daily-table-r2 td:not(:first-child) {
    text-align: right;
}

.posys-agent-dashboard-r2
.posys-agent-daily-table-r2 td:first-child {
    color: #18384e;

    font-weight: 650;
}


/* Answer rate --------------------------------------------- */

.posys-agent-dashboard-r2
.posys-agent-answer-rate-r2 {
    display: grid;

    grid-template-columns:
        minmax(70px, 1fr)
        38px;

    gap: 10px;

    align-items: center;

    min-width: 145px;
}

.posys-agent-dashboard-r2
.posys-agent-answer-rate-r2
.posys-agent-bar--inline {
    width: 100%;
    height: 6px;

    margin: 0;
}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1100px) {

    .posys-agent-dashboard-r2
    .posys-agent-kpis {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .posys-agent-dashboard-r2
    .posys-agent-columns {
        grid-template-columns: 1fr;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 700px) {

    .posys-agent-dashboard-r2
    .posys-detail-header {
        gap: 14px;
    }

    .posys-agent-dashboard-r2
    .posys-agent-range-r2 {
        display: grid;

        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        width: 100%;
    }

    .posys-agent-dashboard-r2
    .posys-agent-range-r2 .button {
        width: 100%;
        min-width: 0;
    }

    .posys-agent-dashboard-r2
    .posys-agent-kpis {
        grid-template-columns: 1fr;

        gap: 10px;
    }

    .posys-agent-dashboard-r2
    .posys-agent-kpi {
        min-height: 0;

        padding: 15px 16px;
    }

    .posys-agent-dashboard-r2
    .posys-agent-columns > .posys-card,
    .posys-agent-dashboard-r2
    .posys-agent-daily-card-r2 {
        padding: 18px 16px;
    }

    .posys-agent-dashboard-r2
    .posys-agent-daily-card-r2
    .posys-table-wrap {
        overflow-x: auto;

        -webkit-overflow-scrolling: touch;
    }

    .posys-agent-dashboard-r2
    .posys-agent-daily-table-r2 {
        min-width: 650px;
    }

}


/* ============================================================
   POSYS NEEDS ATTENTION UI R3
   Operational staff attention queue.
   ============================================================ */

.posys-attention-page-r3
.posys-attention-header-r3 {
    margin-bottom: 22px;
}

.posys-attention-header-r3 h1 {
    display: inline-block;

    margin-right: 10px;
    margin-bottom: 8px;

    letter-spacing: -0.025em;
}

.posys-attention-count-r3 {
    display: inline-flex;

    align-items: center;

    min-height: 28px;

    padding: 4px 10px;

    border: 1px solid #efb6b0;
    border-radius: 999px;

    background: #fff3f1;

    color: #a92f26;

    font-size: 0.76rem;
    font-weight: 750;

    vertical-align: middle;
}

.posys-attention-header-r3 p {
    max-width: 840px;

    color: #627684;

    line-height: 1.55;
}


/* Queue card ---------------------------------------------- */

.posys-attention-card-r3 {
    padding: 22px 24px;
}

.posys-attention-table-wrap-r3 {
    overflow: hidden;

    border: 1px solid #dce5ec;
    border-radius: 11px;
}


/* Table ---------------------------------------------------- */

.posys-attention-table-r3 {
    width: 100%;

    border-collapse: separate;
    border-spacing: 0;

    table-layout: fixed;
}

.posys-attention-table-r3 thead th {
    padding: 12px 14px;

    border-bottom: 1px solid #d7e1e8;

    background: #eef4f7;

    color: #244257;

    font-size: 0.72rem;
    font-weight: 750;

    white-space: nowrap;
}

.posys-attention-table-r3 tbody td {
    padding: 17px 14px;

    border-bottom: 1px solid #e6edf2;

    background: #fff;

    color: #29485c;

    font-size: 0.86rem;
    line-height: 1.45;

    vertical-align: middle;
}

.posys-attention-table-r3 tbody tr:last-child td {
    border-bottom: 0;
}

.posys-attention-table-r3 tbody tr:hover td {
    background: #fbfdfe;
}


/* Column geometry ----------------------------------------- */

.posys-attention-table-r3 th:nth-child(1),
.posys-attention-table-r3 td:nth-child(1) {
    width: 16%;
}

.posys-attention-table-r3 th:nth-child(2),
.posys-attention-table-r3 td:nth-child(2) {
    width: 24%;
}

.posys-attention-table-r3 th:nth-child(3),
.posys-attention-table-r3 td:nth-child(3) {
    width: 16%;
}

.posys-attention-table-r3 th:nth-child(4),
.posys-attention-table-r3 td:nth-child(4) {
    width: 14%;
}

.posys-attention-table-r3 th:nth-child(5),
.posys-attention-table-r3 td:nth-child(5) {
    width: 30%;
}


/* Customer ------------------------------------------------- */

.posys-attention-customer-name-r3 {
    color: #102f43;

    font-size: 0.94rem;
    font-weight: 800;
}

.posys-attention-customer-r3 a {
    font-size: 0.81rem;
    font-weight: 650;

    text-underline-offset: 2px;
}

.posys-attention-customer-r3 small {
    color: #71828d;

    font-size: 0.75rem;
}


/* Reason --------------------------------------------------- */

.posys-attention-reason-r3 {
    display: inline-flex;

    padding: 4px 8px;

    border: 1px solid #efb7b1;
    border-radius: 7px;

    background: #fff4f2;

    color: #a72e25;

    font-size: 0.76rem;
    font-weight: 750;
    line-height: 1.25;
}

.posys-attention-detail-r3 {
    display: block;

    margin-top: 7px;

    color: #607482;

    font-size: 0.78rem;
    line-height: 1.4;
}


/* Latest message ------------------------------------------ */

.posys-attention-message-text-r3 {
    display: block;

    color: #15374d;

    font-size: 0.91rem;
    font-weight: 650;

    overflow-wrap: anywhere;
}

.posys-attention-message-count-r3 {
    display: block;

    margin-top: 5px;

    color: #73848f;

    font-size: 0.73rem;
}


/* Waiting -------------------------------------------------- */

.posys-attention-waiting-r3 {
    font-variant-numeric: tabular-nums;
}

.posys-attention-wait-r3 {
    display: block;

    margin-bottom: 7px;

    color: #a54a12;

    font-size: 1.02rem;
    font-weight: 800;
    line-height: 1.1;
}

.posys-attention-holding-r3 {
    display: inline-flex;

    padding: 3px 7px;

    border-radius: 999px;

    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.2;
}

.posys-attention-holding-r3.is-sent {
    background: #edf6f8;

    color: #416472;
}

.posys-attention-holding-r3.is-missing {
    border: 1px solid #f0ca91;

    background: #fff8e8;

    color: #995609;
}


/* Resolve action ------------------------------------------ */

.posys-attention-resolve-r3 {
    display: grid;

    grid-template-columns:
        minmax(120px, 1fr)
        auto;

    gap: 8px;

    align-items: center;

    margin: 0;
}

.posys-attention-note-r3 {
    width: 100%;
    min-width: 0;
    min-height: 40px;

    margin: 0;

    padding: 8px 11px;

    border: 1px solid #c8d5df;
    border-radius: 8px;

    background: #fff;

    color: #18384d;

    font: inherit;
    font-size: 0.82rem;

    outline: none;
}

.posys-attention-note-r3:focus {
    border-color: #41afd0;

    box-shadow:
        0 0 0 3px rgba(0, 166, 214, 0.10);
}

.posys-attention-handle-r3 {
    min-height: 40px;

    margin: 0;

    padding-left: 14px;
    padding-right: 14px;

    white-space: nowrap;
}


/* Laptop --------------------------------------------------- */

@media (max-width: 1180px) {

    .posys-attention-resolve-r3 {
        grid-template-columns: 1fr;
    }

    .posys-attention-handle-r3 {
        width: max-content;
    }

}


/* Mobile --------------------------------------------------- */

@media (max-width: 760px) {

    .posys-attention-card-r3 {
        padding: 16px;
    }

    .posys-attention-table-wrap-r3 {
        overflow-x: auto;

        -webkit-overflow-scrolling: touch;
    }

    .posys-attention-table-r3 {
        min-width: 880px;
    }

}


/* Small mobile */

@media (max-width: 480px) {

    .posys-attention-header-r3 h1 {
        display: block;
    }

}

/* ---------------- Artwork Review ---------------- */

.posys-artwork-review-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.posys-artwork-review-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--card-bg);
}

.posys-artwork-review-main {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.posys-artwork-review-main strong {
    overflow-wrap: anywhere;
}

.posys-artwork-review-meta {
    color: var(--text-secondary);
    font-size: 0.82rem;
}

.posys-artwork-review-actions {
    display: flex;
    gap: 8px;
}

.posys-artwork-review-actions form {
    margin: 0;
}

.posys-artwork-pill {
    display: inline-flex;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap;
}

.posys-artwork-pill-ok {
    background: #e8f6ef;
    color: #24704b;
}

.posys-artwork-pill-warning {
    background: #fdf1e3;
    color: #9a4d00;
}

.posys-artwork-pill-pending {
    background: var(--muted-bg);
    color: var(--text-secondary);
}

.posys-artwork-review-empty,
.posys-artwork-review-error {
    color: var(--text-secondary);
}

.posys-artwork-review-error {
    color: var(--danger);
}

.posys-artwork-findings {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.posys-artwork-finding {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 10px 12px;
    border-left: 4px solid var(--border);
    border-radius: 6px;
    background: var(--muted-bg);
}

.posys-artwork-finding p {
    margin: 2px 0 0;
    color: var(--text-secondary);
}

.posys-artwork-finding-warning {
    border-left-color: #d97706;
    background: #fdf6ec;
}

.posys-artwork-finding-ok {
    border-left-color: var(--success);
}

.posys-artwork-finding-source {
    color: var(--text-secondary);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.posys-artwork-previews {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 14px;
}

.posys-artwork-previews figure {
    margin: 0;
}

.posys-artwork-previews img {
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: #fff;
}

.posys-artwork-previews figcaption {
    margin-top: 4px;
    color: var(--text-secondary);
    font-size: 0.8rem;
}

.posys-artwork-history {
    margin: 0;
    padding-left: 18px;
}

@media (max-width: 720px) {
    .posys-artwork-review-row {
        grid-template-columns: 1fr;
    }
}

/* Artwork Review request-only layout
   Production detail uses stronger grid rules, so keep this scoped to
   the production-item design grid and explicitly place the review
   on its own full-width row. */
.posys-production-detail-layout-v3
.posys-item-v3-design-grid
> .posys-artwork-review-card {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    align-self: stretch !important;
}

/* The client-proof card immediately before Artwork Review also gets
   the complete row instead of leaving a half-row gap. */
.posys-production-detail-layout-v3
.posys-item-v3-design-grid
> .posys-item-client-proof-card {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

/* Full-width review rows have room for filename, result and actions.
   Keep the action buttons stable and prevent the filename column from
   collapsing to character-width wrapping. */
.posys-production-detail-layout-v3
.posys-artwork-review-card
.posys-artwork-review-row {
    grid-template-columns:
        minmax(280px, 1fr)
        minmax(max-content, auto)
        auto;
}

.posys-production-detail-layout-v3
.posys-artwork-review-card
.posys-artwork-review-main {
    min-width: 0;
}

.posys-production-detail-layout-v3
.posys-artwork-review-card
.posys-artwork-review-main strong {
    word-break: normal;
    overflow-wrap: anywhere;
}

@media (max-width: 900px) {
    .posys-production-detail-layout-v3
    .posys-artwork-review-card
    .posys-artwork-review-row {
        grid-template-columns: 1fr;
    }

    .posys-production-detail-layout-v3
    .posys-artwork-review-card
    .posys-artwork-review-actions {
        flex-wrap: wrap;
    }
}


/* ============================================================
   POSYS ARTWORK REVIEW ACTION BUTTONS R11
   Clear hierarchy + equal sizing + no text wrapping
   ============================================================ */

.posys-production-detail-layout-v3
.posys-artwork-review-card
.posys-artwork-review-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: nowrap;
}

.posys-production-detail-layout-v3
.posys-artwork-review-card
.posys-artwork-review-actions form {
    display: flex;
    margin: 0;
}

.posys-production-detail-layout-v3
.posys-artwork-review-card
.posys-artwork-review-actions
.posys-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 118px;
    height: 42px;
    min-height: 42px;

    padding: 0 16px;

    line-height: 1;
    white-space: nowrap;
    text-align: center;
}

/* Main action: open the existing analysis/report. */
.posys-production-detail-layout-v3
.posys-artwork-review-card
.posys-artwork-review-view-button {
    min-width: 118px;
}

/* Secondary action: explicitly run the review again. */
.posys-production-detail-layout-v3
.posys-artwork-review-card
.posys-artwork-review-check-button {
    min-width: 118px;
}

/* First-time review request is the main action for an unreviewed file. */
.posys-production-detail-layout-v3
.posys-artwork-review-card
.posys-artwork-review-request-button {
    min-width: 132px;
}


/* Tablet / narrow desktop */
@media (max-width: 1050px) {

    .posys-production-detail-layout-v3
    .posys-artwork-review-card
    .posys-artwork-review-actions {
        flex-wrap: wrap;
    }

}


/* Mobile */
@media (max-width: 720px) {

    .posys-production-detail-layout-v3
    .posys-artwork-review-card
    .posys-artwork-review-actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
        gap: 8px;
    }

    .posys-production-detail-layout-v3
    .posys-artwork-review-card
    .posys-artwork-review-actions form {
        width: 100%;
    }

    .posys-production-detail-layout-v3
    .posys-artwork-review-card
    .posys-artwork-review-actions
    .posys-button {
        width: 100%;
        min-width: 0;
    }

}


/* ============================================================
   POSYS SIDEBAR NAVIGATION TIDY R3 START
   Compact navigation rows beneath V3 section headings
   ============================================================ */

.posys-sidebar .posys-nav {
    display: flex !important;
    flex-direction: column !important;

    gap: 2px !important;

    margin-top: 3px !important;
    margin-bottom: 14px !important;

    padding-left: 12px !important;
    padding-right: 12px !important;
}

.posys-sidebar .posys-nav a {
    position: relative;

    display: flex !important;
    align-items: center !important;

    width: 100%;

    min-height: 38px !important;

    margin: 0 !important;

    padding:
        8px
        11px
        8px
        13px !important;

    box-sizing: border-box;

    border: 1px solid transparent;
    border-radius: 8px !important;

    background: transparent;

    color: rgba(240, 248, 253, 0.94);

    font-size: 0.91rem;
    font-weight: 500;
    line-height: 1.2;

    text-decoration: none;

    transform: none !important;

    transition:
        background-color 0.15s ease,
        border-color 0.15s ease,
        color 0.15s ease,
        padding-left 0.15s ease;
}

.posys-sidebar .posys-nav a::before {
    content: "";

    position: absolute;

    top: 50%;
    left: 2px;

    width: 2px;
    height: 0;

    border-radius: 999px;

    background: rgba(92, 204, 255, 0.9);

    transform: translateY(-50%);

    opacity: 0;

    transition:
        height 0.15s ease,
        opacity 0.15s ease;
}

.posys-sidebar .posys-nav a:hover {
    padding-left: 15px !important;

    background:
        rgba(255, 255, 255, 0.055) !important;

    border-color:
        rgba(255, 255, 255, 0.035);

    color: #ffffff !important;
}

.posys-sidebar .posys-nav a:hover::before {
    height: 15px;
    opacity: 0.65;
}

.posys-sidebar .posys-nav a.active,
.posys-sidebar .posys-nav a.is-active,
.posys-sidebar .posys-nav a[aria-current="page"] {
    padding-left: 15px !important;

    background:
        rgba(255, 255, 255, 0.085) !important;

    border-color:
        rgba(111, 207, 255, 0.08);

    color: #ffffff !important;

    font-weight: 700 !important;

    box-shadow:
        inset 0 0 0 1px
        rgba(255, 255, 255, 0.018);
}

.posys-sidebar .posys-nav a.active::before,
.posys-sidebar .posys-nav a.is-active::before,
.posys-sidebar .posys-nav a[aria-current="page"]::before {
    height: 20px;
    opacity: 1;
}

.posys-sidebar
.posys-nav-operations
a::before {
    background: #42c8ff;
}

.posys-sidebar
.posys-nav-commercial
a::before {
    background: #f34fa6;
}

.posys-sidebar
.posys-nav-management
a::before {
    background: #f5d33f;
}

.posys-sidebar
.posys-nav
+ .posys-nav-section {
    margin-top: 11px !important;
}

/* Slightly denser long Management list. */

.posys-sidebar
.posys-nav-management
a {
    min-height: 36px !important;

    padding-top: 7px !important;
    padding-bottom: 7px !important;
}

/* Cleaner sidebar scroll. */

.posys-sidebar {
    scrollbar-width: thin;

    scrollbar-color:
        rgba(138, 192, 220, 0.34)
        transparent;
}

.posys-sidebar::-webkit-scrollbar {
    width: 6px;
}

.posys-sidebar::-webkit-scrollbar-track {
    background: transparent;
}

.posys-sidebar::-webkit-scrollbar-thumb {
    border-radius: 999px;

    background:
        rgba(138, 192, 220, 0.28);
}

.posys-sidebar::-webkit-scrollbar-thumb:hover {
    background:
        rgba(138, 192, 220, 0.42);
}

/* Desktop */

@media (min-width: 901px) {

    .posys-sidebar
    .posys-nav-section {
        margin-top: 15px !important;
        margin-bottom: 5px !important;
    }

    .posys-sidebar
    .posys-brand
    + .posys-nav-section {
        margin-top: 13px !important;
    }

}

/* Mobile / off-canvas */

@media (max-width: 900px) {

    .posys-sidebar
    .posys-nav {
        gap: 3px !important;
        margin-bottom: 16px !important;
    }

    .posys-sidebar
    .posys-nav
    a {
        min-height: 43px !important;

        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    .posys-sidebar
    .posys-nav-management
    a {
        min-height: 43px !important;
    }

}

/* POSYS SIDEBAR NAVIGATION TIDY R3 END */


/* ============================================================
   POSYS DASHBOARD KPI COMPLETED CARD NORMALIZATION R5
   Final authoritative safeguard against historical rules that
   made Completed Today span the whole row.
   ============================================================ */

@media (min-width: 621px) {

    .posys-dashboard-kpis-readiness-v1
    > .posys-dashboard-kpi-v2-completed {
        grid-column:
            span 3 !important;
    }


    .posys-dashboard-kpis-count-7
    > .posys-dashboard-kpi-v2-completed {
        grid-column:
            span 4 !important;
    }

}

/* POSYS DASHBOARD KPI COMPLETED CARD NORMALIZATION R5 END */


/* ============================================================
   POSYS OPERATIONAL AUDIT TABLE UI V3 START
   Cleaner event register / status hierarchy
   ============================================================ */

.posys-audit-v1-table-wrap {
    border-color: #dbe6ed !important;
    border-radius: 16px !important;

    box-shadow:
        0 7px 24px
        rgba(18, 55, 79, 0.055) !important;
}

.posys-audit-v1-table {
    min-width: 1120px !important;
    table-layout: fixed !important;
}


/* Desktop column balance */

.posys-audit-v1-table th:nth-child(1),
.posys-audit-v1-table td:nth-child(1) {
    width: 13% !important;
}

.posys-audit-v1-table th:nth-child(2),
.posys-audit-v1-table td:nth-child(2) {
    width: 9% !important;
}

.posys-audit-v1-table th:nth-child(3),
.posys-audit-v1-table td:nth-child(3) {
    width: 14% !important;
}

.posys-audit-v1-table th:nth-child(4),
.posys-audit-v1-table td:nth-child(4) {
    width: 18% !important;
}

.posys-audit-v1-table th:nth-child(5),
.posys-audit-v1-table td:nth-child(5) {
    width: 10% !important;
}

.posys-audit-v1-table th:nth-child(6),
.posys-audit-v1-table td:nth-child(6) {
    width: 17% !important;
}

.posys-audit-v1-table th:nth-child(7),
.posys-audit-v1-table td:nth-child(7) {
    width: 19% !important;
}


/* Header */

.posys-audit-v1-table thead th {
    padding:
        13px
        14px !important;

    background:
        linear-gradient(
            180deg,
            #f1f7fa 0%,
            #eaf3f7 100%
        ) !important;

    border-bottom:
        1px solid
        #d7e4eb !important;

    color:
        #18394e !important;

    font-size:
        0.68rem !important;

    letter-spacing:
        0.065em !important;
}


/* Rows */

.posys-audit-v1-table tbody td {
    padding:
        14px
        14px !important;

    color:
        #243f51 !important;

    font-size:
        0.86rem !important;

    line-height:
        1.38 !important;

    vertical-align:
        middle !important;
}

.posys-audit-v1-table tbody tr:nth-child(even) td {
    background-color:
        rgba(246, 250, 252, 0.42);
}

.posys-audit-v1-table tbody tr:hover td {
    background-color:
        #f4fafe !important;
}

.posys-audit-v1-table tbody tr:hover td:first-child {
    box-shadow:
        inset 3px 0 0
        #18a7dc !important;
}


/* Date */

.posys-audit-v1-table
.posys-audit-v1-nowrap {
    color:
        #4b6474 !important;

    font-size:
        0.82rem !important;

    font-variant-numeric:
        tabular-nums;
}


/* Module */

.posys-audit-v1-module {
    min-height:
        24px !important;

    padding:
        4px
        9px !important;

    font-size:
        0.67rem !important;
}


/* Action */

.posys-audit-v3-action {
    display: block;

    color:
        #102f45;

    font-size:
        0.86rem;

    font-weight:
        780;

    line-height:
        1.3;

    overflow-wrap:
        anywhere;
}


/* Reference */

.posys-audit-v1-reference {
    color:
        #07517d !important;

    font-weight:
        800 !important;

    line-height:
        1.25 !important;
}

.posys-audit-v1-table
td[data-label="Reference"]
small {
    margin-top:
        4px !important;

    color:
        #7b8f9e !important;
}


/* User */

.posys-audit-v1-table
td[data-label="User"] {
    color:
        #304b5d !important;

    font-weight:
        600 !important;
}


/* Status */

.posys-audit-v3-status {
    display:
        inline-flex;

    align-items:
        center;

    max-width:
        100%;

    min-height:
        28px;

    padding:
        5px
        9px;

    box-sizing:
        border-box;

    border:
        1px solid
        #d7e6ee;

    border-radius:
        999px;

    background:
        #f2f8fb;

    color:
        #31566c;

    font-size:
        0.72rem;

    font-weight:
        750;

    line-height:
        1.2;

    overflow-wrap:
        anywhere;

    word-break:
        normal;
}

.posys-audit-v3-status[data-status*="complete" i],
.posys-audit-v3-status[data-status*="passed" i],
.posys-audit-v3-status[data-status*="approved" i] {
    border-color:
        #cfe8d7;

    background:
        #eef9f1;

    color:
        #24633b;
}

.posys-audit-v3-status[data-status*="production" i],
.posys-audit-v3-status[data-status*="start" i],
.posys-audit-v3-status[data-status*="execution" i] {
    border-color:
        #cae8f2;

    background:
        #eef9fd;

    color:
        #17627e;
}

.posys-audit-v3-status[data-status*="submitted" i],
.posys-audit-v3-status[data-status*="revision" i],
.posys-audit-v3-status[data-status*="design" i] {
    border-color:
        #e3d8ef;

    background:
        #f7f2fb;

    color:
        #69487b;
}

.posys-audit-v3-status[data-status*="fail" i],
.posys-audit-v3-status[data-status*="reject" i],
.posys-audit-v3-status[data-status*="error" i] {
    border-color:
        #f0d2d2;

    background:
        #fff3f3;

    color:
        #9d3434;
}

.posys-audit-v3-status-empty {
    min-width:
        30px;

    justify-content:
        center;

    color:
        #8394a0;
}


/* Details */

.posys-audit-v3-details {
    display:
        block;

    color:
        #415b6c;

    font-size:
        0.84rem;

    line-height:
        1.45;

    overflow-wrap:
        anywhere;

    word-break:
        normal;
}

.posys-audit-v1-table
td[data-label="Details"] {
    padding-right:
        20px !important;
}


/* Responsive */

@media (max-width: 1180px) {

    .posys-audit-v1-table {
        min-width:
            1060px !important;
    }

}

@media (max-width: 820px) {

    .posys-audit-v1-table {
        min-width:
            980px !important;
    }

}

/* POSYS OPERATIONAL AUDIT TABLE UI V3 END */


/* ============================================================
 * POSYS_AI_WORKING_POPUP_V1 — "AI is working" pop-up shown
 * after an AI button is clicked and while the AI is busy.
 * ============================================================ */

.posys-ai-working {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 2000;
    display: flex;
    align-items: center;
    gap: 14px;
    max-width: 380px;
    padding: 14px 18px 14px 14px;
    border-radius: 14px;
    background: #ffffff;
    color: #1f2937;
    box-shadow: 0 12px 32px rgba(17, 24, 39, 0.18);
    animation: posys-ai-working-in 0.25s ease-out;
    overflow: hidden;
}

/* Flowing colours along the top edge. */
.posys-ai-working::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 4px;
    background: linear-gradient(
        90deg,
        #00b4d8, #3a86ff, #8338ec, #ff006e, #fb5607, #ffbe0b, #06d6a0, #00b4d8
    );
    background-size: 300% 100%;
    animation: posys-ai-working-flow 3s linear infinite;
}

.posys-ai-working-spinner {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: conic-gradient(
        #00b4d8, #3a86ff, #8338ec, #ff006e, #fb5607, #ffbe0b, #06d6a0, #00b4d8
    );
    -webkit-mask: radial-gradient(circle, transparent 11px, #000 12px);
    mask: radial-gradient(circle, transparent 11px, #000 12px);
    animation: posys-ai-working-spin 1.1s linear infinite;
}

.posys-ai-working-copy {
    display: grid;
    gap: 3px;
}

.posys-ai-working-title {
    font-size: 14px;
    font-weight: 700;
}

.posys-ai-working-detail {
    font-size: 13px;
    line-height: 1.35;
    color: #4b5563;
}

/* F5 / Ctrl+R while the AI works: a small shake instead. */
.posys-ai-working--nudge {
    animation: posys-ai-working-nudge 0.4s ease-in-out;
}

@keyframes posys-ai-working-in {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: none; }
}

@keyframes posys-ai-working-flow {
    from { background-position: 0% 50%; }
    to { background-position: 100% 50%; }
}

@keyframes posys-ai-working-spin {
    to { transform: rotate(360deg); }
}

@keyframes posys-ai-working-nudge {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-6px); }
    75% { transform: translateX(6px); }
}

@media (prefers-reduced-motion: reduce) {
    .posys-ai-working,
    .posys-ai-working::before,
    .posys-ai-working-spinner,
    .posys-ai-working--nudge {
        animation: none;
    }
}

@media (max-width: 720px) {
    .posys-ai-working {
        left: 12px;
        right: 12px;
        bottom: 12px;
        max-width: none;
    }
}


/* ============================================================
   POSYS PRICE LIST UI V2 START
   Editable commercial pricing register
   ============================================================ */


/* ------------------------------------------------------------
   Table foundation
   ------------------------------------------------------------ */

.posys-price-list-v2-table {
    width: 100% !important;

    min-width: 1200px;

    table-layout: fixed !important;

    border-collapse: separate !important;
    border-spacing: 0;

    background: #ffffff;
}


/* ------------------------------------------------------------
   Column balance

    1 Item                 8%
    2 Size / material     15%
    3 From qty             8%
    4 Price                9%
    5 Unit                 6%
    6 Note                 8%
    7 Other names         12%
    8 Catalogue product   15%
    9 Active               6%
   10 Order                7%
   11 Delete               6%
   ------------------------------------------------------------ */

.posys-price-list-v2-table th:nth-child(1),
.posys-price-list-v2-table td:nth-child(1) {
    width: 8% !important;
}

.posys-price-list-v2-table th:nth-child(2),
.posys-price-list-v2-table td:nth-child(2) {
    width: 15% !important;
}

.posys-price-list-v2-table th:nth-child(3),
.posys-price-list-v2-table td:nth-child(3) {
    width: 8% !important;
}

.posys-price-list-v2-table th:nth-child(4),
.posys-price-list-v2-table td:nth-child(4) {
    width: 9% !important;
}

.posys-price-list-v2-table th:nth-child(5),
.posys-price-list-v2-table td:nth-child(5) {
    width: 6% !important;
}

.posys-price-list-v2-table th:nth-child(6),
.posys-price-list-v2-table td:nth-child(6) {
    width: 8% !important;
}

.posys-price-list-v2-table th:nth-child(7),
.posys-price-list-v2-table td:nth-child(7) {
    width: 12% !important;
}

.posys-price-list-v2-table th:nth-child(8),
.posys-price-list-v2-table td:nth-child(8) {
    width: 15% !important;
}

.posys-price-list-v2-table th:nth-child(9),
.posys-price-list-v2-table td:nth-child(9) {
    width: 6% !important;
}

.posys-price-list-v2-table th:nth-child(10),
.posys-price-list-v2-table td:nth-child(10) {
    width: 7% !important;
}

.posys-price-list-v2-table th:nth-child(11),
.posys-price-list-v2-table td:nth-child(11) {
    width: 6% !important;
}


/* ------------------------------------------------------------
   Sticky compact header
   ------------------------------------------------------------ */

.posys-price-list-v2-table thead {
    position: sticky;
    top: 0;

    z-index: 6;
}


.posys-price-list-v2-table thead th {
    padding: 12px 9px !important;

    background:
        linear-gradient(
            180deg,
            #f2f8fb 0%,
            #eaf3f7 100%
        ) !important;

    border-top:
        1px solid #d8e5ec;

    border-bottom:
        1px solid #d0dfe7 !important;

    color:
        #17394e !important;

    font-size:
        0.68rem !important;

    font-weight:
        800 !important;

    line-height:
        1.15;

    letter-spacing:
        0.015em;

    vertical-align:
        middle !important;
}


/* ------------------------------------------------------------
   Row treatment
   ------------------------------------------------------------ */

.posys-price-list-v2-table tbody td {
    padding: 10px 8px !important;

    border-bottom:
        1px solid #e2ebf0 !important;

    background: #ffffff;

    vertical-align:
        middle !important;

    transition:
        background-color 0.12s ease;
}


.posys-price-list-v2-table tbody tr:nth-child(even) td {
    background:
        #fbfdfe;
}


.posys-price-list-v2-table tbody tr:hover td {
    background:
        #f2f9fd !important;
}


.posys-price-list-v2-table tbody tr:hover td:first-child {
    box-shadow:
        inset 3px 0 0 #1da6d8;
}


/* ------------------------------------------------------------
   Standard form controls
   ------------------------------------------------------------ */

.posys-price-list-v2-table
input:not([type="checkbox"]),

.posys-price-list-v2-table
select,

.posys-price-list-v2-table
textarea {
    width: 100% !important;
    max-width: 100%;
    min-width: 0;

    height: 40px;
    min-height: 40px;

    box-sizing: border-box;

    margin: 0 !important;

    padding: 8px 9px !important;

    border:
        1px solid #c9d9e3 !important;

    border-radius:
        8px !important;

    background:
        #ffffff;

    color:
        #17384d;

    font-size:
        0.82rem;

    line-height:
        1.15;

    box-shadow:
        none !important;

    transition:
        border-color 0.14s ease,
        box-shadow 0.14s ease,
        background-color 0.14s ease;
}


.posys-price-list-v2-table
textarea {
    resize: vertical;

    height: auto;
}


.posys-price-list-v2-table
input:not([type="checkbox"]):focus,

.posys-price-list-v2-table
select:focus,

.posys-price-list-v2-table
textarea:focus {
    outline: none;

    border-color:
        #28a6d5 !important;

    box-shadow:
        0 0 0 3px
        rgba(40, 166, 213, 0.12) !important;
}


/* ------------------------------------------------------------
   Item
   ------------------------------------------------------------ */

.posys-price-list-v2-table
td:nth-child(1)
input {
    font-weight: 700;
}


/* ------------------------------------------------------------
   Quantity
   ------------------------------------------------------------ */

.posys-price-list-v2-table
td:nth-child(3)
input {
    text-align: center;

    font-variant-numeric:
        tabular-nums;
}


/* ------------------------------------------------------------
   Price — primary commercial field
   ------------------------------------------------------------ */

.posys-price-list-v2-table
td:nth-child(4)
input {
    border-color:
        #94c9df !important;

    background:
        #f5fbfe !important;

    color:
        #06466a !important;

    font-weight:
        800 !important;

    font-variant-numeric:
        tabular-nums;
}


/* subtle price-column wash */

.posys-price-list-v2-table
tbody td:nth-child(4) {
    background-image:
        linear-gradient(
            180deg,
            rgba(21, 159, 211, 0.025),
            rgba(21, 159, 211, 0.045)
        );
}


/* ------------------------------------------------------------
   Unit
   ------------------------------------------------------------ */

.posys-price-list-v2-table
td:nth-child(5)
input,

.posys-price-list-v2-table
td:nth-child(5)
select {
    text-align: center;
}


/* ------------------------------------------------------------
   Catalogue product
   ------------------------------------------------------------ */

.posys-price-list-v2-table
td:nth-child(8)
select {
    background-color:
        #f9fcfd;
}


/* ------------------------------------------------------------
   Active / Order / Delete control zone
   ------------------------------------------------------------ */

.posys-price-list-v2-table
th:nth-child(9),

.posys-price-list-v2-table
th:nth-child(10),

.posys-price-list-v2-table
th:nth-child(11),

.posys-price-list-v2-table
td:nth-child(9),

.posys-price-list-v2-table
td:nth-child(10),

.posys-price-list-v2-table
td:nth-child(11) {
    text-align: center;
}


.posys-price-list-v2-table
td:nth-child(9),

.posys-price-list-v2-table
td:nth-child(11) {
    padding-left: 5px !important;
    padding-right: 5px !important;
}


/* ------------------------------------------------------------
   Compact modern checkboxes
   ------------------------------------------------------------ */

.posys-price-list-v2-table
input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;

    position: relative;

    display: inline-block;

    width: 22px !important;
    height: 22px !important;

    min-width: 22px;
    min-height: 22px;

    margin: 0 auto !important;
    padding: 0 !important;

    border:
        2px solid #b7cad5 !important;

    border-radius:
        6px;

    background:
        #ffffff;

    cursor:
        pointer;

    vertical-align:
        middle;

    box-shadow:
        none !important;

    transition:
        border-color 0.12s ease,
        background-color 0.12s ease,
        box-shadow 0.12s ease;
}


.posys-price-list-v2-table
input[type="checkbox"]:hover {
    border-color:
        #68b6d4 !important;
}


.posys-price-list-v2-table
input[type="checkbox"]:checked {
    border-color:
        #159dce !important;

    background:
        #159dce !important;

    box-shadow:
        0 2px 5px
        rgba(20, 130, 177, 0.18) !important;
}


.posys-price-list-v2-table
input[type="checkbox"]:checked::after {
    content: "";

    position: absolute;

    left: 6px;
    top: 2px;

    width: 6px;
    height: 11px;

    border:
        solid #ffffff;

    border-width:
        0 2px 2px 0;

    transform:
        rotate(45deg);
}


/* Delete checkbox gets destructive colour only when selected */

.posys-price-list-v2-table
td:nth-child(11)
input[type="checkbox"]:checked {
    border-color:
        #d65858 !important;

    background:
        #d65858 !important;
}


/* ------------------------------------------------------------
   Order
   ------------------------------------------------------------ */

.posys-price-list-v2-table
td:nth-child(10)
input {
    padding-left: 4px !important;
    padding-right: 4px !important;

    text-align: center;

    font-variant-numeric:
        tabular-nums;
}


/* ------------------------------------------------------------
   Errors
   ------------------------------------------------------------ */

.posys-price-list-v2-table
.errorlist {
    margin: 5px 0 0 !important;
    padding: 0 !important;

    list-style: none;

    color:
        #b73f3f;

    font-size:
        0.68rem;

    line-height:
        1.25;
}


/* ------------------------------------------------------------
   Preserve useful register layout on smaller displays
   ------------------------------------------------------------ */

@media (max-width: 1250px) {

    .posys-price-list-v2-table {
        min-width:
            1120px;
    }

}


@media (max-width: 900px) {

    .posys-price-list-v2-table {
        min-width:
            1040px;
    }


    .posys-price-list-v2-table thead th,
    .posys-price-list-v2-table tbody td {
        padding-left:
            7px !important;

        padding-right:
            7px !important;
    }

}

/* POSYS PRICE LIST UI V2 END */


/* POSYS PRICE LIST READABLE V1 START
   Price List as a list per item; item edit page; upload check
   with the file beside what the AI read. */

.posys-price-list-head,
.posys-price-item-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.posys-price-items {
    display: grid;
    gap: 14px;
    margin-top: 12px;
}

.posys-price-item {
    border: 1px solid var(--posys-ui-border);
    border-radius: var(--posys-ui-radius-md);
    background: var(--posys-ui-surface);
    padding: 14px 16px;
    scroll-margin-top: 90px;
}

.posys-price-item:target {
    border-color: var(--posys-cyan);
    box-shadow: 0 0 0 3px rgba(0, 166, 214, 0.15);
}

.posys-price-item h3 {
    margin: 0;
    font-size: 1.05rem;
}

.posys-price-item-head p {
    margin: 2px 0 0;
    font-size: 0.875rem;
}

.posys-price-item-rows {
    width: 100%;
    margin-top: 8px;
    border-collapse: collapse;
    font-size: 0.95rem;
}

.posys-price-item-rows td {
    padding: 6px 10px 6px 0;
    border-top: 1px solid var(--posys-ui-surface-muted);
    vertical-align: top;
}

.posys-price-item-rows tr:first-child td {
    border-top: 0;
}

.posys-price-item-qty {
    white-space: nowrap;
    color: var(--posys-ui-muted);
}

.posys-price-item-price {
    white-space: nowrap;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.posys-price-item-rows tr.is-off td {
    color: var(--posys-ui-muted);
    text-decoration: line-through;
}

.posys-price-item-rows tr.is-off td .posys-muted {
    text-decoration: none;
}

.posys-price-item-more {
    margin-top: 10px;
}

.posys-price-item-more > summary {
    cursor: pointer;
    font-weight: 600;
    color: var(--posys-cyan-dark);
    min-height: var(--posys-ui-touch-target);
    display: flex;
    align-items: center;
}

.posys-price-edit-rows {
    display: grid;
    gap: 12px;
}

.posys-price-edit-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 8px 12px;
    margin: 8px 0 0;
    padding: 12px;
    border: 1px solid var(--posys-ui-border);
    border-radius: var(--posys-ui-radius-sm);
    background: var(--posys-ui-surface-muted);
    min-width: 0;
}

.posys-price-edit-row legend {
    font-weight: 600;
    padding: 0 4px;
}

.posys-price-edit-row .posys-form-field {
    margin: 0;
    min-width: 0;
}

.posys-price-edit-row input:not([type="checkbox"]) {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.posys-price-edit-spec {
    grid-column: span 2;
}

.posys-price-edit-ticks {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
}

.posys-price-edit-ticks label,
.posys-price-check-tick {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.posys-price-check {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

.posys-price-check-file {
    position: sticky;
    top: 16px;
    max-height: calc(100vh - 32px);
    overflow: auto;
}

.posys-price-check-file img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 0 12px;
    border: 1px solid var(--posys-ui-border);
}

.posys-price-check .posys-card + .posys-card,
.posys-price-check-rows form .posys-card {
    margin-top: 0;
}

.posys-price-check-rows {
    display: grid;
    gap: 20px;
    min-width: 0;
}

@media (max-width: 900px) {

    .posys-price-check {
        grid-template-columns: minmax(0, 1fr);
    }

    .posys-price-check-file {
        position: static;
        max-height: 60vh;
    }

    .posys-price-edit-spec {
        grid-column: auto;
    }

    .posys-price-item-rows td {
        display: inline-block;
        padding-right: 8px;
    }

    .posys-price-item-rows tr {
        display: block;
        padding: 6px 0;
        border-top: 1px solid var(--posys-ui-surface-muted);
    }

    .posys-price-item-rows tr:first-child {
        border-top: 0;
    }

    .posys-price-item-rows td {
        border-top: 0;
    }

    .posys-price-item-rows td:first-child {
        display: block;
    }
}

/* POSYS PRICE LIST READABLE V1 END */


/* ============================================================
   POSYS QUOTES OUT UI V1 START
   Cleaner quote follow-up register
   ============================================================ */


/* ------------------------------------------------------------
   Table foundation
   ------------------------------------------------------------ */

.posys-quotes-out-v1-table {
    width:
        100% !important;

    min-width:
        980px;

    table-layout:
        fixed !important;

    border-collapse:
        separate !important;

    border-spacing:
        0;

    background:
        #ffffff;
}


/* ------------------------------------------------------------
   Five-column balance

   Customer      16%
   Price sent    24%
   Quoted        16%
   Status        17%
   Follow-up     27%
   ------------------------------------------------------------ */

.posys-quotes-out-v1-table th:nth-child(1),
.posys-quotes-out-v1-table td:nth-child(1) {
    width:
        16% !important;
}

.posys-quotes-out-v1-table th:nth-child(2),
.posys-quotes-out-v1-table td:nth-child(2) {
    width:
        24% !important;
}

.posys-quotes-out-v1-table th:nth-child(3),
.posys-quotes-out-v1-table td:nth-child(3) {
    width:
        16% !important;
}

.posys-quotes-out-v1-table th:nth-child(4),
.posys-quotes-out-v1-table td:nth-child(4) {
    width:
        17% !important;
}

.posys-quotes-out-v1-table th:nth-child(5),
.posys-quotes-out-v1-table td:nth-child(5) {
    width:
        27% !important;
}


/* ------------------------------------------------------------
   Header
   ------------------------------------------------------------ */

.posys-quotes-out-v1-table thead {
    position:
        sticky;

    top:
        0;

    z-index:
        5;
}


.posys-quotes-out-v1-table thead th {
    padding:
        13px
        14px !important;

    background:
        linear-gradient(
            180deg,
            #f1f7fa 0%,
            #e8f1f5 100%
        ) !important;

    border-top:
        1px solid
        #d7e4eb;

    border-bottom:
        1px solid
        #cedee7 !important;

    color:
        #17394e !important;

    font-size:
        0.71rem !important;

    font-weight:
        800 !important;

    line-height:
        1.15;

    letter-spacing:
        0.025em;

    vertical-align:
        middle !important;
}


/* ------------------------------------------------------------
   Rows
   ------------------------------------------------------------ */

.posys-quotes-out-v1-table tbody td {
    padding:
        17px
        14px !important;

    border-bottom:
        1px solid
        #e2eaf0 !important;

    background:
        #ffffff;

    color:
        #294759;

    font-size:
        0.82rem;

    line-height:
        1.42;

    vertical-align:
        middle !important;

    overflow-wrap:
        anywhere;

    transition:
        background-color
        0.12s ease;
}


.posys-quotes-out-v1-table
tbody tr:nth-child(even)
td {
    background:
        #fbfdfe;
}


.posys-quotes-out-v1-table
tbody tr:hover
td {
    background:
        #f2f9fd !important;
}


.posys-quotes-out-v1-table
tbody tr:hover
td:first-child {
    box-shadow:
        inset 3px 0 0
        #18a7d9;
}


/* ------------------------------------------------------------
   Customer
   ------------------------------------------------------------ */

.posys-quotes-out-v1-table
td:nth-child(1) {
    color:
        #17384d;

    font-size:
        0.84rem;
}


.posys-quotes-out-v1-table
td:nth-child(1)
strong,

.posys-quotes-out-v1-table
td:nth-child(1)
b {
    display:
        block;

    margin-bottom:
        5px;

    color:
        #102f43;

    font-size:
        0.9rem;

    font-weight:
        800;
}


.posys-quotes-out-v1-table
td:nth-child(1)
a {
    color:
        #07567e;

    font-weight:
        750;

    text-decoration-thickness:
        1px;

    text-underline-offset:
        2px;
}


/* ------------------------------------------------------------
   Price sent
   ------------------------------------------------------------ */

.posys-quotes-out-v1-table
td:nth-child(2) {
    color:
        #355366;
}


.posys-quotes-out-v1-table
td:nth-child(2)
strong,

.posys-quotes-out-v1-table
td:nth-child(2)
b {
    display:
        block;

    margin-bottom:
        5px;

    color:
        #123d58;

    font-size:
        0.86rem;

    font-weight:
        800;

    font-variant-numeric:
        tabular-nums;
}


.posys-quotes-out-v1-table
td:nth-child(2)
small {
    display:
        block;

    margin-top:
        4px;

    color:
        #5b7382;

    font-size:
        0.76rem;

    line-height:
        1.45;
}


/* ------------------------------------------------------------
   Quoted
   ------------------------------------------------------------ */

.posys-quotes-out-v1-table
td:nth-child(3) {
    color:
        #36576a;

    font-size:
        0.8rem;

    font-variant-numeric:
        tabular-nums;
}


.posys-quotes-out-v1-table
td:nth-child(3)
small {
    display:
        block;

    margin-top:
        4px;

    color:
        #708592;

    font-size:
        0.73rem;

    line-height:
        1.35;
}


/* ------------------------------------------------------------
   Status
   Keep pills inside their own column.
   ------------------------------------------------------------ */

.posys-quotes-out-v1-table
td:nth-child(4) {
    padding-right:
        12px !important;

    padding-left:
        12px !important;

    text-align:
        left;
}


.posys-quotes-out-v1-table
td:nth-child(4)
span {
    max-width:
        100%;

    box-sizing:
        border-box;
}


.posys-quotes-out-v1-table
td:nth-child(4)
[class*="status"],

.posys-quotes-out-v1-table
td:nth-child(4)
[class*="badge"] {
    display:
        inline-flex !important;

    align-items:
        center;

    justify-content:
        center;

    max-width:
        100% !important;

    min-height:
        27px;

    padding:
        5px
        10px !important;

    box-sizing:
        border-box;

    border-radius:
        999px !important;

    white-space:
        normal !important;

    overflow-wrap:
        anywhere;

    text-align:
        center;

    font-size:
        0.67rem !important;

    font-weight:
        800 !important;

    line-height:
        1.15 !important;

    letter-spacing:
        0.025em;
}


/*
 * Fallback for the existing Waiting for Customer pill
 * even if its class naming is not badge/status based.
 */

.posys-quotes-out-v1-table
td:nth-child(4)
> * {
    max-width:
        100%;
}


/* ------------------------------------------------------------
   Follow-up
   ------------------------------------------------------------ */

.posys-quotes-out-v1-table
td:nth-child(5) {
    padding-left:
        16px !important;

    color:
        #496473;

    font-size:
        0.76rem;

    line-height:
        1.5;
}


.posys-quotes-out-v1-table
td:nth-child(5)
small {
    display:
        block;

    color:
        #607987;

    font-size:
        0.73rem;

    line-height:
        1.45;
}


/* ------------------------------------------------------------
   General content protection
   ------------------------------------------------------------ */

.posys-quotes-out-v1-table
td {
    min-width:
        0;
}


.posys-quotes-out-v1-table
a,

.posys-quotes-out-v1-table
span,

.posys-quotes-out-v1-table
small,

.posys-quotes-out-v1-table
strong {
    overflow-wrap:
        anywhere;

    word-break:
        normal;
}


/* ------------------------------------------------------------
   Links
   ------------------------------------------------------------ */

.posys-quotes-out-v1-table
tbody a:hover {
    color:
        #008fc9;
}


/* ------------------------------------------------------------
   Responsive
   Preserve readable commercial register layout.
   ------------------------------------------------------------ */

@media (max-width: 1180px) {

    .posys-quotes-out-v1-table {
        min-width:
            940px;
    }

}


@media (max-width: 820px) {

    .posys-quotes-out-v1-table {
        min-width:
            900px;
    }


    .posys-quotes-out-v1-table
    thead th,

    .posys-quotes-out-v1-table
    tbody td {
        padding-left:
            10px !important;

        padding-right:
            10px !important;
    }

}

/* POSYS QUOTES OUT UI V1 END */


/* ============================================================
   POSYS QUOTES OUT SUMMARY R2D START
   Compact commercial performance cards
   ============================================================ */

.posys-quotes-out-summary-r2d {
    padding:
        22px 24px !important;

    overflow:
        hidden;
}


/* Header */

.posys-quotes-out-summary-r2d-header {
    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        24px;

    margin-bottom:
        18px;
}


.posys-quotes-out-summary-r2d-eyebrow {
    display:
        block;

    margin-bottom:
        5px;

    color:
        #728894;

    font-size:
        0.66rem;

    font-weight:
        800;

    line-height:
        1.2;

    letter-spacing:
        0.085em;
}


.posys-quotes-out-summary-r2d-header h2 {
    margin:
        0 !important;

    color:
        #102f43;

    font-size:
        1.18rem;

    line-height:
        1.2;
}


.posys-quotes-out-summary-r2d-header p {
    max-width:
        360px;

    margin:
        0 !important;

    color:
        #718591;

    font-size:
        0.76rem;

    line-height:
        1.4;

    text-align:
        right;
}


/* KPI grid */

.posys-quotes-out-summary-r2d-grid {
    display:
        grid;

    grid-template-columns:
        repeat(5, minmax(0, 1fr));

    gap:
        12px;
}


.posys-quotes-out-summary-r2d-card {
    position:
        relative;

    display:
        flex;

    flex-direction:
        column;

    justify-content:
        flex-start;

    min-width:
        0;

    min-height:
        98px;

    padding:
        15px 16px;

    box-sizing:
        border-box;

    border:
        1px solid #dbe6ec;

    border-radius:
        12px;

    background:
        #fbfdfe;

    overflow:
        hidden;

    box-shadow:
        0 2px 8px
        rgba(16, 53, 73, 0.035);
}


.posys-quotes-out-summary-r2d-card::before {
    content:
        "";

    position:
        absolute;

    left:
        0;

    top:
        0;

    bottom:
        0;

    width:
        3px;

    background:
        #789bad;
}


.posys-quotes-out-summary-r2d-label {
    display:
        block;

    color:
        #657d8b;

    font-size:
        0.72rem;

    font-weight:
        750;

    line-height:
        1.25;
}


.posys-quotes-out-summary-r2d-value {
    display:
        block;

    margin-top:
        11px;

    color:
        #12374d;

    font-size:
        1.62rem;

    font-weight:
        850;

    line-height:
        1;

    letter-spacing:
        -0.025em;

    font-variant-numeric:
        tabular-nums;
}


.posys-quotes-out-summary-r2d-card small {
    display:
        block;

    margin-top:
        6px;

    color:
        #758a96;

    font-size:
        0.69rem;

    font-weight:
        650;

    line-height:
        1.2;
}


/* Sent */

.posys-quotes-out-summary-r2d-card.is-sent {
    background:
        #f8fbfd;
}


/* Replied */

.posys-quotes-out-summary-r2d-card.is-replied {
    border-color:
        #cde7f2;

    background:
        #f3fbfe;
}

.posys-quotes-out-summary-r2d-card.is-replied::before {
    background:
        #20a7d8;
}


/* Won */

.posys-quotes-out-summary-r2d-card.is-won {
    border-color:
        #d2e9da;

    background:
        #f5fbf7;
}

.posys-quotes-out-summary-r2d-card.is-won::before {
    background:
        #45a96e;
}


/* Lost */

.posys-quotes-out-summary-r2d-card.is-lost {
    border-color:
        #efdcdc;

    background:
        #fff9f9;
}

.posys-quotes-out-summary-r2d-card.is-lost::before {
    background:
        #d36464;
}


/* Expired */

.posys-quotes-out-summary-r2d-card.is-expired {
    border-color:
        #e9e2d2;

    background:
        #fdfbf6;
}

.posys-quotes-out-summary-r2d-card.is-expired::before {
    background:
        #ae995e;
}


/* ============================================================
   Quotes Out six-column balance
   Customer / Price / Quoted / Status / Follow-up / Action
   ============================================================ */

.posys-quotes-out-v1-table
th:nth-child(1),

.posys-quotes-out-v1-table
td:nth-child(1) {
    width:
        15% !important;
}


.posys-quotes-out-v1-table
th:nth-child(2),

.posys-quotes-out-v1-table
td:nth-child(2) {
    width:
        22% !important;
}


.posys-quotes-out-v1-table
th:nth-child(3),

.posys-quotes-out-v1-table
td:nth-child(3) {
    width:
        15% !important;
}


.posys-quotes-out-v1-table
th:nth-child(4),

.posys-quotes-out-v1-table
td:nth-child(4) {
    width:
        16% !important;
}


.posys-quotes-out-v1-table
th:nth-child(5),

.posys-quotes-out-v1-table
td:nth-child(5) {
    width:
        24% !important;
}


.posys-quotes-out-v1-table
th:nth-child(6),

.posys-quotes-out-v1-table
td:nth-child(6) {
    width:
        8% !important;

    text-align:
        center;
}


/* Responsive */

@media (max-width: 1180px) {

    .posys-quotes-out-summary-r2d-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

}


@media (max-width: 760px) {

    .posys-quotes-out-summary-r2d {
        padding:
            18px !important;
    }


    .posys-quotes-out-summary-r2d-header {
        display:
            block;
    }


    .posys-quotes-out-summary-r2d-header p {
        max-width:
            none;

        margin-top:
            6px !important;

        text-align:
            left;
    }


    .posys-quotes-out-summary-r2d-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap:
            10px;
    }


    .posys-quotes-out-summary-r2d-card {
        min-height:
            88px;

        padding:
            13px 14px;
    }


    .posys-quotes-out-summary-r2d-value {
        font-size:
            1.4rem;
    }

}


@media (max-width: 460px) {

    .posys-quotes-out-summary-r2d-grid {
        grid-template-columns:
            1fr;
    }

}

/* POSYS QUOTES OUT SUMMARY R2D END */


/* ============================================================
   POSYS QUOTES OUT ACTION R3 START
   Fix action clipping and rebalance six-column table
   ============================================================ */


/* ------------------------------------------------------------
   Desktop column balance

   Customer     14%
   Price sent   21%
   Quoted       14%
   Status       15%
   Follow-up    24%
   Action       12%

   Total       100%
   ------------------------------------------------------------ */

.posys-quotes-out-v1-table {
    width:
        100% !important;

    min-width:
        0 !important;

    table-layout:
        fixed !important;
}


.posys-quotes-out-v1-table
th:nth-child(1),

.posys-quotes-out-v1-table
td:nth-child(1) {
    width:
        14% !important;
}


.posys-quotes-out-v1-table
th:nth-child(2),

.posys-quotes-out-v1-table
td:nth-child(2) {
    width:
        21% !important;
}


.posys-quotes-out-v1-table
th:nth-child(3),

.posys-quotes-out-v1-table
td:nth-child(3) {
    width:
        14% !important;
}


.posys-quotes-out-v1-table
th:nth-child(4),

.posys-quotes-out-v1-table
td:nth-child(4) {
    width:
        15% !important;
}


.posys-quotes-out-v1-table
th:nth-child(5),

.posys-quotes-out-v1-table
td:nth-child(5) {
    width:
        24% !important;
}


.posys-quotes-out-v1-table
th:nth-child(6),

.posys-quotes-out-v1-table
td:nth-child(6) {
    width:
        12% !important;
}


/* ------------------------------------------------------------
   Action column
   ------------------------------------------------------------ */

.posys-quotes-out-v1-table
th:nth-child(6) {
    text-align:
        center !important;
}


.posys-quotes-out-v1-table
td:nth-child(6) {
    padding:
        12px 10px !important;

    text-align:
        center !important;

    vertical-align:
        middle !important;

    overflow:
        visible !important;
}


/* Forms inside Action */

.posys-quotes-out-v1-table
td:nth-child(6)
form {
    display:
        block;

    width:
        100%;

    max-width:
        100%;

    margin:
        0 0 7px !important;
}


.posys-quotes-out-v1-table
td:nth-child(6)
form:last-child {
    margin-bottom:
        0 !important;
}


/* ------------------------------------------------------------
   Action buttons
   ------------------------------------------------------------ */

.posys-quotes-out-v1-table
td:nth-child(6)
button,

.posys-quotes-out-v1-table
td:nth-child(6)
a,

.posys-quotes-out-v1-table
td:nth-child(6)
input[type="submit"] {
    display:
        flex !important;

    align-items:
        center;

    justify-content:
        center;

    width:
        100% !important;

    max-width:
        100% !important;

    min-width:
        0 !important;

    min-height:
        34px;

    height:
        auto;

    box-sizing:
        border-box;

    margin:
        0 !important;

    padding:
        7px 8px !important;

    border-radius:
        8px !important;

    font-size:
        0.72rem !important;

    font-weight:
        750 !important;

    line-height:
        1.15 !important;

    text-align:
        center !important;

    white-space:
        normal !important;

    overflow-wrap:
        anywhere;

    word-break:
        normal;
}


/* ------------------------------------------------------------
   Primary action hierarchy
   ------------------------------------------------------------ */

.posys-quotes-out-v1-table
td:nth-child(6)
.posys-button {
    box-shadow:
        none !important;
}


/* Give buttons a little breathing room */

.posys-quotes-out-v1-table
td:nth-child(6)
button + button,

.posys-quotes-out-v1-table
td:nth-child(6)
a + a,

.posys-quotes-out-v1-table
td:nth-child(6)
button + a,

.posys-quotes-out-v1-table
td:nth-child(6)
a + button {
    margin-top:
        6px !important;
}


/* ------------------------------------------------------------
   Ensure Follow-up does not push Action outside table
   ------------------------------------------------------------ */

.posys-quotes-out-v1-table
td:nth-child(5) {
    padding-right:
        12px !important;

    overflow-wrap:
        anywhere;
}


.posys-quotes-out-v1-table
td:nth-child(5)
small,

.posys-quotes-out-v1-table
td:nth-child(5)
span,

.posys-quotes-out-v1-table
td:nth-child(5)
p {
    max-width:
        100%;

    overflow-wrap:
        anywhere;
}


/* ------------------------------------------------------------
   Keep wrapper inside its card
   ------------------------------------------------------------ */

.posys-attention-table-wrap-r3 {
    width:
        100%;

    max-width:
        100%;

    box-sizing:
        border-box;

    overflow-x:
        auto;

    overflow-y:
        visible;
}


/* ------------------------------------------------------------
   Rows slightly more compact
   ------------------------------------------------------------ */

.posys-quotes-out-v1-table
tbody td {
    padding-top:
        15px !important;

    padding-bottom:
        15px !important;
}


/* ------------------------------------------------------------
   Medium screens:
   allow horizontal scroll instead of crushing actions.
   ------------------------------------------------------------ */

@media (max-width: 1180px) {

    .posys-quotes-out-v1-table {
        min-width:
            1040px !important;
    }


    .posys-quotes-out-v1-table
    th:nth-child(6),

    .posys-quotes-out-v1-table
    td:nth-child(6) {
        width:
            13% !important;
    }

}


/* ------------------------------------------------------------
   Small screens
   ------------------------------------------------------------ */

@media (max-width: 820px) {

    .posys-quotes-out-v1-table {
        min-width:
            980px !important;
    }


    .posys-quotes-out-v1-table
    td:nth-child(6)
    button,

    .posys-quotes-out-v1-table
    td:nth-child(6)
    a,

    .posys-quotes-out-v1-table
    td:nth-child(6)
    input[type="submit"] {
        min-height:
            32px;

        padding:
            6px !important;

        font-size:
            0.68rem !important;
    }

}

/* POSYS QUOTES OUT ACTION R3 END */


/* ============================================================
   POSYS SIDEBAR ACTIVE NAV R1 START
   Clear current-page indicator
   ============================================================ */

.posys-sidebar .posys-nav a {
    position:
        relative;

    transition:
        background-color 0.14s ease,
        color 0.14s ease,
        box-shadow 0.14s ease,
        transform 0.14s ease;
}


.posys-sidebar .posys-nav a.is-active {
    background:
        linear-gradient(
            90deg,
            rgba(40, 176, 227, 0.22) 0%,
            rgba(40, 176, 227, 0.10) 65%,
            rgba(40, 176, 227, 0.04) 100%
        ) !important;

    color:
        #ffffff !important;

    font-weight:
        800 !important;

    box-shadow:
        inset 3px 0 0 #48d5ff,
        0 4px 14px rgba(14, 117, 161, 0.12);

    transform:
        translateX(1px);
}


.posys-sidebar .posys-nav a.is-active::before {
    content:
        "";

    position:
        absolute;

    left:
        7px;

    top:
        50%;

    width:
        6px;

    height:
        6px;

    border-radius:
        999px;

    background:
        #6fe2ff;

    box-shadow:
        0 0 8px rgba(111, 226, 255, 0.72);

    transform:
        translateY(-50%);
}


.posys-sidebar .posys-nav a.is-active {
    padding-left:
        24px !important;
}


.posys-sidebar .posys-nav a.is-active:hover {
    background:
        linear-gradient(
            90deg,
            rgba(49, 191, 240, 0.28) 0%,
            rgba(49, 191, 240, 0.13) 70%,
            rgba(49, 191, 240, 0.05) 100%
        ) !important;

    color:
        #ffffff !important;
}


/* Mobile/off-canvas sidebar */

@media (max-width: 900px) {

    .posys-sidebar .posys-nav a.is-active {
        box-shadow:
            inset 3px 0 0 #48d5ff;
    }

}

/* POSYS SIDEBAR ACTIVE NAV R1 END */


/* ============================================================
   POSYS SIDEBAR ACTIVE SECTION COLORS R3 START

   Active navigation follows the colour identity of its section:

   Operations  = cyan
   Commercial  = magenta
   Management  = gold
   ============================================================ */


/* ------------------------------------------------------------
   OPERATIONS
   ------------------------------------------------------------ */

.posys-sidebar
.posys-nav-section-operations
+ .posys-nav
a.is-active {
    background:
        linear-gradient(
            90deg,
            rgba(70, 200, 255, 0.24) 0%,
            rgba(70, 200, 255, 0.11) 68%,
            rgba(70, 200, 255, 0.03) 100%
        ) !important;

    box-shadow:
        inset 3px 0 0 #46c8ff,
        0 4px 14px rgba(18, 151, 205, 0.13) !important;
}


.posys-sidebar
.posys-nav-section-operations
+ .posys-nav
a.is-active::before {
    background:
        #6edcff !important;

    box-shadow:
        0 0 8px rgba(110, 220, 255, 0.74) !important;
}


/* ------------------------------------------------------------
   COMMERCIAL
   ------------------------------------------------------------ */

.posys-sidebar
.posys-nav-section-commercial
+ .posys-nav
a.is-active {
    background:
        linear-gradient(
            90deg,
            rgba(255, 82, 174, 0.25) 0%,
            rgba(255, 82, 174, 0.12) 68%,
            rgba(255, 82, 174, 0.03) 100%
        ) !important;

    box-shadow:
        inset 3px 0 0 #ff52ae,
        0 4px 14px rgba(205, 44, 132, 0.15) !important;
}


.posys-sidebar
.posys-nav-section-commercial
+ .posys-nav
a.is-active::before {
    background:
        #ff71bd !important;

    box-shadow:
        0 0 8px rgba(255, 113, 189, 0.78) !important;
}


/* ------------------------------------------------------------
   MANAGEMENT
   ------------------------------------------------------------ */

.posys-sidebar
.posys-nav-section-management
+ .posys-nav
a.is-active {
    background:
        linear-gradient(
            90deg,
            rgba(246, 207, 62, 0.24) 0%,
            rgba(246, 207, 62, 0.11) 68%,
            rgba(246, 207, 62, 0.03) 100%
        ) !important;

    box-shadow:
        inset 3px 0 0 #f6cf3e,
        0 4px 14px rgba(190, 153, 31, 0.13) !important;
}


.posys-sidebar
.posys-nav-section-management
+ .posys-nav
a.is-active::before {
    background:
        #ffe16b !important;

    box-shadow:
        0 0 8px rgba(255, 225, 107, 0.74) !important;
}


/* ------------------------------------------------------------
   Hover keeps each section colour
   ------------------------------------------------------------ */

.posys-sidebar
.posys-nav-section-operations
+ .posys-nav
a.is-active:hover {
    background:
        linear-gradient(
            90deg,
            rgba(70, 200, 255, 0.30) 0%,
            rgba(70, 200, 255, 0.15) 70%,
            rgba(70, 200, 255, 0.05) 100%
        ) !important;
}


.posys-sidebar
.posys-nav-section-commercial
+ .posys-nav
a.is-active:hover {
    background:
        linear-gradient(
            90deg,
            rgba(255, 82, 174, 0.31) 0%,
            rgba(255, 82, 174, 0.15) 70%,
            rgba(255, 82, 174, 0.05) 100%
        ) !important;
}


.posys-sidebar
.posys-nav-section-management
+ .posys-nav
a.is-active:hover {
    background:
        linear-gradient(
            90deg,
            rgba(246, 207, 62, 0.30) 0%,
            rgba(246, 207, 62, 0.15) 70%,
            rgba(246, 207, 62, 0.05) 100%
        ) !important;
}


/* ------------------------------------------------------------
   Keep active text white for all sections
   ------------------------------------------------------------ */

.posys-sidebar
.posys-nav-section-operations
+ .posys-nav
a.is-active,

.posys-sidebar
.posys-nav-section-commercial
+ .posys-nav
a.is-active,

.posys-sidebar
.posys-nav-section-management
+ .posys-nav
a.is-active {
    color:
        #ffffff !important;

    font-weight:
        800 !important;
}


/* ------------------------------------------------------------
   Mobile
   ------------------------------------------------------------ */

@media (max-width: 900px) {

    .posys-sidebar
    .posys-nav-section-operations
    + .posys-nav
    a.is-active {
        box-shadow:
            inset 3px 0 0 #46c8ff !important;
    }


    .posys-sidebar
    .posys-nav-section-commercial
    + .posys-nav
    a.is-active {
        box-shadow:
            inset 3px 0 0 #ff52ae !important;
    }


    .posys-sidebar
    .posys-nav-section-management
    + .posys-nav
    a.is-active {
        box-shadow:
            inset 3px 0 0 #f6cf3e !important;
    }

}

/* POSYS SIDEBAR ACTIVE SECTION COLORS R3 END */


/* ============================================================
   POSYS NEEDS ATTENTION QUOTATION UI R1 START
   Compact quotation preparation register
   ============================================================ */

.posys-needs-quote-r1-table {
    width: 100% !important;
    min-width: 980px;
    table-layout: fixed !important;
    border-collapse: separate !important;
    border-spacing: 0;
    background: #ffffff;
}


/* Column balance */

.posys-needs-quote-r1-table th:nth-child(1),
.posys-needs-quote-r1-table td:nth-child(1) {
    width: 16% !important;
}

.posys-needs-quote-r1-table th:nth-child(2),
.posys-needs-quote-r1-table td:nth-child(2) {
    width: 16% !important;
}

.posys-needs-quote-r1-table th:nth-child(3),
.posys-needs-quote-r1-table td:nth-child(3) {
    width: 37% !important;
}

.posys-needs-quote-r1-table th:nth-child(4),
.posys-needs-quote-r1-table td:nth-child(4) {
    width: 12% !important;
}

.posys-needs-quote-r1-table th:nth-child(5),
.posys-needs-quote-r1-table td:nth-child(5) {
    width: 19% !important;
}


/* Header */

.posys-needs-quote-r1-table thead th {
    padding: 12px 14px !important;

    background:
        linear-gradient(
            180deg,
            #f1f7fa 0%,
            #e9f2f6 100%
        ) !important;

    border-bottom:
        1px solid #d5e2e9 !important;

    color: #17394e !important;

    font-size: 0.7rem !important;
    font-weight: 800 !important;
    line-height: 1.15;
    letter-spacing: 0.025em;

    vertical-align: middle !important;
}


/* Rows */

.posys-needs-quote-r1-table tbody td {
    padding: 16px 14px !important;

    border-bottom:
        1px solid #e2ebf0 !important;

    background: #ffffff;

    color: #314f61;

    font-size: 0.81rem;
    line-height: 1.4;

    vertical-align: top !important;

    overflow-wrap: anywhere;

    transition:
        background-color 0.12s ease;
}


.posys-needs-quote-r1-table tbody tr:nth-child(even) td {
    background: #fbfdfe;
}


.posys-needs-quote-r1-table tbody tr:hover td {
    background: #f4fafd !important;
}


.posys-needs-quote-r1-table tbody tr:hover td:first-child {
    box-shadow:
        inset 3px 0 0 #ff52ae;
}


/* Customer */

.posys-needs-quote-r1-table td:nth-child(1) {
    color: #16384d;
}


.posys-needs-quote-r1-table td:nth-child(1) strong,
.posys-needs-quote-r1-table td:nth-child(1) b {
    display: block;

    margin-bottom: 5px;

    color: #102f43;

    font-size: 0.9rem;
    font-weight: 800;
}


.posys-needs-quote-r1-table td:nth-child(1) a {
    color: #075a82;

    font-weight: 750;

    text-underline-offset: 2px;
}


.posys-needs-quote-r1-table td:nth-child(1) small {
    display: block;

    margin-top: 4px;

    color: #718692;

    font-size: 0.72rem;
}


/* Product */

.posys-needs-quote-r1-table td:nth-child(2) {
    color: #29495d;

    font-weight: 650;
}


/* Confirmed details */

.posys-needs-quote-r1-table td:nth-child(3) ul {
    display: grid !important;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 6px 18px;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


.posys-needs-quote-r1-table td:nth-child(3) li {
    position: relative;

    min-width: 0;

    margin: 0 !important;

    padding:
        5px 8px 5px 17px;

    border:
        1px solid #e3ebf0;

    border-radius:
        7px;

    background:
        #f8fbfc;

    color:
        #3b5869;

    font-size:
        0.76rem;

    line-height:
        1.3;

    overflow-wrap:
        anywhere;
}


.posys-needs-quote-r1-table td:nth-child(3) li::before {
    content: "";

    position: absolute;

    left: 7px;
    top: 11px;

    width: 4px;
    height: 4px;

    border-radius:
        50%;

    background:
        #ff52ae;
}


.posys-needs-quote-r1-table td:nth-child(3) li:last-child {
    grid-column:
        1 / -1;
}


/* Waiting */

.posys-needs-quote-r1-table th:nth-child(4),
.posys-needs-quote-r1-table td:nth-child(4) {
    text-align:
        center;
}


.posys-needs-quote-r1-table td:nth-child(4) {
    color:
        #9b4f00;

    font-size:
        0.82rem;

    font-weight:
        800;

    font-variant-numeric:
        tabular-nums;

    vertical-align:
        middle !important;
}


.posys-needs-quote-r1-table td:nth-child(4) strong,
.posys-needs-quote-r1-table td:nth-child(4) b {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        28px;

    padding:
        5px 10px;

    border:
        1px solid #f0d4b2;

    border-radius:
        999px;

    background:
        #fff7ed;

    color:
        #a55300;

    font-size:
        0.73rem;

    font-weight:
        800;

    line-height:
        1.1;
}


/* Action */

.posys-needs-quote-r1-table th:nth-child(5),
.posys-needs-quote-r1-table td:nth-child(5) {
    text-align:
        center;
}


.posys-needs-quote-r1-table td:nth-child(5) {
    vertical-align:
        middle !important;
}


.posys-needs-quote-r1-table td:nth-child(5) a,
.posys-needs-quote-r1-table td:nth-child(5) button,
.posys-needs-quote-r1-table td:nth-child(5) input[type="submit"] {
    display:
        inline-flex !important;

    align-items:
        center;

    justify-content:
        center;

    width:
        100%;

    max-width:
        170px;

    min-height:
        40px;

    box-sizing:
        border-box;

    padding:
        8px 13px !important;

    border-radius:
        9px !important;

    font-size:
        0.76rem !important;

    font-weight:
        800 !important;

    line-height:
        1.15 !important;

    text-align:
        center;
}


/* Content protection */

.posys-needs-quote-r1-table th,
.posys-needs-quote-r1-table td {
    min-width: 0;
}


.posys-needs-quote-r1-table a,
.posys-needs-quote-r1-table span,
.posys-needs-quote-r1-table small,
.posys-needs-quote-r1-table strong {
    overflow-wrap:
        anywhere;
}


/* Responsive */

@media (max-width: 1180px) {

    .posys-needs-quote-r1-table {
        min-width:
            940px;
    }


    .posys-needs-quote-r1-table td:nth-child(3) ul {
        grid-template-columns:
            1fr;
    }


    .posys-needs-quote-r1-table td:nth-child(3) li:last-child {
        grid-column:
            auto;
    }

}


@media (max-width: 820px) {

    .posys-needs-quote-r1-table {
        min-width:
            900px;
    }


    .posys-needs-quote-r1-table thead th,
    .posys-needs-quote-r1-table tbody td {
        padding-left:
            10px !important;

        padding-right:
            10px !important;
    }

}

/* POSYS NEEDS ATTENTION QUOTATION UI R1 END */


/* ============================================================
   POSYS NEEDS ATTENTION QUOTATION UI R2 START
   Desktop containment + compact quotation actions
   ============================================================ */


/* Keep register inside card on normal desktop */

.posys-needs-quote-r2-wrap {
    width: 100%;
    max-width: 100%;

    box-sizing: border-box;

    overflow-x: hidden;
    overflow-y: visible;
}


.posys-needs-quote-r1-table {
    width: 100% !important;
    max-width: 100% !important;

    min-width: 0 !important;

    table-layout: fixed !important;
}


/* ------------------------------------------------------------
   Revised column balance

   Customer           15%
   Product            13%
   Confirmed details  40%
   Waiting            11%
   Action             21%
   ------------------------------------------------------------ */

.posys-needs-quote-r1-table th:nth-child(1),
.posys-needs-quote-r1-table td:nth-child(1) {
    width: 15% !important;
}


.posys-needs-quote-r1-table th:nth-child(2),
.posys-needs-quote-r1-table td:nth-child(2) {
    width: 13% !important;
}


.posys-needs-quote-r1-table th:nth-child(3),
.posys-needs-quote-r1-table td:nth-child(3) {
    width: 40% !important;
}


.posys-needs-quote-r1-table th:nth-child(4),
.posys-needs-quote-r1-table td:nth-child(4) {
    width: 11% !important;
}


.posys-needs-quote-r1-table th:nth-child(5),
.posys-needs-quote-r1-table td:nth-child(5) {
    width: 21% !important;
}


/* Slightly tighter rows */

.posys-needs-quote-r1-table tbody td {
    padding: 14px 12px !important;
}


/* Customer */

.posys-needs-quote-r1-table td:nth-child(1) {
    vertical-align: middle !important;
    overflow: hidden;
}


.posys-needs-quote-r1-table td:nth-child(1) a {
    display: inline-block;

    max-width: 100%;

    overflow-wrap: anywhere;
}


/* Product */

.posys-needs-quote-r1-table td:nth-child(2) {
    vertical-align: middle !important;
}


/* Confirmed details */

.posys-needs-quote-r1-table td:nth-child(3) ul {
    gap: 5px 10px !important;
}


.posys-needs-quote-r1-table td:nth-child(3) li {
    min-height: 0;

    padding:
        5px 8px 5px 17px !important;

    border-radius: 6px;

    font-size: 0.74rem;
    line-height: 1.3;

    overflow-wrap: anywhere;
    word-break: normal;
}


/* Waiting */

.posys-needs-quote-r1-table td:nth-child(4) {
    padding-left: 8px !important;
    padding-right: 8px !important;

    vertical-align: middle !important;

    text-align: center !important;

    color: #a24e00;

    font-size: 0.8rem;
    line-height: 1.15;
}


.posys-needs-quote-r1-table td:nth-child(4) strong,
.posys-needs-quote-r1-table td:nth-child(4) b {
    max-width: 100%;

    white-space: normal;
}


/* Action column */

.posys-needs-quote-r1-table td:nth-child(5) {
    padding: 12px 10px !important;

    vertical-align: middle !important;

    overflow: hidden;
}


/* Primary Prepare quotation action */

.posys-needs-quote-r1-table td:nth-child(5) > a,
.posys-needs-quote-r1-table td:nth-child(5) > button {
    width: 100% !important;
    max-width: none !important;

    min-height: 38px;

    margin: 0 0 7px !important;

    box-sizing: border-box;
}


/* Manual sent form */

.posys-needs-quote-r1-table td:nth-child(5) form {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr) auto;

    align-items: stretch;

    gap: 7px;

    width: 100%;
    max-width: 100%;

    margin: 0 !important;

    box-sizing: border-box;
}


.posys-needs-quote-r1-table
td:nth-child(5)
form
input:not([type="hidden"]):not([type="submit"]) {
    width: 100% !important;

    min-width: 0 !important;
    max-width: 100% !important;

    min-height: 38px;

    box-sizing: border-box;

    margin: 0 !important;

    padding: 7px 9px !important;

    border:
        1px solid #cbdbe5;

    border-radius: 8px;

    background: #ffffff;

    color: #29495d;

    font-size: 0.72rem;
}


.posys-needs-quote-r1-table
td:nth-child(5)
form
input:not([type="hidden"]):not([type="submit"]):focus {
    outline: none;

    border-color: #25a8d7;

    box-shadow:
        0 0 0 3px
        rgba(37, 168, 215, 0.11);
}


/* Secondary Sent manually control */

.posys-needs-quote-r1-table td:nth-child(5) form button,
.posys-needs-quote-r1-table td:nth-child(5) form input[type="submit"] {
    width: auto !important;

    max-width: none !important;

    min-width: 94px !important;
    min-height: 38px;

    margin: 0 !important;

    padding: 7px 10px !important;

    white-space: normal;

    box-sizing: border-box;
}


/* Do not allow controls to expand the table */

.posys-needs-quote-r1-table td:nth-child(5) * {
    max-width: 100%;
}


.posys-needs-quote-r1-table td:nth-child(5) form * {
    min-width: 0;
}


/* Horizontal scroll only when screen is genuinely narrow */

@media (max-width: 1050px) {

    .posys-needs-quote-r2-wrap {
        overflow-x: auto;
    }


    .posys-needs-quote-r1-table {
        min-width: 920px !important;
    }


    .posys-needs-quote-r1-table td:nth-child(3) ul {
        grid-template-columns:
            1fr !important;
    }


    .posys-needs-quote-r1-table td:nth-child(3) li:last-child {
        grid-column:
            auto !important;
    }

}


@media (max-width: 760px) {

    .posys-needs-quote-r1-table {
        min-width: 880px !important;
    }


    .posys-needs-quote-r1-table tbody td {
        padding-left:
            9px !important;

        padding-right:
            9px !important;
    }

}

/* POSYS NEEDS ATTENTION QUOTATION UI R2 END */


/* ============================================================
   POSYS NEEDS ATTENTION QUOTATION UI R3 START
   Waiting badge + action stack + calm long detail cards
   ============================================================ */


/* ------------------------------------------------------------
   Waiting badge
   ------------------------------------------------------------ */

.posys-needs-quote-r1-table
td:nth-child(4) {
    vertical-align:
        middle !important;
}


.posys-needs-quote-r1-table
td:nth-child(4)
strong,

.posys-needs-quote-r1-table
td:nth-child(4)
b {
    display:
        inline-flex !important;

    align-items:
        center;

    justify-content:
        center;

    max-width:
        100%;

    min-height:
        34px;

    padding:
        7px 11px !important;

    border:
        1px solid #efc998 !important;

    border-radius:
        999px !important;

    background:
        linear-gradient(
            180deg,
            #fff8ef 0%,
            #fff2df 100%
        ) !important;

    color:
        #a14b00 !important;

    font-size:
        0.76rem !important;

    font-weight:
        850 !important;

    line-height:
        1.15 !important;

    text-align:
        center;

    box-shadow:
        0 2px 6px
        rgba(161, 75, 0, 0.06);
}


/* ------------------------------------------------------------
   Action stack
   Primary action first, manual sent controls below.
   ------------------------------------------------------------ */

.posys-needs-quote-r1-table
td:nth-child(5) {
    vertical-align:
        middle !important;
}


.posys-needs-quote-r1-table
td:nth-child(5)
> a,

.posys-needs-quote-r1-table
td:nth-child(5)
> button {
    min-height:
        40px;

    margin-bottom:
        8px !important;

    border-radius:
        9px !important;

    font-size:
        0.76rem !important;

    font-weight:
        800 !important;
}


/*
 * Stack manual input and Sent manually vertically.
 * This gives the price field enough usable width.
 */

.posys-needs-quote-r1-table
td:nth-child(5)
form {
    display:
        grid !important;

    grid-template-columns:
        1fr !important;

    gap:
        7px !important;

    width:
        100%;
}


.posys-needs-quote-r1-table
td:nth-child(5)
form
input:not([type="hidden"]):not([type="submit"]) {
    width:
        100% !important;

    min-width:
        0 !important;

    min-height:
        38px;

    padding:
        7px 10px !important;

    box-sizing:
        border-box;

    border:
        1px solid #cbdbe5 !important;

    border-radius:
        8px !important;

    background:
        #ffffff;

    color:
        #29495d;

    font-size:
        0.73rem !important;

    line-height:
        1.2;
}


.posys-needs-quote-r1-table
td:nth-child(5)
form
input:not([type="hidden"]):not([type="submit"])::placeholder {
    color:
        #80939e;

    opacity:
        1;
}


.posys-needs-quote-r1-table
td:nth-child(5)
form
button,

.posys-needs-quote-r1-table
td:nth-child(5)
form
input[type="submit"] {
    width:
        100% !important;

    max-width:
        none !important;

    min-width:
        0 !important;

    min-height:
        38px;

    padding:
        7px 10px !important;

    box-sizing:
        border-box;

    border-radius:
        8px !important;

    white-space:
        normal;
}


/* ------------------------------------------------------------
   Confirmed detail cards
   ------------------------------------------------------------ */

.posys-needs-quote-r1-table
td:nth-child(3)
li {
    background:
        #f9fbfc;

    border-color:
        #e0e9ee;

    color:
        #405c6c;

    box-shadow:
        none;
}


/*
 * Long full-width details should remain readable but calmer.
 */

.posys-needs-quote-r1-table
td:nth-child(3)
li:last-child {
    padding:
        7px 10px 7px 18px !important;

    background:
        #f7fafb;

    line-height:
        1.35;
}


/* ------------------------------------------------------------
   Billing details visual treatment
   ------------------------------------------------------------ */

.posys-needs-quote-r1-table
td:nth-child(3)
li:last-child::before {
    top:
        12px;
}


.posys-needs-quote-r1-table
td:nth-child(3)
li:last-child {
    border-left:
        3px solid #d8e3e9;
}


/* ------------------------------------------------------------
   Row rhythm
   ------------------------------------------------------------ */

.posys-needs-quote-r1-table
tbody td {
    padding-top:
        13px !important;

    padding-bottom:
        13px !important;
}


.posys-needs-quote-r1-table
tbody tr + tr
td {
    border-top:
        0 !important;
}


/* ------------------------------------------------------------
   Responsive
   ------------------------------------------------------------ */

@media (max-width: 1050px) {

    .posys-needs-quote-r1-table
    td:nth-child(5)
    form {
        grid-template-columns:
            1fr !important;
    }

}


@media (max-width: 760px) {

    .posys-needs-quote-r1-table
    td:nth-child(4)
    strong,

    .posys-needs-quote-r1-table
    td:nth-child(4)
    b {
        font-size:
            0.7rem !important;

        padding:
            6px 8px !important;
    }


    .posys-needs-quote-r1-table
    td:nth-child(5)
    form
    input:not([type="hidden"]):not([type="submit"]),

    .posys-needs-quote-r1-table
    td:nth-child(5)
    form
    button,

    .posys-needs-quote-r1-table
    td:nth-child(5)
    form
    input[type="submit"] {
        min-height:
            36px;
    }

}

/* POSYS NEEDS ATTENTION QUOTATION UI R3 END */


/* ============================================================
   POSYS QUOTES OUT STATUS TABS R4 START
   Compact Waiting / Closed segmented navigation
   ============================================================ */


/* ------------------------------------------------------------
   Tabs toolbar
   ------------------------------------------------------------ */

.posys-quotes-out-tabs-r4 {
    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        flex-start !important;

    gap:
        14px !important;

    width:
        100%;

    margin:
        0 0 10px !important;

    padding:
        0 !important;

    box-sizing:
        border-box;
}


/* Small context label */

.posys-quotes-out-tabs-r4-label {
    flex:
        0 0 auto;

    color:
        #718693;

    font-size:
        0.65rem;

    font-weight:
        800;

    line-height:
        1;

    letter-spacing:
        0.075em;

    text-transform:
        uppercase;
}


/* ------------------------------------------------------------
   Segmented control shell
   ------------------------------------------------------------ */

.posys-quotes-out-tabs-r4-control {
    display:
        inline-flex;

    align-items:
        center;

    flex:
        0 0 auto;

    gap:
        3px;

    padding:
        3px;

    box-sizing:
        border-box;

    border:
        1px solid #d6e2e9;

    border-radius:
        10px;

    background:
        #f2f6f8;

    box-shadow:
        inset 0 1px 2px
        rgba(18, 56, 77, 0.035);
}


/* ------------------------------------------------------------
   Individual tabs
   ------------------------------------------------------------ */

.posys-quotes-out-tabs-r4-tab {
    display:
        inline-flex !important;

    align-items:
        center;

    justify-content:
        center;

    min-width:
        92px;

    min-height:
        32px;

    box-sizing:
        border-box;

    margin:
        0 !important;

    padding:
        6px 14px !important;

    border:
        0 !important;

    border-radius:
        7px !important;

    background:
        transparent !important;

    color:
        #496575 !important;

    font-size:
        0.76rem !important;

    font-weight:
        750 !important;

    line-height:
        1 !important;

    text-align:
        center;

    text-decoration:
        none !important;

    cursor:
        pointer;

    transition:
        background-color 0.14s ease,
        color 0.14s ease,
        box-shadow 0.14s ease;
}


/* ------------------------------------------------------------
   Active tab
   Commercial = magenta identity
   ------------------------------------------------------------ */

.posys-quotes-out-tabs-r4-tab.is-active {
    background:
        linear-gradient(
            180deg,
            #fff1f8 0%,
            #ffe7f3 100%
        ) !important;

    color:
        #a52868 !important;

    font-weight:
        850 !important;

    box-shadow:
        0 1px 4px
        rgba(173, 38, 109, 0.12),
        inset 0 0 0 1px
        rgba(255, 82, 174, 0.23);

    cursor:
        default;
}


/* Inactive hover */

.posys-quotes-out-tabs-r4-control
a.posys-quotes-out-tabs-r4-tab:hover {
    background:
        #ffffff !important;

    color:
        #173f55 !important;

    box-shadow:
        0 1px 4px
        rgba(18, 56, 77, 0.08);
}


/* ------------------------------------------------------------
   Make table visually connect to toolbar
   ------------------------------------------------------------ */

.posys-quotes-out-tabs-r4
+ .posys-table-wrap {
    margin-top:
        0 !important;
}


.posys-quotes-out-tabs-r4
~ .posys-table-wrap
.posys-quotes-out-v1-table
thead th {
    border-top-color:
        #d6e2e9;
}


/* ------------------------------------------------------------
   Responsive
   ------------------------------------------------------------ */

@media (max-width: 700px) {

    .posys-quotes-out-tabs-r4 {
        align-items:
            flex-start !important;

        flex-direction:
            column;

        gap:
            7px !important;
    }


    .posys-quotes-out-tabs-r4-control {
        width:
            100%;

        display:
            grid;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .posys-quotes-out-tabs-r4-tab {
        width:
            100%;

        min-width:
            0;
    }

}

/* POSYS QUOTES OUT STATUS TABS R4 END */


/* ============================================================
   POSYS NEEDS ATTENTION REPLY TABLE R4 START
   Larger latest message + compact action area
   ============================================================ */


/* ------------------------------------------------------------
   Table foundation
   ------------------------------------------------------------ */

.posys-needs-reply-r4-table {
    width:
        100% !important;

    max-width:
        100% !important;

    min-width:
        0 !important;

    table-layout:
        fixed !important;
}


/* ------------------------------------------------------------
   Column balance

   Customer        16%
   Why             23%
   Latest message  31%
   Waiting         12%
   Action          18%
   ------------------------------------------------------------ */

.posys-needs-reply-r4-table
th:nth-child(1),

.posys-needs-reply-r4-table
td:nth-child(1) {
    width:
        16% !important;
}


.posys-needs-reply-r4-table
th:nth-child(2),

.posys-needs-reply-r4-table
td:nth-child(2) {
    width:
        23% !important;
}


.posys-needs-reply-r4-table
th:nth-child(3),

.posys-needs-reply-r4-table
td:nth-child(3) {
    width:
        31% !important;
}


.posys-needs-reply-r4-table
th:nth-child(4),

.posys-needs-reply-r4-table
td:nth-child(4) {
    width:
        12% !important;
}


.posys-needs-reply-r4-table
th:nth-child(5),

.posys-needs-reply-r4-table
td:nth-child(5) {
    width:
        18% !important;
}


/* ------------------------------------------------------------
   General row spacing
   ------------------------------------------------------------ */

.posys-needs-reply-r4-table
tbody td {
    padding:
        16px 14px !important;

    vertical-align:
        middle !important;
}


/* ------------------------------------------------------------
   Latest message
   ------------------------------------------------------------ */

.posys-needs-reply-r4-table
td:nth-child(3) {
    padding-left:
        18px !important;

    padding-right:
        20px !important;

    vertical-align:
        top !important;
}


.posys-needs-reply-r4-table
td:nth-child(3)
strong,

.posys-needs-reply-r4-table
td:nth-child(3)
b {
    display:
        block;

    color:
        #12364b;

    font-size:
        0.92rem !important;

    font-weight:
        800 !important;

    line-height:
        1.45 !important;

    overflow-wrap:
        anywhere;

    word-break:
        normal;
}


.posys-needs-reply-r4-table
td:nth-child(3)
small {
    display:
        block;

    margin-top:
        8px;

    color:
        #718692;

    font-size:
        0.72rem;

    line-height:
        1.35;
}


/* If message is plain text rather than strong */

.posys-needs-reply-r4-table
td:nth-child(3) {
    color:
        #173b50;

    font-size:
        0.88rem;

    font-weight:
        650;

    line-height:
        1.45;

    overflow-wrap:
        anywhere;
}


/* ------------------------------------------------------------
   Why
   ------------------------------------------------------------ */

.posys-needs-reply-r4-table
td:nth-child(2) {
    vertical-align:
        top !important;
}


.posys-needs-reply-r4-table
td:nth-child(2)
small {
    font-size:
        0.72rem;

    line-height:
        1.35;
}


/* ------------------------------------------------------------
   Waiting
   ------------------------------------------------------------ */

.posys-needs-reply-r4-table
td:nth-child(4) {
    padding-left:
        10px !important;

    padding-right:
        10px !important;

    text-align:
        left;

    vertical-align:
        top !important;
}


.posys-needs-reply-r4-table
td:nth-child(4)
strong,

.posys-needs-reply-r4-table
td:nth-child(4)
b {
    display:
        block;

    margin-bottom:
        8px;

    font-size:
        0.82rem;

    line-height:
        1.15;
}


/* ------------------------------------------------------------
   Compact Action column
   ------------------------------------------------------------ */

.posys-needs-reply-r4-table
td:nth-child(5) {
    padding:
        14px 10px !important;

    vertical-align:
        middle !important;
}


/*
 * Stack note + Mark handled.
 * This allows Action to shrink without crushing controls.
 */

.posys-needs-reply-r4-table
td:nth-child(5)
form {
    display:
        grid !important;

    grid-template-columns:
        1fr !important;

    gap:
        7px !important;

    width:
        100%;

    max-width:
        100%;

    margin:
        0 !important;
}


/* Note field */

.posys-needs-reply-r4-table
td:nth-child(5)
input:not([type="hidden"]):not([type="submit"]),

.posys-needs-reply-r4-table
td:nth-child(5)
textarea {
    width:
        100% !important;

    max-width:
        100% !important;

    min-width:
        0 !important;

    min-height:
        36px;

    box-sizing:
        border-box;

    margin:
        0 !important;

    padding:
        7px 9px !important;

    border-radius:
        8px !important;

    font-size:
        0.72rem !important;

    line-height:
        1.2;
}


/* Mark handled */

.posys-needs-reply-r4-table
td:nth-child(5)
button,

.posys-needs-reply-r4-table
td:nth-child(5)
input[type="submit"] {
    width:
        100% !important;

    max-width:
        none !important;

    min-width:
        0 !important;

    min-height:
        36px;

    box-sizing:
        border-box;

    margin:
        0 !important;

    padding:
        7px 9px !important;

    border-radius:
        8px !important;

    font-size:
        0.72rem !important;

    font-weight:
        800 !important;

    line-height:
        1.15 !important;

    white-space:
        normal;
}


/* ------------------------------------------------------------
   Customer
   ------------------------------------------------------------ */

.posys-needs-reply-r4-table
td:nth-child(1) {
    vertical-align:
        top !important;
}


.posys-needs-reply-r4-table
td:nth-child(1)
strong {
    font-size:
        0.86rem;

    line-height:
        1.3;
}


.posys-needs-reply-r4-table
td:nth-child(1)
a {
    overflow-wrap:
        anywhere;
}


/* ------------------------------------------------------------
   Responsive fallback
   ------------------------------------------------------------ */

@media (max-width: 1100px) {

    .posys-needs-reply-r4-table {
        min-width:
            960px !important;
    }

}


@media (max-width: 820px) {

    .posys-needs-reply-r4-table {
        min-width:
            900px !important;
    }


    .posys-needs-reply-r4-table
    tbody td {
        padding-left:
            10px !important;

        padding-right:
            10px !important;
    }

}

/* POSYS NEEDS ATTENTION REPLY TABLE R4 END */


/* ============================================================
   POSYS FOLLOW UP TODAY TABLE R1 START
   Wider Suggested Message + smaller Action column
   ============================================================ */

.posys-follow-up-today-r1-table {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
}


/* ------------------------------------------------------------
   Column balance
   Customer           16%
   Why                22%
   Suggested message  35%
   Last wrote         12%
   Action             15%
   ------------------------------------------------------------ */

.posys-follow-up-today-r1-table th:nth-child(1),
.posys-follow-up-today-r1-table td:nth-child(1) {
    width: 16% !important;
}

.posys-follow-up-today-r1-table th:nth-child(2),
.posys-follow-up-today-r1-table td:nth-child(2) {
    width: 22% !important;
}

.posys-follow-up-today-r1-table th:nth-child(3),
.posys-follow-up-today-r1-table td:nth-child(3) {
    width: 35% !important;
}

.posys-follow-up-today-r1-table th:nth-child(4),
.posys-follow-up-today-r1-table td:nth-child(4) {
    width: 12% !important;
}

.posys-follow-up-today-r1-table th:nth-child(5),
.posys-follow-up-today-r1-table td:nth-child(5) {
    width: 15% !important;
}


/* ------------------------------------------------------------
   General spacing
   ------------------------------------------------------------ */

.posys-follow-up-today-r1-table tbody td {
    padding: 18px 14px !important;
    vertical-align: top !important;
}


/* ------------------------------------------------------------
   Suggested message column
   ------------------------------------------------------------ */

.posys-follow-up-today-r1-table td:nth-child(3) {
    color: #12384d;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.55;
    padding-left: 18px !important;
    padding-right: 20px !important;
    overflow-wrap: anywhere;
    word-break: normal;
}

.posys-follow-up-today-r1-table td:nth-child(3) strong,
.posys-follow-up-today-r1-table td:nth-child(3) b {
    display: block;
    color: #0e3247;
    font-size: 0.98rem;
    font-weight: 800;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.posys-follow-up-today-r1-table td:nth-child(3) small {
    display: block;
    margin-top: 8px;
    color: #708692;
    font-size: 0.74rem;
    line-height: 1.35;
}


/* ------------------------------------------------------------
   Why column
   ------------------------------------------------------------ */

.posys-follow-up-today-r1-table td:nth-child(2) {
    color: #5a6d79;
    font-size: 0.82rem;
    line-height: 1.5;
}

.posys-follow-up-today-r1-table td:nth-child(2) small {
    color: #7b8d98;
    font-size: 0.72rem;
    line-height: 1.35;
}


/* ------------------------------------------------------------
   Last wrote column
   ------------------------------------------------------------ */

.posys-follow-up-today-r1-table td:nth-child(4) {
    color: #35515f;
    font-size: 0.82rem;
    line-height: 1.45;
    white-space: normal;
}


/* ------------------------------------------------------------
   Customer column
   ------------------------------------------------------------ */

.posys-follow-up-today-r1-table td:nth-child(1) strong,
.posys-follow-up-today-r1-table td:nth-child(1) b {
    display: block;
    font-size: 0.92rem;
    line-height: 1.3;
}

.posys-follow-up-today-r1-table td:nth-child(1) a {
    overflow-wrap: anywhere;
}


/* ------------------------------------------------------------
   Compact action column
   ------------------------------------------------------------ */

.posys-follow-up-today-r1-table td:nth-child(5) {
    padding: 14px 10px !important;
    text-align: center;
    vertical-align: middle !important;
}

.posys-follow-up-today-r1-table td:nth-child(5) form {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 !important;
    width: 100%;
}

.posys-follow-up-today-r1-table td:nth-child(5) button,
.posys-follow-up-today-r1-table td:nth-child(5) input[type="submit"],
.posys-follow-up-today-r1-table td:nth-child(5) .posys-button,
.posys-follow-up-today-r1-table td:nth-child(5) .btn {
    width: 100% !important;
    max-width: 132px !important;
    min-width: 0 !important;
    min-height: 40px !important;
    padding: 8px 12px !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
    font-size: 0.80rem !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    white-space: normal !important;
}


/* ------------------------------------------------------------
   Responsive fallback
   ------------------------------------------------------------ */

@media (max-width: 1180px) {
    .posys-follow-up-today-r1-table {
        min-width: 980px !important;
    }
}

@media (max-width: 820px) {
    .posys-follow-up-today-r1-table {
        min-width: 920px !important;
    }

    .posys-follow-up-today-r1-table tbody td {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

/* POSYS FOLLOW UP TODAY TABLE R1 END */


/* ============================================================
   POSYS STAFF LESSONS HOUSE STYLE R1 START
   Structured active AI guidance list
   ============================================================ */

.posys-house-style-r1 {
    overflow:
        hidden;
}


/* ------------------------------------------------------------
   Header
   ------------------------------------------------------------ */

.posys-house-style-r1-header {
    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        20px;

    margin-bottom:
        18px;
}


.posys-house-style-r1-header h2 {
    margin:
        3px 0 5px;
}


.posys-house-style-r1-header p {
    margin:
        0;

    max-width:
        720px;
}


.posys-house-style-r1-eyebrow {
    display:
        block;

    color:
        #738995;

    font-size:
        0.66rem;

    font-weight:
        800;

    line-height:
        1;

    letter-spacing:
        0.08em;

    text-transform:
        uppercase;
}


/* ------------------------------------------------------------
   Rule list
   ------------------------------------------------------------ */

.posys-house-style-r1-list {
    display:
        grid;

    gap:
        8px;
}


/* ------------------------------------------------------------
   Individual lesson row
   ------------------------------------------------------------ */

.posys-house-style-r1-row {
    display:
        grid !important;

    grid-template-columns:
        minmax(0, 1fr) 124px;

    align-items:
        center;

    gap:
        18px;

    width:
        100%;

    margin:
        0 !important;

    padding:
        13px 14px !important;

    box-sizing:
        border-box;

    border:
        1px solid #dce6eb;

    border-radius:
        10px;

    background:
        #fbfdfe;

    transition:
        border-color 0.12s ease,
        background-color 0.12s ease,
        box-shadow 0.12s ease;
}


.posys-house-style-r1-row:hover {
    border-color:
        #bfd7e2;

    background:
        #f8fbfd;

    box-shadow:
        0 2px 7px rgba(17, 62, 86, 0.05);
}


/* ------------------------------------------------------------
   Lesson text area
   ------------------------------------------------------------ */

.posys-house-style-r1-content {
    display:
        grid;

    grid-template-columns:
        28px minmax(0, 1fr);

    align-items:
        start;

    gap:
        11px;

    min-width:
        0;
}


.posys-house-style-r1-index {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        26px;

    height:
        26px;

    margin-top:
        1px;

    border:
        1px solid #d4e2e9;

    border-radius:
        999px;

    background:
        #eef5f8;

    color:
        #446675;

    font-size:
        0.68rem;

    font-weight:
        800;

    line-height:
        1;
}


.posys-house-style-r1-text {
    min-width:
        0;

    color:
        #16384a;

    font-size:
        0.89rem;

    font-weight:
        600;

    line-height:
        1.48;

    overflow-wrap:
        anywhere;
}


/* ------------------------------------------------------------
   Action
   ------------------------------------------------------------ */

.posys-house-style-r1-action {
    display:
        flex;

    align-items:
        center;

    justify-content:
        flex-end;

    width:
        100%;
}


.posys-house-style-r1-stop {
    width:
        112px !important;

    min-width:
        112px !important;

    max-width:
        112px !important;

    min-height:
        36px !important;

    margin:
        0 !important;

    padding:
        7px 10px !important;

    border-radius:
        8px !important;

    box-sizing:
        border-box;

    font-size:
        0.74rem !important;

    font-weight:
        800 !important;

    line-height:
        1.1 !important;

    white-space:
        nowrap;
}


/* ------------------------------------------------------------
   Empty state
   ------------------------------------------------------------ */

.posys-house-style-r1-empty {
    padding:
        18px;

    border:
        1px dashed #ccdce4;

    border-radius:
        10px;

    background:
        #fafcfd;

    color:
        #657d89;

    text-align:
        center;
}


/* ------------------------------------------------------------
   Tablet
   ------------------------------------------------------------ */

@media (max-width: 900px) {

    .posys-house-style-r1-row {
        grid-template-columns:
            minmax(0, 1fr) 110px;
    }


    .posys-house-style-r1-stop {
        width:
            104px !important;

        min-width:
            104px !important;

        max-width:
            104px !important;
    }

}


/* ------------------------------------------------------------
   Mobile
   ------------------------------------------------------------ */

@media (max-width: 650px) {

    .posys-house-style-r1-row {
        grid-template-columns:
            1fr;

        gap:
            11px;

        padding:
            12px !important;
    }


    .posys-house-style-r1-action {
        justify-content:
            flex-start;

        padding-left:
            39px;
    }


    .posys-house-style-r1-stop {
        width:
            auto !important;

        min-width:
            108px !important;

        max-width:
            none !important;
    }

}

/* POSYS STAFF LESSONS HOUSE STYLE R1 END */


/* ============================================================
   POSYS STAFF LESSONS WAITING REVIEW R2 START
   Compact review queue / empty state
   ============================================================ */


/* ------------------------------------------------------------
   Card
   ------------------------------------------------------------ */

.posys-staff-review-r2 {
    position:
        relative;
}


.posys-staff-review-r2.is-empty {
    padding-top:
        18px !important;

    padding-bottom:
        18px !important;
}


/* ------------------------------------------------------------
   Header
   ------------------------------------------------------------ */

.posys-staff-review-r2-header {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        18px;

    margin-bottom:
        16px;
}


.posys-staff-review-r2.is-empty
.posys-staff-review-r2-header {
    margin-bottom:
        10px;
}


.posys-staff-review-r2-header h2 {
    margin:
        3px 0 0;

    line-height:
        1.2;
}


.posys-staff-review-r2-eyebrow {
    display:
        block;

    color:
        #748a96;

    font-size:
        0.65rem;

    font-weight:
        800;

    line-height:
        1;

    letter-spacing:
        0.08em;

    text-transform:
        uppercase;
}


/* ------------------------------------------------------------
   Count badge
   ------------------------------------------------------------ */

.posys-staff-review-r2-count {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-width:
        34px;

    height:
        30px;

    padding:
        0 9px;

    border:
        1px solid #d7e3e9;

    border-radius:
        999px;

    background:
        #f3f7f9;

    color:
        #365b6c;

    font-size:
        0.78rem;

    font-weight:
        800;

    box-sizing:
        border-box;
}


/* ------------------------------------------------------------
   Compact empty state
   ------------------------------------------------------------ */

.posys-staff-review-r2-empty {
    display:
        flex;

    align-items:
        center;

    gap:
        12px;

    min-height:
        46px;

    padding:
        10px 12px;

    border:
        1px solid #dce7ec;

    border-radius:
        9px;

    background:
        #f9fcfd;

    box-sizing:
        border-box;
}


.posys-staff-review-r2-empty-icon {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    flex:
        0 0 auto;

    width:
        28px;

    height:
        28px;

    border:
        1px solid #cde1d8;

    border-radius:
        999px;

    background:
        #f0f8f4;

    color:
        #34715a;

    font-size:
        0.78rem;

    font-weight:
        900;
}


.posys-staff-review-r2-empty > div {
    display:
        flex;

    align-items:
        baseline;

    flex-wrap:
        wrap;

    gap:
        5px 8px;

    min-width:
        0;
}


.posys-staff-review-r2-empty strong {
    color:
        #173b4e;

    font-size:
        0.82rem;

    font-weight:
        800;
}


.posys-staff-review-r2-empty span:not(
    .posys-staff-review-r2-empty-icon
) {
    color:
        #718692;

    font-size:
        0.78rem;

    line-height:
        1.35;
}


/* ------------------------------------------------------------
   Pending review forms
   Keep existing functionality, improve separation
   ------------------------------------------------------------ */

.posys-staff-review-r2
> form.posys-card {
    margin:
        12px 0 0 !important;

    border:
        1px solid #dbe6eb;

    box-shadow:
        none;
}


/* ------------------------------------------------------------
   Mobile
   ------------------------------------------------------------ */

@media (max-width: 650px) {

    .posys-staff-review-r2-header {
        align-items:
            flex-start;
    }


    .posys-staff-review-r2-empty {
        align-items:
            flex-start;
    }


    .posys-staff-review-r2-empty > div {
        display:
            grid;

        gap:
            3px;
    }

}

/* POSYS STAFF LESSONS WAITING REVIEW R2 END */


/* ============================================================
   POSYS STAFF LESSONS CARD SPACING R3 START
   Consistent separation between major Staff Lessons cards
   ============================================================ */


/*
 * Waiting for review currently follows the AI performance card.
 * Give it the same visual breathing room as the other sections.
 */

.posys-staff-review-r2 {
    margin-top:
        18px !important;
}


/*
 * Keep House Style comfortably separated from the review queue.
 */

.posys-house-style-r1 {
    margin-top:
        18px !important;
}


/*
 * Preserve slightly tighter spacing on smaller screens while
 * still keeping the cards visually separated.
 */

@media (max-width: 650px) {

    .posys-staff-review-r2,
    .posys-house-style-r1 {
        margin-top:
            14px !important;
    }

}

/* POSYS STAFF LESSONS CARD SPACING R3 END */
