* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    background: #f4f5f5;
    color: #181b1d;
}

.mes-layout {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 240px 1fr;
}

.sidebar {
    background: #181c1e;
    color: white;
    padding: 32px 24px;
    display: flex;
    flex-direction: column;
}

.mes-brand {
    padding-bottom: 34px;
    border-bottom: 1px solid #34393b;
}

.mes-brand span {
    display: block;
    font-size: 12px;
    letter-spacing: 4px;
    color: #92989a;
}

.mes-brand strong {
    display: block;
    margin-top: 4px;
    font-size: 28px;
    letter-spacing: 3px;
}

.mes-nav {
    margin-top: 34px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mes-nav a {
    text-decoration: none;
    color: #9ea3a5;
    padding: 13px 14px;
    font-size: 13px;
    font-weight: bold;
    letter-spacing: 1px;
    border-left: 2px solid transparent;
}

.mes-nav a:hover,
.mes-nav a.active {
    color: white;
    background: #222729;
    border-left-color: white;
}

.sidebar-footer {
    margin-top: auto;
    font-size: 10px;
    color: #72787a;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.dashboard {
    padding: 48px;
}

.dashboard-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 38px;
}

.eyebrow {
    display: block;
    font-size: 10px;
    letter-spacing: 2.5px;
    color: #7d8385;
    margin-bottom: 8px;
}

.dashboard-header h1 {
    font-size: 40px;
    letter-spacing: -1.5px;
}

.system-status {
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.status-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #58a86b;
    margin-right: 7px;
}

.summary-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 24px;
}

.summary-card {
    background: white;
    border: 1px solid #e0e2e2;
    padding: 25px;
}

.summary-card span {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #777d7f;
}

.summary-card strong {
    display: block;
    margin-top: 10px;
    font-size: 35px;
}

.panel {
    background: white;
    border: 1px solid #dedfe0;
    padding: 30px;
}

.panel-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 25px;
}

.panel-heading h2 {
    font-size: 24px;
}

.last-update {
    font-size: 11px;
    color: #8b9092;
}

.job-table {
    border-top: 1px solid #dddddd;
}

.job-row {
    display: grid;
    grid-template-columns:
        1.05fr
        1.6fr
        1.1fr
        1.4fr
        0.8fr;

    gap: 22px;
    align-items: center;

    padding: 21px 0;
    border-bottom: 1px solid #e5e5e5;
}

.job-header {
    padding: 11px 0;
    font-size: 10px;
    font-weight: bold;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #858a8c;
}

.job-row strong {
    display: block;
    font-size: 13px;
}

.job-row small {
    display: block;
    margin-top: 3px;
    color: #8b9092;
    font-size: 11px;
}

.job-row > span {
    font-size: 12px;
}

.progress-cell {
    width: 100%;
}

.progress-info {
    display: flex;
    justify-content: space-between;
    margin-bottom: 7px;
    font-size: 10px;
    color: #777c7e;
}

.progress-bar {
    width: 100%;
    height: 6px;
    background: #eceeee;
}

.progress-fill {
    height: 100%;
    background: #24292b;
}

.job-status {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 82px;
    padding: 7px 10px;
    font-size: 10px !important;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.job-status.cutting {
    background: #e8f1ea;
    color: #41784d;
}

.job-status.ready {
    background: #f2efe4;
    color: #846f28;
}

.job-status.complete {
    background: #ebedef;
    color: #555d61;
}

.lower-grid {
    display: grid;
    grid-template-columns: 1.4fr 0.6fr;
    gap: 24px;
    margin-top: 24px;
}

.machine-list {
    display: flex;
    flex-direction: column;
}

.machine-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 17px 0;
    border-bottom: 1px solid #e5e5e5;
}

.machine-row:last-child {
    border-bottom: none;
}

.machine-row strong {
    display: block;
    font-size: 13px;
}

.machine-row small {
    display: block;
    margin-top: 4px;
    color: #888e90;
}

.machine-status {
    font-size: 10px;
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: 1px;
}

.machine-status.running {
    color: #4c8b59;
}

.machine-status.idle {
    color: #a17c24;
}

.machine-status.available {
    color: #687074;
}

.production-number strong {
    display: block;
    font-size: 64px;
    letter-spacing: -3px;
}

.production-number span {
    display: block;
    margin-top: -5px;
    font-size: 11px;
    color: #7f8587;
    text-transform: uppercase;
    letter-spacing: 1.2px;
}

.production-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 35px;
    border-top: 1px solid #dedede;
}

.production-meta div {
    padding-top: 18px;
}

.production-meta span {
    display: block;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #858b8d;
}

.production-meta strong {
    display: block;
    margin-top: 3px;
    font-size: 18px;
}

.mes-footer {
    margin-top: 28px;
    color: #999ea0;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
}

@media (max-width: 1050px) {

    .mes-layout {
        grid-template-columns: 1fr;
    }

    .sidebar {
        display: none;
    }

    .summary-grid {
        grid-template-columns: 1fr 1fr;
    }

    .lower-grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 700px) {

    .dashboard {
        padding: 20px;
    }

    .dashboard-header {
        align-items: flex-start;
        gap: 20px;
        flex-direction: column;
    }

    .summary-grid {
        grid-template-columns: 1fr;
    }

    .job-header {
        display: none;
    }

    .job-row {
        grid-template-columns: 1fr;
        gap: 10px;
    }

}

/* -----------------------------
   Job creation
------------------------------ */

.header-actions {
    display: flex;
    align-items: center;
    gap: 22px;
}

.add-job-button,
.submit-job-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: #1d2123;
    color: #ffffff;
    padding: 12px 18px;
    text-decoration: none;
    font-size: 11px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    cursor: pointer;
}

.secondary-action {
    background: #ffffff;
    color: #1d2123;
    border: 1px solid #d9dcdd;
}

.jobs-page-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 24px;
}

.job-form {
    margin-top: 5px;
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.job-form label {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.job-form label > span {
    font-size: 10px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: #747a7c;
}

.job-form input,
.job-form select {
    width: 100%;
    padding: 13px 14px;
    border: 1px solid #d8dbdc;
    background: #ffffff;
    color: #1d2123;
    font: inherit;
    font-size: 13px;
    outline: none;
}

.job-form input:focus,
.job-form select:focus {
    border-color: #606769;
}

.full-width {
    grid-column: 1 / -1;
}

.submit-job-button {
    margin-top: 24px;
    min-width: 150px;
}

.form-message {
    padding: 12px 14px;
    margin-bottom: 20px;
    font-size: 12px;
    border-left: 3px solid;
}

.success-message {
    background: #edf5ef;
    color: #3f7349;
    border-color: #58a86b;
}

.error-message {
    background: #f8eeee;
    color: #8b4141;
    border-color: #b55b5b;
}

.recent-jobs {
    display: flex;
    flex-direction: column;
}

.recent-job-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 15px 0;
    border-bottom: 1px solid #e5e5e5;
}

.recent-job-row:last-child {
    border-bottom: none;
}

.recent-job-row strong {
    display: block;
    font-size: 13px;
}

.recent-job-row small {
    display: block;
    margin-top: 4px;
    color: #858b8d;
    font-size: 11px;
}

.empty-state {
    padding: 28px 0;
    color: #747a7c;
    font-size: 13px;
}

.empty-state a {
    color: #1d2123;
    font-weight: bold;
}

@media (max-width: 1000px) {
    .jobs-page-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .header-actions {
        width: 100%;
        justify-content: space-between;
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .full-width {
        grid-column: auto;
    }
}

/* Parts + process tracking */
.job-row-new { grid-template-columns: 1fr 1.25fr .65fr 1.45fr .85fr; }
.job-number-link {
    color: #181b1d;
    text-decoration: none;
    font-weight: 700;
    display: inline-block;
}
.job-number-link:hover {
    text-decoration: none;
    opacity: .6;
}
.job-status.in-progress { background:#eef2f5; color:#52636d; }
.parts-builder { margin-top:24px; }
.builder-help { color:#7c8284; font-size:13px; margin:-8px 0 24px; }
.add-part-button,.remove-part { border:1px solid #d6d9da; background:#fff; padding:10px 14px; font-size:10px; font-weight:bold; letter-spacing:1px; text-transform:uppercase; cursor:pointer; }
.part-card { border:1px solid #dfe1e2; padding:22px; margin-top:16px; background:#fafbfb; }
.part-card-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.part-card-head strong { font-size:16px; }
.remove-part { color:#8b4141; }
.process-section { margin-top:20px; padding-top:18px; border-top:1px solid #e0e2e2; }
.process-label { display:block; font-size:10px; font-weight:bold; text-transform:uppercase; letter-spacing:1.2px; color:#747a7c; margin-bottom:12px; }
.process-checkboxes { display:flex; flex-wrap:wrap; gap:9px; }
.process-check { display:inline-flex; align-items:center; gap:8px; border:1px solid #d9dcdd; background:#fff; padding:9px 11px; font-size:11px; cursor:pointer; }
.process-check input { width:auto; }
.builder-submit { margin:24px 0 50px; }
.parts-tracker { display:flex; flex-direction:column; gap:18px; }
.track-part { border:1px solid #e0e2e2; padding:22px; }
.track-part-head { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; padding-bottom:18px; border-bottom:1px solid #e5e7e7; }
.track-part-head strong { display:block; font-size:18px; }
.track-part-head small { display:block; color:#808688; margin-top:5px; }
.part-progress { text-align:right; }
.part-progress span { display:block; font-size:10px; color:#858b8d; text-transform:uppercase; letter-spacing:1px; }
.part-progress strong { display:block; margin-top:3px; font-size:20px; }
.process-flow { display:flex; flex-wrap:wrap; gap:10px; padding-top:18px; }
.process-form { margin:0; }
.process-chip { min-width:135px; display:grid; grid-template-columns:auto 1fr; gap:2px 8px; align-items:center; text-align:left; border:1px solid #d9dcdd; background:#fff; padding:11px 13px; cursor:pointer; color:#252a2c; }
.process-chip .process-tick { grid-row:1 / 3; font-size:17px; color:#8b9193; }
.process-chip > span:nth-child(2) { font-size:11px; font-weight:bold; }
.process-chip small { color:#8b9193; font-size:9px; text-transform:uppercase; letter-spacing:.7px; }
.process-chip.done { background:#edf5ef; border-color:#bcd7c2; color:#356641; }
.process-chip.done .process-tick { color:#4c8b59; }
.job-summary { margin-bottom:24px; }
@media(max-width:700px){.job-row-new{grid-template-columns:1fr}.track-part-head{flex-direction:column}.part-progress{text-align:left}.process-chip{min-width:100%;}.process-form{width:100%;}}


/* =========================================================
   Refined job entry + part/process tracking layout
   ========================================================= */

.job-form {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.job-header-panel,
.parts-builder {
    padding: 34px 40px;
}

.job-form .form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 24px;
}

.job-form label {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.job-form label > span {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.25px;
    color: #72787a;
}

.job-form input[type="text"],
.job-form input[type="number"],
.job-form input:not([type]),
.job-form select {
    width: 100%;
    min-height: 44px;
    padding: 11px 13px;
    border: 1px solid #d5d9da;
    background: #fff;
    color: #1c2022;
    font: inherit;
    font-size: 13px;
    border-radius: 0;
    outline: none;
}

.job-form input:focus,
.job-form select:focus {
    border-color: #71787a;
    box-shadow: 0 0 0 2px rgba(28, 32, 34, .07);
}

.parts-builder .panel-heading {
    align-items: center;
    margin-bottom: 8px;
}

.builder-help {
    max-width: 760px;
    margin: 0 0 24px;
    color: #777d7f;
    font-size: 13px;
}

#parts-container {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.part-card {
    margin: 0;
    padding: 0;
    border: 1px solid #dde0e1;
    background: #fff;
}

.part-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 0;
    padding: 16px 20px;
    background: #f6f7f7;
    border-bottom: 1px solid #e0e2e2;
}

.part-card-head strong {
    font-size: 15px;
    letter-spacing: .2px;
}

.part-fields {
    padding: 22px 20px 4px;
}

.part-card .process-section {
    margin: 18px 20px 20px;
    padding-top: 18px;
    border-top: 1px solid #e2e4e4;
}

.process-label {
    margin-bottom: 12px;
}

.process-checkboxes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.job-form .process-check {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid #d8dbdc;
    background: #fafbfb;
    cursor: pointer;
    user-select: none;
}

.job-form .process-check:hover {
    background: #f2f4f4;
}

.job-form .process-check input[type="checkbox"] {
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
    accent-color: #24292b;
}

.job-form .process-check > span {
    color: #272c2e;
    font-size: 12px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
}

.add-part-button,
.remove-part,
.submit-job-button {
    min-height: 42px;
    border-radius: 0;
}

.add-part-button {
    background: #1d2123;
    color: #fff;
    border: 1px solid #1d2123;
    padding: 10px 16px;
}

.remove-part {
    background: transparent;
    color: #7e4343;
    border: 1px solid #d9caca;
    padding: 8px 12px;
}

.builder-submit {
    display: flex;
    justify-content: flex-end;
    margin: 0 0 50px;
}

.builder-submit .submit-job-button {
    min-width: 180px;
    padding: 13px 22px;
}

/* Job detail / process completion */
.parts-tracker {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.track-part {
    padding: 0;
    border: 1px solid #dfe2e2;
    background: #fff;
}

.track-part-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 19px 22px;
    background: #f7f8f8;
    border-bottom: 1px solid #e1e3e3;
}

.track-part-head > div:first-child {
    min-width: 0;
}

.track-part-head strong {
    font-size: 19px;
    line-height: 1.1;
}

.track-part-head small {
    margin-top: 6px;
    color: #787f81;
    font-size: 12px;
}

.part-progress {
    min-width: 110px;
    text-align: right;
}

.process-flow {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    padding: 20px 22px 22px;
}

.process-form {
    margin: 0;
    min-width: 0;
}

.process-chip {
    width: 100%;
    min-height: 68px;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 9px;
    row-gap: 2px;
    padding: 11px 12px;
    border: 1px solid #d8dbdc;
    background: #fafbfb;
    color: #252a2c;
    text-align: left;
    cursor: pointer;
    font: inherit;
}

.process-chip:hover {
    border-color: #aeb3b5;
    background: #f3f5f5;
}

.process-chip .process-tick {
    grid-row: 1 / 3;
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #cbd0d1;
    border-radius: 50%;
    color: #8b9193;
    font-size: 15px;
    line-height: 1;
}

.process-chip .process-name {
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
}

.process-chip small {
    color: #888e90;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .75px;
}

.process-chip.done {
    border-color: #b9d2be;
    background: #eef6f0;
    color: #315e3a;
}

.process-chip.done:hover {
    background: #e8f2ea;
}

.process-chip.done .process-tick {
    border-color: #7eaf88;
    background: #5b9667;
    color: #fff;
}

.process-chip.done small {
    color: #537a5b;
}

@media (max-width: 1250px) {
    .process-flow {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .process-checkboxes,
    .process-flow {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .job-header-panel,
    .parts-builder {
        padding: 24px 20px;
    }

    .job-form .form-grid,
    .process-checkboxes,
    .process-flow {
        grid-template-columns: 1fr;
    }

    .part-fields {
        padding: 18px 16px 2px;
    }

    .part-card .process-section {
        margin: 16px;
    }

    .track-part-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .part-progress {
        text-align: left;
    }

    .process-flow {
        padding: 16px;
    }

    .builder-submit {
        justify-content: stretch;
    }

    .builder-submit .submit-job-button {
        width: 100%;
    }
}

/* =========================================================
   Job status + collection / delivery workflow
   ========================================================= */
.status-workflow-panel {
    margin-bottom: 24px;
}

.status-workflow-copy {
    max-width: 820px;
    color: #697073;
    font-size: 13px;
    line-height: 1.65;
}

.fulfillment-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 260px));
    gap: 12px;
    margin-top: 22px;
}

.fulfillment-actions form {
    margin: 0;
}

.fulfillment-button {
    width: 100%;
    min-height: 70px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 4px;
    padding: 13px 15px;
    border: 1px solid #d4d8d9;
    background: #fafbfb;
    color: #23282a;
    cursor: pointer;
    text-align: left;
    font: inherit;
}

.fulfillment-button:hover {
    background: #f1f3f3;
    border-color: #aeb4b5;
}

.fulfillment-button span {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.fulfillment-button small {
    color: #7d8486;
    font-size: 10px;
}

.fulfillment-button.final-action {
    background: #1d2123;
    border-color: #1d2123;
    color: #fff;
}

.fulfillment-button.final-action small {
    color: #b8bdbe;
}

.fulfillment-button.secondary-fulfillment {
    background: #fff;
}

.job-status.not-started {
    background: #f1f2f2;
    color: #656c6f;
}

.job-status.in-progress {
    background: #eef2f5;
    color: #52636d;
}

.job-status.ready-for-collection-delivery {
    background: #f4f0df;
    color: #7a6727;
}

.job-status.awaiting-collection,
.job-status.awaiting-delivery {
    background: #eef1f7;
    color: #4f6082;
}

.job-status.collected,
.job-status.delivered {
    background: #e8f2ea;
    color: #3f744b;
}

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


/* ===== Enhanced Fairdeal MES layout ===== */

.summary-grid-five {
    grid-template-columns: repeat(5, 1fr);
}
.summary-card.tone-blue { background: #eef3f5; }
.summary-card.tone-grey { background: #f5f5f3; }
.summary-card.tone-warm { background: #f7f3e9; }
.summary-card.tone-green { background: #edf4ef; }
.summary-card.tone-dark { background: #e9ecec; }

.panel-job { background: #f7f8f8; }
.panel-status { background: #eef2f4; }
.panel-drawings { background: #f3f1ec; }
.panel-parts { background: #f7f7f5; }
.panel-manual { background: #f5f7f8; }
.panel-import { background: #f3f1eb; }
.panel-production { background: #ffffff; }
.panel-info { background: #f4f6f7; }
.panel-finished { background: #f5f6f5; }

.job-row-enhanced {
    grid-template-columns: .8fr 1.4fr .75fr .55fr 1.15fr 1.1fr;
}

.job-detail-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 1px;
    background: #dfe3e4;
    border: 1px solid #dfe3e4;
}
.job-detail-grid > div {
    background: #fff;
    padding: 18px;
}
.detail-label {
    display: block;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: #7b8183;
    margin-bottom: 6px;
}
.job-detail-grid strong { font-size: 14px; }

.entry-choice-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-bottom: 24px;
}
.csv-upload-form { margin-top: 18px; }
.file-drop {
    display: flex;
    flex-direction: column;
    gap: 9px;
    padding: 18px;
    border: 1px dashed #aeb4b6;
    background: rgba(255,255,255,.58);
    margin-bottom: 14px;
}
.file-drop > span {
    font-size: 11px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.file-drop small { color: #747a7c; }
.file-drop input { font-size: 13px; }

.csv-note {
    padding: 13px 15px;
    margin-bottom: 20px;
    background: #fff9df;
    border-left: 3px solid #b99b3b;
    font-size: 12px;
    color: #625a38;
}
.import-parts { gap: 18px; }
.import-part-card { background: rgba(255,255,255,.72); }
.source-pill {
    padding: 5px 9px;
    border-radius: 999px;
    background: #e8ebeb;
    color: #62696b;
    font-size: 10px;
    letter-spacing: .7px;
}
.compact-grid { grid-template-columns: repeat(3, 1fr); }
.text-action {
    font-size: 11px;
    font-weight: bold;
    color: #5d6466;
    text-decoration: none;
}

.job-status.awaiting-qc { background: #f2ead2; color: #765f20; }
.job-status.ready-for-collection-delivery { background: #e5f0e8; color: #3f7049; }
.job-status.awaiting-collection,
.job-status.awaiting-delivery { background: #e7edf1; color: #496675; }
.job-status.collected,
.job-status.delivered { background: #e3e7e5; color: #4b5752; }

.single-action-form { margin-top: 20px; }
.qc-button {
    width: min(360px,100%);
    border: 1px solid #b9a465;
    background: #fff8df;
    color: #37301d;
    padding: 17px 19px;
    cursor: pointer;
    text-align: left;
}
.qc-button span { display:block; font-size:14px; font-weight:800; letter-spacing:1px; }
.qc-button small { display:block; margin-top:4px; color:#756c51; }

.drawings-layout {
    display: grid;
    grid-template-columns: 1.4fr .6fr;
    gap: 24px;
    align-items: start;
}
.drawing-list {
    display: flex;
    flex-direction: column;
    gap: 9px;
}
.drawing-link {
    display: grid;
    grid-template-columns: 42px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 12px 14px;
    border: 1px solid #d9d7d0;
    background: rgba(255,255,255,.72);
    color: #1d2123;
    text-decoration: none;
}
.drawing-link > span {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
    color: #7b5e5e;
}
.drawing-link strong { font-size: 12px; overflow-wrap: anywhere; }
.drawing-link small { font-size: 10px; color: #6c7274; text-transform: uppercase; letter-spacing: .8px; }
.drawing-upload {
    padding: 16px;
    border: 1px solid #d9d7d0;
    background: rgba(255,255,255,.55);
}
.drawing-upload label { display:flex; flex-direction:column; gap:8px; }
.drawing-upload label > span { font-size:10px; text-transform:uppercase; letter-spacing:1px; font-weight:bold; color:#72787a; }
.drawing-upload input { font-size:12px; }
.small-action-button {
    margin-top: 12px;
    border: 0;
    background: #202527;
    color: #fff;
    padding: 10px 13px;
    font-size: 10px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
}
.muted { color:#7d8385; font-size:12px; }

.track-part.part-tone-a { background: #ffffff; }
.track-part.part-tone-b { background: #f0f3f3; }
.part-data-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
    margin: 0 0 16px;
    background: #dfe3e4;
    border: 1px solid #dfe3e4;
}
.part-data-strip > span {
    min-width: 100px;
    padding: 9px 11px;
    background: #fafafa;
}
.part-data-strip small { display:block; font-size:8px; text-transform:uppercase; letter-spacing:1px; color:#808587; }
.part-data-strip strong { display:block; margin-top:2px; font-size:12px; }

.part-drawing-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 14px;
    align-items: start;
    margin: 0 0 18px;
}
.compact-drawings .drawing-link { padding: 9px 11px; }
.compact-upload {
    display: flex;
    align-items: end;
    gap: 8px;
    padding: 10px;
}
.compact-upload .small-action-button { margin-top:0; }

.finished-list { border-top:1px solid #dcdfdf; }
.finished-row {
    display:grid;
    grid-template-columns:1.5fr .5fr .8fr .8fr;
    gap:18px;
    align-items:center;
    padding:17px 0;
    border-bottom:1px solid #dcdfdf;
}
.finished-row small { display:block; margin-top:4px; color:#858b8d; }

.plain-copy {
    color:#656b6d;
    font-size:14px;
    line-height:1.65;
}

@media(max-width:1200px){
    .summary-grid-five{grid-template-columns:repeat(3,1fr);}
    .job-detail-grid{grid-template-columns:repeat(3,1fr);}
    .job-row-enhanced{grid-template-columns:.8fr 1.3fr .7fr .55fr 1fr;}
    .job-row-enhanced > :nth-child(3){display:none;}
}
@media(max-width:900px){
    .entry-choice-grid,.drawings-layout,.part-drawing-row{grid-template-columns:1fr;}
    .compact-grid{grid-template-columns:1fr 1fr;}
    .summary-grid-five{grid-template-columns:1fr 1fr;}
    .job-detail-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:700px){
    .summary-grid-five,.compact-grid,.job-detail-grid{grid-template-columns:1fr;}
    .finished-row{grid-template-columns:1fr;}
}


/* ===== Visibility fix: drawings + 100% completion controls ===== */

.drawing-jump {
    background: #5d5041;
}

.drawings-help {
    margin-top: 7px;
    max-width: 600px;
    color: #6d675f;
    font-size: 12px;
}

.pdf-only-badge {
    display: inline-flex;
    align-items: center;
    padding: 7px 10px;
    background: #e6ddd0;
    color: #5f5142;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.2px;
}

.big-upload-label {
    padding: 14px;
    background: #fff;
    border: 1px dashed #9c9488;
}

.upload-pdf-button {
    width: 100%;
    margin-top: 12px;
    min-height: 44px;
    border: 0;
    background: #25292b;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.2px;
    cursor: pointer;
}

.completion-panel {
    margin-top: 22px;
    display: grid;
    gap: 12px;
}

.completion-step {
    display: grid;
    grid-template-columns: 42px minmax(180px, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 16px;
    background: rgba(255,255,255,.72);
    border: 1px solid #d6dcde;
}

.completion-number {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #202527;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}

.completion-step strong {
    display: block;
    font-size: 13px;
}

.completion-step small {
    display: block;
    margin-top: 4px;
    color: #757c7e;
    font-size: 11px;
}

.inline-actions {
    margin: 0;
    justify-content: flex-end;
}

.compact-qc {
    width: auto;
    min-width: 130px;
    padding: 12px 16px;
}

.disabled-action {
    opacity: .45;
    cursor: not-allowed;
}

.step-complete {
    display: inline-flex;
    align-items: center;
    padding: 9px 12px;
    background: #e5efe8;
    color: #44714f;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .8px;
}

@media(max-width:800px){
    .completion-step {
        grid-template-columns: 42px 1fr;
    }
    .completion-step > form,
    .completion-step > .inline-actions,
    .completion-step > .step-complete {
        grid-column: 2;
    }
    .inline-actions {
        justify-content: flex-start;
    }
}

.build-tag{display:inline-block;margin-top:6px;font-size:8px;letter-spacing:1px;color:#596063;}


/* ===== Login, roles and staff ===== */

.sidebar-user {
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid #34393b;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.sidebar-user strong {
    color: #fff;
    font-size: 12px;
}
.sidebar-user span {
    color: #8e9597;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
}
.sidebar-user a {
    margin-top: 8px;
    color: #b7bdbe;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
}

.auth-body {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 28px;
    background:
        linear-gradient(135deg, #eef0f0 0%, #f7f7f5 52%, #ece8e1 100%);
}
.auth-wrap {
    width: min(480px, 100%);
}
.auth-card {
    background: #fff;
    border: 1px solid #d9dcdd;
    padding: 38px;
    box-shadow: 0 20px 55px rgba(0,0,0,.08);
}
.auth-brand {
    padding-bottom: 22px;
    margin-bottom: 28px;
    border-bottom: 1px solid #e0e2e2;
}
.auth-brand span {
    display: block;
    font-size: 10px;
    letter-spacing: 4px;
    color: #818789;
}
.auth-brand strong {
    display: block;
    margin-top: 3px;
    font-size: 27px;
    letter-spacing: 3px;
}
.auth-card h1 {
    font-size: 34px;
    letter-spacing: -1px;
}
.auth-copy {
    margin: 10px 0 24px;
    color: #6d7375;
    font-size: 13px;
    line-height: 1.6;
}
.auth-form {
    display: grid;
    gap: 15px;
}
.auth-form label {
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.auth-form label span {
    font-size: 9px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1.1px;
    color: #73797b;
}
.auth-form input {
    padding: 13px 14px;
    border: 1px solid #d4d8d9;
    font: inherit;
    font-size: 14px;
}

.staff-layout {
    display: grid;
    grid-template-columns: .75fr 1.25fr;
    gap: 24px;
}
.role-guide {
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px solid #dde0e0;
    color: #666d6f;
    font-size: 12px;
    line-height: 1.55;
}
.role-guide > strong {
    display: block;
    margin-bottom: 8px;
    color: #202527;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 10px;
}
.role-guide p + p {
    margin-top: 7px;
}
.staff-list {
    border-top: 1px solid #dfe2e2;
}
.staff-row {
    display: grid;
    grid-template-columns: 1.15fr .55fr .55fr 1.45fr;
    gap: 14px;
    align-items: center;
    padding: 15px 0;
    border-bottom: 1px solid #e2e4e4;
}
.staff-identity strong {
    display: block;
    font-size: 13px;
}
.staff-identity small {
    display: block;
    margin-top: 3px;
    color: #818789;
    font-size: 10px;
}
.role-pill,
.account-state {
    display: inline-flex;
    justify-content: center;
    padding: 6px 8px;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .8px;
}
.role-pill {
    background: #ecefef;
    color: #596063;
}
.account-state.active {
    background: #e5efe8;
    color: #477250;
}
.account-state.inactive {
    background: #f1e6e6;
    color: #8a5050;
}
.staff-actions {
    display: flex;
    gap: 7px;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
}
.password-reset-form {
    display: flex;
}
.password-reset-form input {
    width: 120px;
    padding: 7px 8px;
    border: 1px solid #d4d7d8;
    font-size: 10px;
}
.password-reset-form button,
.text-button {
    border: 1px solid #cfd3d4;
    background: #fff;
    color: #303638;
    padding: 7px 9px;
    font-size: 9px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: .7px;
    cursor: pointer;
}
.process-chip.read-only {
    cursor: default;
}
@media(max-width:1050px){
    .staff-layout{grid-template-columns:1fr;}
    .staff-row{grid-template-columns:1fr .5fr .5fr;}
    .staff-actions{grid-column:1/-1;justify-content:flex-start;}
}
@media(max-width:650px){
    .auth-card{padding:26px 20px;}
    .staff-row{grid-template-columns:1fr;}
    .staff-actions{grid-column:auto;}
}

/* ===== Fairdeal simple-role / compact job-card update ===== */
.sidebar-logo-wrap{padding:6px 0 22px;border-bottom:1px solid #34393b;margin-bottom:22px}
.sidebar-logo-wrap img{display:block;width:100%;max-width:205px;height:auto;object-fit:contain}
.sidebar-user small{color:#8e9597;font-size:9px;text-transform:uppercase;letter-spacing:1.2px}
.logout-button{display:inline-flex!important;justify-content:center;border:1px solid #505759;padding:9px 12px!important;margin-top:12px!important;color:#fff!important}
.user-grid{display:grid;grid-template-columns:1fr 1fr 1fr .65fr auto;gap:12px;align-items:end}
.user-grid label{display:flex;flex-direction:column;gap:6px}.user-grid label span{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#747b7d}
.user-grid input,.user-grid select,.user-edit-form input,.user-edit-form select{padding:10px;border:1px solid #d6d9da;background:#fff}
.user-table{border-top:1px solid #dfe2e2}.user-row{padding:12px 0;border-bottom:1px solid #e3e5e5}
.user-head,.user-edit-form{display:grid;grid-template-columns:1.1fr 1fr .6fr .55fr .5fr;gap:10px;align-items:center}
.user-head{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:#737a7c}
.user-secondary-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:7px}.user-secondary-actions form{display:flex;gap:5px}.user-secondary-actions input{padding:6px 8px;border:1px solid #d6d9da}
.compact-parts{padding:0!important;background:#fff;border:1px solid #daddde}
.compact-parts .section-heading{padding:20px 24px 14px;margin:0;border-bottom:1px solid #e0e3e3}
.parts-list-table{width:100%}
.parts-list-head,.parts-list-row{display:grid;grid-template-columns:.75fr 1.25fr .35fr .8fr .45fr 2.2fr .38fr;gap:10px;align-items:center;padding:10px 18px}
.parts-list-head{background:#f1f2f2;color:#707779;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:1px}
.parts-list-row{border-top:1px solid #e5e7e7;font-size:11px;min-height:54px}
.parts-list-row:first-of-type{border-top:0}.parts-list-row small{display:block;color:#858b8d;font-size:8px;margin-top:2px}
.process-inline{display:flex;flex-wrap:wrap;gap:4px}.process-inline form{margin:0}
.mini-process{border:1px solid #d6dada;background:#fff;padding:5px 7px;font-size:8px;cursor:pointer;white-space:nowrap}
.mini-process.done{background:#e7eee9;border-color:#cbd9cf;color:#41664b}
.pdf-cell{display:flex;align-items:center;gap:4px;justify-content:flex-end}.pdf-icon{display:inline-flex;align-items:center;justify-content:center;width:31px;height:25px;background:#22282a;color:#fff;text-decoration:none;font-size:7px;font-weight:900;letter-spacing:.5px}
.tiny-pdf-upload label{display:inline-flex;width:25px;height:25px;align-items:center;justify-content:center;border:1px solid #cfd3d4;cursor:pointer;font-size:15px}.tiny-pdf-upload input{display:none}.no-pdf{color:#aaa}
@media(max-width:1100px){.user-grid{grid-template-columns:1fr 1fr}.parts-list-head{display:none}.parts-list-row{grid-template-columns:.7fr 1.3fr .35fr .7fr}.process-inline{grid-column:1/-2}.pdf-cell{grid-column:-2/-1;grid-row:2}}

/* ===== Sidebar user/logout visibility fix ===== */
.sidebar {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
.sidebar-user {
    margin-top: auto !important;
    padding-top: 18px;
    border-top: 1px solid #34393b;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.sidebar-user > span {
    color: #858d8f;
    font-size: 8px;
    text-transform: uppercase;
    letter-spacing: 1.3px;
}
.sidebar-user > strong {
    color: #fff;
    font-size: 12px;
}
.sidebar-user > small {
    color: #939a9c;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.logout-button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    margin-top: 10px !important;
    border: 1px solid #4e5658;
    color: #fff !important;
    text-decoration: none;
    font-size: 9px !important;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
}


/* ===== PDF delete + Change Log ===== */
.pdf-actions {
    display: inline-flex;
    align-items: center;
    gap: 3px;
}
.delete-pdf-form {
    margin: 0;
    display: inline-flex;
}
.delete-pdf-button {
    border: 1px solid #d5bcbc;
    background: #fff;
    color: #8a4848;
    padding: 7px 10px;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .7px;
    cursor: pointer;
}
.delete-pdf-mini {
    width: 24px;
    height: 25px;
    border: 1px solid #d5bcbc;
    background: #fff;
    color: #8a4848;
    font-size: 15px;
    line-height: 1;
    cursor: pointer;
}

.audit-filter-panel {
    background: #f3f5f5;
    margin-bottom: 24px;
}
.audit-filters {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr auto auto;
    gap: 12px;
    align-items: end;
}
.audit-filters label {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.audit-filters label span {
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #747b7d;
}
.audit-filters input,
.audit-filters select {
    min-height: 40px;
    padding: 9px 10px;
    border: 1px solid #d5d9da;
    background: #fff;
    font: inherit;
}
.filter-reset {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    padding: 0 15px;
}
.audit-panel {
    background: #fff;
}
.audit-table {
    border-top: 1px solid #dfe2e2;
}
.audit-row {
    display: grid;
    grid-template-columns: 1fr .85fr .9fr .65fr 2.6fr;
    gap: 14px;
    align-items: start;
    padding: 12px 0;
    border-bottom: 1px solid #e4e6e6;
    font-size: 10px;
}
.audit-head {
    color: #737a7c;
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.audit-action {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    padding: 4px 7px;
    background: #eef1f1;
    color: #50585a;
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .6px;
}
@media(max-width:1000px){
    .audit-filters{grid-template-columns:1fr 1fr;}
    .audit-row{grid-template-columns:1fr 1fr;}
    .audit-head{display:none;}
    .audit-row > :last-child{grid-column:1/-1;}
}


/* ===== Slightly tighter line-item rows ===== */
.parts-list-head,
.parts-list-row {
    padding-top: 6px;
    padding-bottom: 6px;
}

.parts-list-row {
    min-height: 42px;
}

.parts-list-row strong {
    font-size: 10px;
}

.parts-list-row {
    font-size: 10px;
}

.parts-list-row small {
    font-size: 7px;
    margin-top: 1px;
}

.mini-process {
    padding: 3px 6px;
    font-size: 7px;
}

.pdf-icon {
    width: 28px;
    height: 22px;
    font-size: 6px;
}

.tiny-pdf-upload label,
.delete-pdf-mini {
    width: 22px;
    height: 22px;
}

.process-inline {
    gap: 3px;
}


/* ===== Actual compact line-item table ===== */
.compact-line-items {
    padding: 0 !important;
    overflow: hidden;
}

.compact-heading {
    margin: 0 !important;
    padding: 16px 18px 12px;
    border-bottom: 1px solid #dde0e0;
}

.line-items-table {
    width: 100%;
}

.line-items-head,
.line-item-row {
    display: grid;
    grid-template-columns: .68fr .28fr .72fr .95fr .42fr 2.1fr .42fr;
    gap: 8px;
    align-items: center;
}

.line-items-head {
    padding: 6px 12px;
    background: #eef0f0;
    color: #707779;
    font-size: 7px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .9px;
}

.line-item-row {
    min-height: 34px;
    padding: 4px 12px;
    border-top: 1px solid #e5e7e7;
    font-size: 9px;
}

.line-part-no strong {
    font-size: 9px;
}

.line-spec {
    display: flex;
    gap: 7px;
    flex-wrap: wrap;
    color: #5f6668;
    font-size: 7.5px;
}

.line-spec b {
    font-size: 6.5px;
    color: #858b8d;
    letter-spacing: .5px;
}

.line-progress {
    display: flex;
    align-items: baseline;
    gap: 4px;
}

.line-progress strong {
    font-size: 9px;
}

.line-progress small {
    font-size: 7px;
    color: #8a9092;
}

.line-processes {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
}

.inline-process-form {
    margin: 0;
}

.mini-process {
    padding: 2px 5px !important;
    min-height: 20px;
    font-size: 6.5px !important;
    line-height: 1;
}

.line-pdf {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 3px;
}

.pdf-icon {
    width: 27px !important;
    height: 20px !important;
    font-size: 6px !important;
}

.tiny-pdf-upload label,
.delete-pdf-mini {
    width: 20px !important;
    height: 20px !important;
}

@media (max-width: 1050px) {
    .line-items-head {
        display: none;
    }
    .line-item-row {
        grid-template-columns: .7fr .25fr .75fr .9fr .4fr;
    }
    .line-processes {
        grid-column: 1 / -2;
    }
    .line-pdf {
        grid-column: -2 / -1;
        grid-row: 2;
    }
}


/* ===== Medium-size compact line-item rows ===== */
.line-items-head,
.line-item-row {
    grid-template-columns: .72fr .3fr .78fr 1fr .45fr 2.2fr .46fr;
    gap: 10px;
}

.line-items-head {
    padding: 8px 14px;
    font-size: 8px;
}

.line-item-row {
    min-height: 46px !important;
    padding: 7px 14px !important;
    font-size: 10px !important;
}

.line-part-no strong {
    font-size: 11px;
}

.line-spec {
    gap: 9px;
    font-size: 8.5px;
}

.line-spec b {
    font-size: 7px;
}

.line-progress strong {
    font-size: 10px;
}

.line-progress small {
    font-size: 8px;
}

.mini-process {
    min-height: 24px;
    padding: 4px 7px !important;
    font-size: 7.5px !important;
}

.pdf-icon {
    width: 31px !important;
    height: 24px !important;
    font-size: 7px !important;
}

.tiny-pdf-upload label,
.delete-pdf-mini {
    width: 24px !important;
    height: 24px !important;
}

.compact-heading {
    padding: 18px 20px 14px;
}


/* ===== Shared sidebar include / access controls ===== */
.access-note {
    margin: -5px 0 18px;
    max-width: 760px;
    color: #6f7678;
    font-size: 11px;
    line-height: 1.55;
}

.account-state.inactive {
    min-width: 90px;
}

.user-secondary-actions .text-button {
    white-space: nowrap;
}

/* ===== Comfortable line-item size ===== */
.line-items-head,
.line-item-row {
    grid-template-columns: .78fr .34fr .82fr 1.08fr .50fr 2.3fr .50fr;
    gap: 12px;
}

.line-items-head {
    padding: 10px 16px !important;
    font-size: 9px !important;
}

.line-item-row {
    min-height: 54px !important;
    padding: 9px 16px !important;
    font-size: 11px !important;
}

.line-part-no strong {
    font-size: 12px !important;
}

.line-spec {
    gap: 10px !important;
    font-size: 9px !important;
}

.line-spec b {
    font-size: 7.5px !important;
}

.line-progress strong {
    font-size: 11px !important;
}

.line-progress small {
    font-size: 8.5px !important;
}

.mini-process {
    min-height: 28px !important;
    padding: 5px 8px !important;
    font-size: 8px !important;
}

.pdf-icon {
    width: 34px !important;
    height: 27px !important;
    font-size: 7px !important;
}

.tiny-pdf-upload label,
.delete-pdf-mini {
    width: 27px !important;
    height: 27px !important;
}

.compact-heading {
    padding: 20px 22px 16px !important;
}


/* ===== Keep position after marking a process complete ===== */
.line-item-row {
    scroll-margin-top: 24px;
}


/* ==========================================================
   FAIRDEAL MES - DARK INDUSTRIAL THEME
   ========================================================== */

:root {
    --fd-bg: #071018;
    --fd-bg-2: #0b141d;
    --fd-panel: #0d1822;
    --fd-panel-2: #111d27;
    --fd-panel-3: #15232e;
    --fd-line: #263746;
    --fd-line-soft: #1c2a35;
    --fd-text: #eef4f8;
    --fd-muted: #8fa1af;
    --fd-blue: #2496ff;
    --fd-blue-bright: #4db3ff;
    --fd-blue-dark: #0b5fb4;
    --fd-green: #35c477;
    --fd-red: #e45858;
    --fd-amber: #d7a64d;
    --fd-shadow: 0 18px 45px rgba(0,0,0,.28);
}

html {
    background: var(--fd-bg);
}

body {
    background:
        radial-gradient(circle at 72% 8%, rgba(36,150,255,.075), transparent 30%),
        linear-gradient(135deg, #061019 0%, #0a141d 50%, #071018 100%) !important;
    color: var(--fd-text) !important;
}

.mes-layout {
    background: transparent !important;
    grid-template-columns: 230px 1fr !important;
}

.dashboard {
    background: transparent !important;
    padding: 34px 34px 42px !important;
}

/* Sidebar */
.sidebar {
    background:
        linear-gradient(180deg, #09131c 0%, #0b1720 55%, #09131c 100%) !important;
    border-right: 1px solid #22303d;
    box-shadow: 12px 0 35px rgba(0,0,0,.2);
    padding: 18px 14px 20px !important;
    min-height: 100vh;
}

.sidebar-logo-wrap {
    padding: 0 8px 18px !important;
    margin-bottom: 12px !important;
    border-bottom: 1px solid #22303d !important;
}

.sidebar-logo-wrap img {
    width: 100% !important;
    max-width: 195px !important;
    filter: drop-shadow(0 10px 14px rgba(0,0,0,.35));
}

.mes-nav {
    gap: 4px !important;
}

.mes-nav a {
    border-left: 2px solid transparent !important;
    border-radius: 3px;
    color: #b9c5cd !important;
    font-size: 11px !important;
    letter-spacing: .45px !important;
    padding: 12px 13px !important;
    background: transparent !important;
    transition: .18s ease;
}

.mes-nav a:hover {
    color: #fff !important;
    background: rgba(36,150,255,.08) !important;
}

.mes-nav a.active {
    color: #fff !important;
    border-left-color: var(--fd-blue) !important;
    background:
        linear-gradient(90deg, rgba(36,150,255,.22), rgba(36,150,255,.04)) !important;
    box-shadow: inset 0 0 22px rgba(36,150,255,.07);
}

.sidebar-user {
    border-top: 1px solid #22303d !important;
    padding-top: 16px !important;
}

.sidebar-user > span,
.sidebar-user > small {
    color: #718592 !important;
}

.sidebar-user > strong {
    color: #fff !important;
}

.logout-button {
    border: 1px solid #314452 !important;
    color: #d7e1e7 !important;
    background: #0d1b25;
    border-radius: 4px;
}

.logout-button:hover {
    border-color: var(--fd-blue) !important;
    color: #fff !important;
}

/* Headings */
.dashboard-header {
    padding-bottom: 20px;
    border-bottom: 1px solid var(--fd-line-soft);
    margin-bottom: 26px !important;
}

.dashboard-header h1,
.panel-heading h2,
.section-heading h2,
.auth-card h1 {
    color: #f4f8fb !important;
}

.eyebrow {
    color: #6f8fa5 !important;
}

.system-status {
    color: #d3dfe6 !important;
}

.status-dot {
    background: var(--fd-green) !important;
    box-shadow: 0 0 12px rgba(53,196,119,.6);
}

/* Panels */
.panel,
.summary-card,
.auth-card {
    background:
        linear-gradient(180deg, rgba(18,30,40,.98), rgba(12,23,32,.98)) !important;
    border: 1px solid var(--fd-line) !important;
    color: var(--fd-text) !important;
    box-shadow: var(--fd-shadow);
}

.panel-heading {
    border-color: var(--fd-line-soft) !important;
}

.plain-copy,
.builder-help,
.auth-copy,
.last-update,
.muted,
.access-note {
    color: var(--fd-muted) !important;
}

/* Dashboard cards */
.summary-card {
    border-top: 2px solid #2b4051 !important;
}

.summary-card.tone-blue { border-top-color: var(--fd-blue) !important; }
.summary-card.tone-warm { border-top-color: var(--fd-amber) !important; }
.summary-card.tone-green { border-top-color: var(--fd-green) !important; }

.summary-card span {
    color: #8094a3 !important;
}

.summary-card strong {
    color: #fff !important;
}

/* Main current-jobs table */
.job-table,
.job-row,
.job-header {
    border-color: var(--fd-line-soft) !important;
}

.job-row {
    color: #d6e0e6 !important;
}

.job-row small,
.job-row > span {
    color: #8fa1af !important;
}

.job-number-link {
    color: #fff !important;
}

.job-number-link:hover {
    color: var(--fd-blue-bright) !important;
}

.progress-bar {
    background: #1f2d38 !important;
    border-radius: 8px;
    overflow: hidden;
}

.progress-fill {
    background: linear-gradient(90deg, #0d70d0, #2fa8ff) !important;
    box-shadow: 0 0 10px rgba(36,150,255,.34);
}

/* Status pills */
.job-status {
    border-radius: 3px;
    border: 1px solid #334552;
    background: #15232e !important;
    color: #c6d3db !important;
}

.job-status.in-progress {
    background: rgba(36,150,255,.12) !important;
    border-color: rgba(36,150,255,.42);
    color: #7bc3ff !important;
}

.job-status.awaiting-qc {
    background: rgba(215,166,77,.12) !important;
    border-color: rgba(215,166,77,.38);
    color: #efc66f !important;
}

.job-status.ready-for-collection-delivery,
.job-status.collected,
.job-status.delivered {
    background: rgba(53,196,119,.11) !important;
    border-color: rgba(53,196,119,.38);
    color: #69d89a !important;
}

/* Buttons */
.add-job-button,
.submit-job-button,
.small-action-button,
.upload-pdf-button {
    border: 1px solid #1675c6 !important;
    border-radius: 4px;
    background: linear-gradient(180deg, #0f75d8, #095fb8) !important;
    color: #fff !important;
    box-shadow: 0 5px 15px rgba(10,105,194,.2);
}

.add-job-button:hover,
.submit-job-button:hover,
.small-action-button:hover,
.upload-pdf-button:hover {
    background: linear-gradient(180deg, #1988ed, #0d6dcc) !important;
}

.secondary-action,
.text-button {
    background: #111e28 !important;
    border-color: #334754 !important;
    color: #c7d3db !important;
}

/* Forms */
.job-form input,
.job-form select,
.auth-form input,
.user-grid input,
.user-grid select,
.user-edit-form input,
.user-edit-form select,
.audit-filters input,
.audit-filters select,
.password-reset-form input {
    background: #0b1620 !important;
    border: 1px solid #2d404e !important;
    color: #edf4f8 !important;
    border-radius: 3px;
}

input::placeholder {
    color: #617583 !important;
}

.job-form input:focus,
.job-form select:focus,
.auth-form input:focus {
    outline: none;
    border-color: var(--fd-blue) !important;
    box-shadow: 0 0 0 2px rgba(36,150,255,.12);
}

/* Job header / detail blocks */
.job-detail-grid {
    background: var(--fd-line) !important;
    border-color: var(--fd-line) !important;
}

.job-detail-grid > div {
    background: #0d1923 !important;
}

.detail-label {
    color: #708593 !important;
}

.job-detail-grid strong {
    color: #f0f5f8 !important;
}

/* Drawings */
.drawing-link {
    background: #0c1720 !important;
    border-color: #2d414f !important;
    color: #dbe6ec !important;
}

.drawing-link:hover {
    border-color: var(--fd-blue) !important;
    color: #fff !important;
}

.pdf-icon {
    background: #0d70d0 !important;
    border: 1px solid #1c8df0 !important;
    color: #fff !important;
    border-radius: 3px;
}

.delete-pdf-button,
.delete-pdf-mini {
    background: rgba(228,88,88,.13) !important;
    border-color: rgba(228,88,88,.45) !important;
    color: #ff7c7c !important;
}

/* Compact line item table */
.compact-line-items {
    background: #0b151e !important;
    border: 1px solid var(--fd-line) !important;
    border-radius: 6px;
    box-shadow: var(--fd-shadow);
}

.compact-heading {
    background: #0d1923 !important;
    border-bottom: 1px solid var(--fd-line) !important;
}

.line-items-head {
    background: #111e28 !important;
    color: #7f94a2 !important;
    border-bottom: 1px solid var(--fd-line) !important;
}

.line-item-row {
    background: #0c1720 !important;
    border-top: 1px solid #1c2a35 !important;
    color: #d7e1e7 !important;
    transition: background .18s ease;
}

.line-item-row:nth-child(odd) {
    background: #0d1923 !important;
}

.line-item-row:hover {
    background: #10202c !important;
}

.line-part-no strong {
    color: #fff !important;
}

.line-spec {
    color: #9baab4 !important;
}

.line-spec b {
    color: #647b89 !important;
}

.line-progress strong {
    color: var(--fd-blue-bright) !important;
}

.line-progress small {
    color: #718693 !important;
}

/* Process icon buttons */
.line-processes {
    gap: 6px !important;
}

.inline-process-form {
    margin: 0 !important;
}

.process-icon-button {
    width: 58px;
    min-height: 62px;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 6px 4px;
    border: 1px solid #354550;
    border-radius: 5px;
    background: linear-gradient(180deg, #111c24, #0a141b);
    color: #73828c;
    cursor: pointer;
    transition: transform .14s ease, border-color .14s ease, color .14s ease, box-shadow .14s ease, background .14s ease;
}

.process-icon-button:hover {
    transform: translateY(-1px);
    border-color: #597080;
    color: #aebdc7;
}

.process-icon-art {
    width: 29px;
    height: 29px;
    display: grid;
    place-items: center;
}

.process-icon-art svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.process-icon-button .process-icon-label {
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .55px;
    white-space: nowrap;
}

/* Incomplete: deliberately dull */
.process-icon-button:not(.done) {
    filter: saturate(.15);
    opacity: .58;
}

/* Complete: full blue 'powered' state */
.process-icon-button.done {
    opacity: 1;
    filter: none;
    color: #64c2ff;
    border-color: #167bd0;
    background:
        radial-gradient(circle at 50% 30%, rgba(36,150,255,.18), transparent 55%),
        linear-gradient(180deg, #102336, #0a1823);
    box-shadow:
        inset 0 0 16px rgba(36,150,255,.08),
        0 0 10px rgba(36,150,255,.12);
}

.process-icon-button.done .process-icon-art {
    filter: drop-shadow(0 0 5px rgba(65,178,255,.55));
}

/* Grinding sparks get a little extra glow when complete */
.process-icon-button.done[title*="Grinding"] .process-icon-art {
    color: #78caff;
    filter: drop-shadow(0 0 6px rgba(76,185,255,.65));
}

/* Completion / QC */
.completion-panel,
.completion-step {
    background: #0c1720 !important;
    border-color: var(--fd-line) !important;
}

.completion-number {
    background: #102b41 !important;
    color: #69bfff !important;
    border: 1px solid #1d75b6;
}

.step-complete {
    background: rgba(53,196,119,.1) !important;
    color: #67d697 !important;
}

.qc-button {
    background: rgba(215,166,77,.08) !important;
    border-color: rgba(215,166,77,.45) !important;
    color: #efcb78 !important;
}

.fulfillment-button {
    background: #101d27 !important;
    border-color: #354854 !important;
    color: #d8e2e8 !important;
}

.fulfillment-button:hover {
    border-color: var(--fd-blue) !important;
}

/* Audit log */
.audit-filter-panel,
.audit-panel {
    background: #0d1923 !important;
}

.audit-row {
    border-color: #1e2c37 !important;
    color: #cbd7de !important;
}

.audit-head {
    color: #718692 !important;
}

.audit-action {
    background: #112736 !important;
    color: #75c3ff !important;
}

/* Users */
.user-add-panel,
.panel-staff-list {
    background: #0d1923 !important;
}

.user-row {
    border-color: #1f2d38 !important;
}

.role-pill {
    background: #112736 !important;
    color: #6ec0ff !important;
}

.account-state.active {
    background: rgba(53,196,119,.10) !important;
    color: #67d697 !important;
}

.account-state.inactive {
    background: rgba(228,88,88,.10) !important;
    color: #ef7777 !important;
}

/* Login */
.auth-body {
    background:
        radial-gradient(circle at 50% 25%, rgba(36,150,255,.09), transparent 30%),
        linear-gradient(135deg, #050d14, #09141d 55%, #050d14) !important;
}

.auth-card {
    box-shadow: 0 26px 65px rgba(0,0,0,.45) !important;
}

.auth-brand span,
.auth-brand strong {
    color: #eaf2f6 !important;
}

/* Scrollbar */
* {
    scrollbar-width: thin;
    scrollbar-color: #2a465a #0b151d;
}

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #0a131b; }
::-webkit-scrollbar-thumb { background: #2a465a; border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: #35617e; }

/* Responsive icon sizing */
@media (max-width: 1200px) {
    .process-icon-button {
        width: 52px;
        min-height: 58px;
    }
    .process-icon-art {
        width: 25px;
        height: 25px;
    }
}

@media (max-width: 900px) {
    .mes-layout {
        grid-template-columns: 1fr !important;
    }
    .sidebar {
        display: none !important;
    }
}


/* ===== Final demo QC / delivery workflow ===== */
.job-status.ready-for-delivery-selection {
    background: rgba(215,166,77,.11) !important;
    border-color: rgba(215,166,77,.40) !important;
    color: #f0c76d !important;
}

.job-status.awaiting-fairdeal-delivery,
.job-status.awaiting-courier,
.job-status.awaiting-collection {
    background: rgba(36,150,255,.11) !important;
    border-color: rgba(36,150,255,.36) !important;
    color: #70c1ff !important;
}

.job-status.fairdeal-delivered,
.job-status.courier-dispatched,
.job-status.collected {
    background: rgba(53,196,119,.11) !important;
    border-color: rgba(53,196,119,.38) !important;
    color: #69d89a !important;
}

.delivery-awaiting-admin {
    display: inline-flex;
    align-items: center;
    padding: 9px 12px;
    border: 1px solid #425462;
    background: #0d1923;
    color: #95a6b1;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .8px;
}

.qc-button small,
.fulfillment-button small {
    display: block;
    margin-top: 3px;
    font-size: 8px;
    opacity: .72;
}


/* ==========================================================
   FINAL DEMO - SEARCH / PAGINATION / FLEXIBLE DELIVERY / EDIT
   ========================================================== */

.job-status.ready-for-delivery {
    background: rgba(53,196,119,.11) !important;
    border-color: rgba(53,196,119,.38) !important;
    color: #69d89a !important;
}

.job-status.courier-collected,
.job-status.courier-dispatched {
    background: rgba(53,196,119,.11) !important;
    border-color: rgba(53,196,119,.38) !important;
    color: #69d89a !important;
}

.job-search-bar {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) auto auto;
    gap: 8px;
    align-items: center;
    padding: 14px 16px;
    border-bottom: 1px solid var(--fd-line-soft);
    background: #0a151e;
}

.job-search-bar input {
    width: 100%;
    min-width: 0;
    padding: 10px 12px;
    background: #08131c;
    border: 1px solid #2d414f;
    border-radius: 4px;
    color: #eef5f8;
}

.job-search-bar input:focus {
    outline: none;
    border-color: var(--fd-blue);
    box-shadow: 0 0 0 2px rgba(36,150,255,.10);
}

.job-search-bar button,
.job-search-bar a {
    padding: 10px 14px;
    border-radius: 4px;
    border: 1px solid #2e4657;
    background: #10202b;
    color: #d8e3e9;
    text-decoration: none;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .7px;
    cursor: pointer;
}

.job-search-bar button {
    border-color: #1675c6;
    background: linear-gradient(180deg,#0f75d8,#095fb8);
    color: #fff;
}

.pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-top: 1px solid var(--fd-line-soft);
    background: #0a151e;
}

.pagination a {
    padding: 8px 11px;
    border: 1px solid #314858;
    border-radius: 4px;
    color: #cfe2ee;
    text-decoration: none;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.pagination a:hover {
    border-color: var(--fd-blue);
    color: #fff;
}

.pagination span {
    color: #8397a5;
    font-size: 9px;
}

.actual-delivery-panel {
    display: grid;
    grid-template-columns: minmax(220px,.9fr) 1.8fr;
    gap: 22px;
    align-items: center;
    padding: 18px;
    margin-top: 14px;
    background: #0a151e;
    border: 1px solid #263a49;
    border-radius: 5px;
}

.actual-delivery-panel > div:first-child > strong {
    display: block;
    color: #f1f6f9;
    font-size: 14px;
    margin: 4px 0 5px;
}

.actual-delivery-panel > div:first-child > small {
    color: #8195a2;
    line-height: 1.45;
}

.actual-delivery-actions {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 8px;
}

.actual-delivery-actions form {
    margin: 0;
}

.actual-delivery-button {
    width: 100%;
    min-height: 68px;
    padding: 10px;
    border: 1px solid #2e536e;
    border-radius: 5px;
    background:
        radial-gradient(circle at 50% 20%, rgba(36,150,255,.10), transparent 55%),
        linear-gradient(180deg,#112331,#0b1822);
    color: #dce8ef;
    cursor: pointer;
    transition: .15s ease;
}

.actual-delivery-button:hover {
    transform: translateY(-1px);
    border-color: #2496ff;
    color: #fff;
    box-shadow: 0 0 14px rgba(36,150,255,.12);
}

.actual-delivery-button span {
    display: block;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .65px;
}

.actual-delivery-button small {
    display: block;
    margin-top: 5px;
    color: #7f98a9;
    font-size: 8px;
}

.just-finished {
    background: rgba(53,196,119,.09) !important;
    box-shadow: inset 3px 0 0 #35c477;
}

.edit-job-list {
    border-top: 1px solid var(--fd-line-soft);
}

.edit-job-row {
    display: grid;
    grid-template-columns: .7fr 1.4fr .65fr .9fr .7fr;
    gap: 14px;
    align-items: center;
    padding: 12px 16px;
    border-bottom: 1px solid var(--fd-line-soft);
}

.edit-job-row > div strong,
.edit-job-row > strong {
    color: #eef4f8;
}

.edit-job-row small {
    display: block;
    margin-top: 3px;
    color: #748b99;
}

.edit-job-head {
    padding-top: 8px;
    padding-bottom: 8px;
    background: #111e28;
    color: #7f94a2;
    font-size: 7px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .8px;
}

.edit-card-button {
    text-align: center;
    text-decoration: none;
}

.edit-parts-stack {
    display: grid;
    gap: 12px;
    padding: 14px;
}

.edit-part-card {
    border: 1px solid #283b49;
    background: #0b1720;
    border-radius: 5px;
    overflow: hidden;
}

.edit-part-card .part-card-head {
    background: #101d27;
    border-bottom: 1px solid #283b49;
}

.locked-process {
    opacity: .75;
    border-color: rgba(53,196,119,.45) !important;
}

.field-help {
    display: block;
    margin-top: 5px;
    color: #718794;
    font-size: 8px;
    line-height: 1.4;
}

@media(max-width:1050px) {
    .actual-delivery-panel { grid-template-columns:1fr; }
    .edit-job-row { grid-template-columns:.7fr 1.2fr .7fr .9fr; }
    .edit-job-row > :nth-child(3) { display:none; }
}

@media(max-width:760px) {
    .job-search-bar { grid-template-columns:1fr; }
    .pagination { align-items:stretch; flex-direction:column; }
    .actual-delivery-actions { grid-template-columns:1fr; }
    .edit-job-row,
    .edit-job-head { grid-template-columns:1fr; }
}


/* ===== Delivery completion visibility / click fix ===== */
.delivery-final-panel {
    margin-top: 18px;
}

.actual-delivery-button:disabled {
    cursor: not-allowed !important;
    opacity: .34 !important;
    filter: grayscale(1);
    transform: none !important;
    box-shadow: none !important;
    border-color: #33434e !important;
}

.actual-delivery-button:not(:disabled) {
    border-color: #1689e7 !important;
    color: #fff !important;
    box-shadow:
        inset 0 0 18px rgba(36,150,255,.08),
        0 0 14px rgba(36,150,255,.14);
}

.actual-delivery-button:not(:disabled):hover {
    border-color: #54b7ff !important;
    background:
        radial-gradient(circle at 50% 20%, rgba(36,150,255,.18), transparent 55%),
        linear-gradient(180deg,#153249,#0c1d29) !important;
}

.delivery-final-panel {
    scroll-margin-top: 24px;
}


/* ==========================================================
   COMPACT ADD / IMPORT JOB
   ========================================================== */

/* The old white part cards fought the dark MES theme. */
.job-form .part-card,
.job-form .import-part-card {
    padding: 0 !important;
    margin: 10px 0 !important;
    background: #0d1923 !important;
    border: 1px solid #2a3d4b !important;
    border-radius: 5px !important;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(0,0,0,.12);
}

.job-form .part-card-head {
    min-height: 38px;
    margin: 0 !important;
    padding: 8px 12px !important;
    background: #111f2a !important;
    border-bottom: 1px solid #293c49 !important;
}

.job-form .part-card-head strong {
    color: #edf4f8 !important;
    font-size: 11px !important;
    letter-spacing: .25px;
}

.job-form .remove-part {
    min-height: 27px !important;
    padding: 5px 9px !important;
    border: 1px solid rgba(228,88,88,.38) !important;
    background: rgba(228,88,88,.08) !important;
    color: #eb8888 !important;
    font-size: 7px !important;
}

/* Two compact field rows instead of the tall card. */
.job-form .part-fields,
.job-form .compact-grid {
    display: grid !important;
    grid-template-columns: 1.15fr .48fr 1.2fr .58fr .58fr .58fr 1.15fr !important;
    gap: 8px !important;
    padding: 11px 12px 10px !important;
    background: #0d1923 !important;
}

.job-form .part-fields label,
.job-form .compact-grid label {
    min-width: 0;
}

.job-form .part-fields .full-width,
.job-form .compact-grid .full-width {
    grid-column: auto !important;
}

/* Make fields feel like the rest of the MES instead of black boxes on white. */
.job-form input,
.job-form select,
.job-form textarea {
    min-height: 37px !important;
    padding: 8px 10px !important;
    background: #122330 !important;
    border: 1px solid #314a5a !important;
    color: #edf5f8 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}

.job-form input::placeholder,
.job-form textarea::placeholder {
    color: #708a9a !important;
    opacity: 1;
}

.job-form input:focus,
.job-form select:focus,
.job-form textarea:focus {
    background: #142936 !important;
    border-color: #2496ff !important;
    box-shadow: 0 0 0 2px rgba(36,150,255,.10) !important;
}

.job-form label > span {
    color: #91a5b2 !important;
    font-size: 7.5px !important;
    letter-spacing: 1px;
}

.job-form .process-section {
    margin: 0 !important;
    padding: 9px 12px 12px !important;
    background: #0a151e !important;
    border-top: 1px solid #223541 !important;
}

.job-form .process-label {
    display: block;
    margin: 0 0 7px !important;
    color: #718b9b !important;
    font-size: 7px !important;
    letter-spacing: 1.05px;
}

.job-form .process-checkboxes {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0,1fr)) !important;
    gap: 6px !important;
}

.job-form .process-check {
    min-width: 0;
    min-height: 34px;
    padding: 6px 8px !important;
    justify-content: flex-start;
    border: 1px solid #2b414f !important;
    background: #101f2a !important;
    color: #cbd8df !important;
    border-radius: 3px;
}

.job-form .process-check:hover {
    border-color: #39749d !important;
    background: #122633 !important;
}

.job-form .process-check input[type="checkbox"] {
    width: 15px !important;
    height: 15px !important;
    min-height: 0 !important;
    padding: 0 !important;
    accent-color: #2496ff;
}

.job-form .process-check > span {
    color: #d5e0e6 !important;
    font-size: 8px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.parts-tracker,
.import-parts {
    padding: 0 12px 12px;
}

.csv-note {
    margin: 0 12px 5px !important;
}

/* ==========================================================
   QC HUB
   ========================================================== */

.qc-intro {
    padding: 20px 22px !important;
    margin-bottom: 16px;
}

.qc-intro h2 {
    margin: 4px 0 8px;
    color: #f2f7fa;
}

.qc-intro p {
    margin: 0;
    max-width: 900px;
    color: #8da1ae;
    line-height: 1.55;
}

.qc-action-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 14px;
    margin-bottom: 16px;
}

.qc-action-card {
    position: relative;
    min-height: 190px;
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 15px;
    align-items: start;
    padding: 22px;
    border: 1px solid #294151;
    border-radius: 6px;
    background:
        radial-gradient(circle at 85% 10%,rgba(36,150,255,.08),transparent 38%),
        linear-gradient(180deg,#101e29,#0b1720);
    color: #dce8ee;
    text-decoration: none;
    box-shadow: 0 15px 32px rgba(0,0,0,.18);
    transition: .16s ease;
}

a.qc-action-card:hover {
    transform: translateY(-2px);
    border-color: #228de3;
    box-shadow: 0 18px 36px rgba(0,0,0,.22), 0 0 18px rgba(36,150,255,.08);
}

.qc-action-icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border: 1px solid #245d85;
    border-radius: 5px;
    color: #55b6ff;
    background: rgba(36,150,255,.07);
}

.qc-action-icon svg {
    width: 34px;
    height: 34px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.qc-action-card h2 {
    margin: 4px 0 7px;
    color: #f4f8fb;
    font-size: 18px;
}

.qc-action-card p {
    margin: 0;
    color: #879aa7;
    font-size: 11px;
    line-height: 1.5;
}

.qc-card-count {
    position: absolute;
    right: 15px;
    bottom: 13px;
    color: #6f8796;
    font-size: 8px;
    text-transform: uppercase;
    letter-spacing: .8px;
}

.qc-action-disabled {
    opacity: .52;
}

.qc-roadmap-note {
    padding-bottom: 16px;
}

/* QC linked drawing selector */
.qc-drawing-list {
    width: 100%;
}

.qc-drawing-row {
    display: grid;
    grid-template-columns: .65fr .75fr 1.5fr 1fr 1fr;
    gap: 12px;
    align-items: center;
    padding: 11px 14px;
    border-top: 1px solid #1d2c36;
    color: #d6e1e7;
}

.qc-drawing-head {
    background: #101e28;
    color: #748b99;
    font-size: 7px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .85px;
}

.qc-drawing-row strong {
    display: block;
    color: #e8f0f4;
    font-size: 10px;
}

.qc-drawing-row small {
    display: block;
    margin-top: 3px;
    color: #708592;
    font-size: 8px;
}

.qc-drawing-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 7px;
}

.qc-drawing-actions a {
    text-decoration: none;
}

/* QC workspace */
.qc-source-strip {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 1px;
    padding: 1px !important;
    background: #263a47 !important;
    margin-bottom: 14px;
}

.qc-source-strip > div {
    background: #0d1923;
    padding: 13px 15px;
}

.qc-workspace-grid {
    display: grid;
    grid-template-columns: minmax(0,2.5fr) minmax(260px,.75fr);
    gap: 14px;
}

.qc-pdf-panel,
.qc-tool-panel {
    min-width: 0;
}

.qc-pdf-frame {
    display: block;
    width: 100%;
    height: 72vh;
    border: 0;
    background: #222;
}

.qc-build-placeholder {
    padding: 18px;
}

.qc-placeholder-number {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    margin-bottom: 12px;
    border: 1px solid #1f78b6;
    border-radius: 50%;
    color: #64c2ff;
    font-size: 10px;
    font-weight: 900;
}

.qc-build-placeholder strong {
    display: block;
    color: #eef4f8;
    line-height: 1.4;
}

.qc-build-placeholder p {
    color: #8195a2;
    font-size: 10px;
    line-height: 1.55;
}

/* Reports */
.qc-report-row {
    display: grid;
    grid-template-columns: 1.3fr .7fr 1.2fr .5fr .7fr;
    gap: 12px;
    align-items: center;
    padding: 12px 14px;
    border-top: 1px solid #1e2d37;
    color: #cbd8df;
}

.qc-report-row strong {
    display: block;
    color: #eef4f8;
}

.qc-report-row small {
    display: block;
    margin-top: 3px;
    color: #718693;
}

/* Tolerance admin */
.tolerance-rule-form {
    display: grid;
    grid-template-columns: .7fr .7fr .65fr .65fr .55fr 1.5fr auto;
    gap: 8px;
    align-items: end;
    padding: 0 16px 16px;
}

.tolerance-rule-form label > span {
    display: block;
    margin-bottom: 5px;
    color: #7f94a2;
    font-size: 7px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .85px;
}

.tolerance-rule-form input,
.tolerance-rule-form select {
    width: 100%;
    min-height: 37px;
    padding: 8px 10px;
    background: #122330;
    border: 1px solid #314a5a;
    color: #edf5f8;
}

.tolerance-rule-form .submit-job-button {
    min-height: 37px;
    margin: 0 !important;
}

.tolerance-list {
    border-top: 1px solid #1e2c36;
}

.tolerance-row {
    display: grid;
    grid-template-columns: .65fr .65fr .65fr .65fr .5fr 1.7fr .25fr;
    gap: 10px;
    align-items: center;
    padding: 10px 14px;
    border-bottom: 1px solid #1e2c36;
    color: #cbd8df;
}

.tolerance-head {
    background: #101e28;
    color: #748b99;
    font-size: 7px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .85px;
}

@media(max-width:1250px) {
    .job-form .part-fields,
    .job-form .compact-grid {
        grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    }

    .job-form .process-checkboxes {
        grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    }

    .qc-action-grid {
        grid-template-columns: 1fr;
    }

    .qc-drawing-row {
        grid-template-columns: .7fr .8fr 1.4fr 1fr;
    }

    .qc-drawing-row > :nth-child(4) {
        display: none;
    }

    .tolerance-rule-form {
        grid-template-columns: repeat(3,1fr);
    }
}

@media(max-width:850px) {
    .job-form .part-fields,
    .job-form .compact-grid,
    .job-form .process-checkboxes {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    }

    .qc-source-strip {
        grid-template-columns: 1fr 1fr;
    }

    .qc-workspace-grid {
        grid-template-columns: 1fr;
    }

    .qc-drawing-row,
    .qc-drawing-head {
        grid-template-columns: 1fr;
    }

    .qc-drawing-head {
        display: none;
    }

    .qc-drawing-actions {
        justify-content: flex-start;
    }

    .tolerance-rule-form,
    .tolerance-row {
        grid-template-columns: 1fr 1fr;
    }
}


/* ==========================================================
   NAMED QC TOLERANCE TABLES
   ========================================================== */

.tolerance-table-name-form,
.tolerance-table-edit-form {
    display: grid;
    grid-template-columns: minmax(220px,.9fr) minmax(300px,1.7fr) auto;
    gap: 8px;
    align-items: end;
    padding: 0 16px 16px;
}

.tolerance-table-name-form label > span,
.tolerance-table-edit-form label > span {
    display: block;
    margin-bottom: 5px;
    color: #7f94a2;
    font-size: 7px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .85px;
}

.tolerance-table-name-form input,
.tolerance-table-edit-form input,
.tolerance-edit-row input,
.tolerance-edit-row select {
    width: 100%;
    min-width: 0;
    min-height: 37px;
    padding: 8px 10px;
    background: #122330;
    border: 1px solid #314a5a;
    border-radius: 3px;
    color: #edf5f8;
}

.tolerance-table-name-form input:focus,
.tolerance-table-edit-form input:focus,
.tolerance-edit-row input:focus,
.tolerance-edit-row select:focus {
    outline: none;
    border-color: #2496ff;
    box-shadow: 0 0 0 2px rgba(36,150,255,.10);
}

.tolerance-library-layout {
    display: grid;
    grid-template-columns: minmax(240px,.62fr) minmax(0,2.3fr);
    gap: 14px;
    align-items: start;
}

.tolerance-table-nav {
    position: sticky;
    top: 18px;
    overflow: hidden;
}

.tolerance-table-links {
    display: grid;
}

.tolerance-table-link {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    align-items: center;
    padding: 12px 14px;
    border-top: 1px solid #1f303b;
    border-left: 3px solid transparent;
    color: #d6e1e7;
    text-decoration: none;
    background: #0b1720;
    transition: .14s ease;
}

.tolerance-table-link:hover {
    background: #10202b;
    border-left-color: #39617a;
}

.tolerance-table-link.active {
    background: linear-gradient(90deg,rgba(36,150,255,.16),rgba(36,150,255,.025));
    border-left-color: #2496ff;
}

.tolerance-table-link strong {
    display: block;
    color: #eef4f8;
    font-size: 10px;
}

.tolerance-table-link small {
    display: block;
    margin-top: 3px;
    color: #718793;
    font-size: 8px;
    line-height: 1.3;
}

.tolerance-table-link b {
    min-width: 27px;
    height: 27px;
    display: grid;
    place-items: center;
    border: 1px solid #2e526a;
    border-radius: 50%;
    color: #68beff;
    font-size: 8px;
    background: #0d2230;
}

.tolerance-table-editor {
    min-width: 0;
    display: grid;
    gap: 14px;
}

.compact-empty {
    padding: 15px !important;
}

.tolerance-edit-list {
    overflow-x: auto;
}

.tolerance-edit-row {
    display: grid;
    grid-template-columns: .68fr .68fr .68fr .68fr .55fr 1.55fr .72fr;
    gap: 7px;
    align-items: center;
    padding: 8px 12px;
    border-top: 1px solid #1e2c36;
    margin: 0;
}

.tolerance-edit-head {
    background: #101e28;
    color: #748b99;
    font-size: 7px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .85px;
    min-width: 780px;
}

form.tolerance-edit-row {
    min-width: 780px;
}

.tolerance-row-actions {
    display: grid;
    grid-template-columns: 1fr 30px;
    gap: 5px;
    align-items: center;
}

.tolerance-row-actions .small-action-button {
    margin: 0;
    min-height: 35px;
}

.tolerance-row-actions .delete-pdf-mini {
    width: 30px !important;
    height: 35px !important;
}

@media(max-width:1000px) {
    .tolerance-library-layout {
        grid-template-columns: 1fr;
    }

    .tolerance-table-nav {
        position: static;
    }

    .tolerance-table-name-form,
    .tolerance-table-edit-form {
        grid-template-columns: 1fr 1fr;
    }

    .tolerance-table-name-form button,
    .tolerance-table-edit-form button {
        grid-column: 1 / -1;
    }
}

@media(max-width:650px) {
    .tolerance-table-name-form,
    .tolerance-table-edit-form {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================
   QC TOLERANCE PAGE - VIEWPORT / OVERFLOW FIX
   ========================================================== */

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

.mes-layout,
.dashboard,
.panel,
.tolerance-library-layout,
.tolerance-table-editor,
.tolerance-table-create {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.dashboard {
    width: 100%;
    overflow-x: hidden;
}

.tolerance-library-layout {
    width: 100%;
    grid-template-columns: minmax(220px, 300px) minmax(0, 1fr) !important;
}

.tolerance-table-nav,
.tolerance-table-editor {
    width: 100%;
    min-width: 0 !important;
    box-sizing: border-box;
}

.tolerance-table-editor > .panel {
    width: 100%;
    min-width: 0;
    overflow: hidden;
}

.tolerance-table-name-form,
.tolerance-table-edit-form {
    width: 100%;
    box-sizing: border-box;
    grid-template-columns:
        minmax(170px, .8fr)
        minmax(180px, 1.5fr)
        minmax(135px, .55fr) !important;
}

.tolerance-table-name-form > *,
.tolerance-table-edit-form > *,
.tolerance-rule-form > * {
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.tolerance-table-name-form input,
.tolerance-table-edit-form input,
.tolerance-rule-form input,
.tolerance-rule-form select {
    width: 100%;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.tolerance-rule-form {
    width: 100%;
    box-sizing: border-box;
    grid-template-columns:
        minmax(72px, .65fr)
        minmax(72px, .65fr)
        minmax(72px, .65fr)
        minmax(72px, .65fr)
        minmax(82px, .55fr)
        minmax(130px, 1.35fr)
        minmax(115px, .7fr) !important;
}

.tolerance-table-name-form .submit-job-button,
.tolerance-table-edit-form .small-action-button,
.tolerance-rule-form .submit-job-button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    line-height: 1.2;
    padding-left: 10px !important;
    padding-right: 10px !important;
}

.tolerance-edit-list {
    width: 100%;
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: hidden;
}

@media (max-width: 1450px) {
    .tolerance-library-layout {
        grid-template-columns: 230px minmax(0, 1fr) !important;
    }

    .tolerance-table-name-form,
    .tolerance-table-edit-form {
        grid-template-columns: minmax(150px,.8fr) minmax(170px,1.25fr) minmax(120px,.65fr) !important;
    }

    .tolerance-rule-form {
        grid-template-columns: repeat(5, minmax(68px, .65fr)) minmax(115px,1.2fr) minmax(105px,.75fr) !important;
        gap: 6px !important;
    }
}

@media (max-width: 1180px) {
    .tolerance-library-layout {
        grid-template-columns: 1fr !important;
    }

    .tolerance-table-nav {
        position: static !important;
    }

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

    .tolerance-table-name-form,
    .tolerance-table-edit-form {
        grid-template-columns: 1fr 1fr !important;
    }

    .tolerance-table-name-form button,
    .tolerance-table-edit-form button {
        grid-column: 1 / -1;
    }

    .tolerance-rule-form {
        grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    }

    .tolerance-rule-form .submit-job-button {
        grid-column: 1 / -1;
    }
}

@media (max-width: 720px) {
    .tolerance-table-links,
    .tolerance-table-name-form,
    .tolerance-table-edit-form,
    .tolerance-rule-form {
        grid-template-columns: 1fr !important;
    }

    .tolerance-table-name-form button,
    .tolerance-table-edit-form button,
    .tolerance-rule-form .submit-job-button {
        grid-column: auto;
    }
}


/* ==========================================================
   QC FAI BALLOON / MEASUREMENT WORKSPACE
   ========================================================== */
.qc-source-six{grid-template-columns:repeat(6,minmax(0,1fr))!important}.qc-workspace-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px!important;margin-bottom:12px}.pdf-page-controls,.qc-toolbar-actions{display:flex;align-items:center;gap:7px}.pdf-page-controls span{color:#90a4b1;font-size:9px}.qc-annotation-layout{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(320px,.8fr);gap:12px;align-items:start}.qc-canvas-panel{min-width:0;overflow:hidden}.qc-pdf-scroll{overflow:auto;max-height:78vh;padding:12px;background:#050b10}.qc-pdf-stage{position:relative;margin:auto;background:#fff;box-shadow:0 12px 35px rgba(0,0,0,.35)}#pdfCanvas{display:block}.qc-annotation-layer{position:absolute;inset:0;width:100%;height:100%;z-index:3;touch-action:none}.qc-svg-leader{stroke:currentColor;stroke-width:2}.qc-svg-target{fill:currentColor}.qc-svg-circle{fill:#26313a;stroke:#8798a3;stroke-width:2}.qc-svg-number{fill:#fff;font-weight:900;font-size:13px;pointer-events:none}.qc-svg-balloon.pending{color:#697a85}.qc-svg-balloon.pass{color:#24b86d}.qc-svg-balloon.pass .qc-svg-circle{fill:#16824d;stroke:#52d38e}.qc-svg-balloon.fail{color:#e34d4d}.qc-svg-balloon.fail .qc-svg-circle{fill:#9d2828;stroke:#ff7575}.qc-add-hint{display:none;position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:5;background:#1688e0;color:#fff;padding:9px 13px;border-radius:4px;font-size:9px;font-weight:800;box-shadow:0 8px 22px rgba(0,0,0,.25)}.qc-add-hint.show{display:block}.qc-pdf-error{padding:15px;color:#ff9898;background:#2a1114}.qc-measure-panel{position:sticky;top:12px;max-height:88vh;overflow:auto}.qc-standard-box{padding:12px;border-bottom:1px solid #223541;background:#0b1720}.qc-standard-box label>span{display:block;margin-bottom:5px;color:#7891a1;font-size:7px;font-weight:800;text-transform:uppercase}.qc-standard-box select{width:100%;min-height:36px;background:#122330;border:1px solid #314a5a;color:#eef5f8}.qc-standard-box small{display:block;margin-top:7px;color:#708592;font-size:8px;line-height:1.45}.qc-check-list{display:grid}.qc-check-card{padding:11px 12px;border-top:1px solid #20313d;background:#0b1720;box-shadow:inset 3px 0 0 #52636f}.qc-check-card.pass{box-shadow:inset 3px 0 0 #25bd70}.qc-check-card.fail{box-shadow:inset 3px 0 0 #e45858}.qc-check-head{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center}.qc-check-number{width:31px;height:31px;display:grid;place-items:center;border:2px solid #657985;border-radius:50%;color:#fff;font-size:10px;font-weight:900}.qc-check-card.pass .qc-check-number{border-color:#43cf85;background:#12653e}.qc-check-card.fail .qc-check-number{border-color:#ff7373;background:#7e2222}.qc-check-head strong{display:block;color:#edf4f8;font-size:10px}.qc-check-head small{display:block;margin-top:3px;color:#718793;font-size:7.5px;line-height:1.35}.qc-result-pill{padding:4px 6px;border:1px solid #3b4d59;border-radius:3px;color:#899aa5;font-size:7px;font-weight:900;text-transform:uppercase}.pass .qc-result-pill{border-color:#298859;color:#5bd795;background:#102b20}.fail .qc-result-pill{border-color:#a13e3e;color:#ff8787;background:#2a1315}.qc-check-limits{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:9px 0}.qc-check-limits span{padding:5px;background:#101f2a;color:#6e8593;font-size:6.5px}.qc-check-limits b{display:block;margin-top:2px;color:#dce7ed;font-size:8px}.qc-measure-form{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:end}.qc-measure-form label>span{display:block;margin-bottom:4px;color:#78909f;font-size:6.5px;text-transform:uppercase;font-weight:800}.qc-measure-form input{width:100%;min-height:34px;background:#122330;border:1px solid #314a5a;color:#fff;padding:7px 8px}.qc-measure-form .small-action-button{min-height:34px;margin:0}.qc-check-admin{display:flex;justify-content:flex-end;gap:5px;margin-top:6px}.qc-check-admin .text-button{font-size:7px;padding:5px 7px}.qc-modal[hidden]{display:none}.qc-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:rgba(0,0,0,.72);padding:20px}.qc-modal-card{width:min(620px,96vw);background:#0d1923;border:1px solid #315064;box-shadow:0 24px 60px rgba(0,0,0,.5)}.qc-modal-close{border:0;background:transparent;color:#b6c5ce;font-size:24px;cursor:pointer}.qc-balloon-form{padding:15px}.qc-balloon-form>label>span,.qc-balloon-grid label>span{display:block;margin-bottom:5px;color:#7d94a2;font-size:7px;font-weight:800;text-transform:uppercase}.qc-balloon-form input,.qc-balloon-form select{width:100%;min-height:38px;padding:8px;background:#122330;border:1px solid #314a5a;color:#edf5f8}.qc-balloon-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:9px}.qc-auto-tolerance{display:flex!important;align-items:center;gap:7px;margin:12px 0;color:#cbd8df!important}.qc-auto-tolerance input{width:16px!important;min-height:16px!important}.qc-auto-tolerance span{margin:0!important;color:#b8c8d1!important;text-transform:none!important}.qc-modal-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:14px}.qc-create-report{background:linear-gradient(180deg,#1c935e,#126842)!important;border-color:#28a96e!important}

/* FAI details */
.fai-details-form{display:grid;gap:14px}.fai-details-panel{overflow:hidden}.fai-details-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:14px}.fai-details-grid label>span,.fai-textarea-label>span{display:block;margin-bottom:5px;color:#78909f;font-size:7px;font-weight:800;text-transform:uppercase}.fai-details-grid input,.fai-details-grid select,.fai-textarea-label textarea{width:100%;box-sizing:border-box;background:#122330;border:1px solid #314a5a;color:#eef5f8;padding:8px;min-height:38px}.fai-details-grid input:disabled{opacity:.72}.fai-details-grid .span-2{grid-column:span 2}.fai-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:14px}.fai-check{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #2a3f4c;background:#0e1d27;color:#cad7de;font-size:9px}.fai-check input{accent-color:#2496ff}.fai-textarea-label{display:block;padding:0 14px 14px}.fai-textarea-label textarea{min-height:74px;resize:vertical}.fai-radio-row{display:flex;gap:18px;padding:14px;color:#cbd8df}.fai-radio-row input{accent-color:#2496ff}.fai-declaration-copy{margin:0 14px 14px;padding:11px;border:1px solid #304450;background:#0b1720;color:#dce6eb}.fai-declaration-copy strong,.fai-declaration-copy span{display:block}.fai-declaration-copy span{margin-top:5px;color:#8ea1ad}.signature-capture{display:grid;grid-template-columns:230px 1fr;gap:12px;align-items:center;margin:0 14px 14px;padding:12px;border:1px solid #2c4351;background:#0b1720}.signature-capture strong,.signature-capture small{display:block}.signature-capture strong{color:#eef5f8;margin:4px 0}.signature-capture small{color:#748996;font-size:8px;line-height:1.45}.signature-capture canvas{width:100%;height:130px;background:#101f29;border:1px dashed #456070;touch-action:none}.signature-actions{grid-column:2;text-align:right}.customer-preview{margin-bottom:4px}

/* ==========================================================
   PRINTABLE ENGLISH KNDS-STYLE FAI REPORT
   ========================================================== */
.fai-report-body{background:#cfd3d6!important;color:#111!important;margin:0}.fai-report-toolbar{position:sticky;top:0;z-index:50;display:flex;gap:8px;justify-content:center;padding:10px;background:#071018;border-bottom:1px solid #28404e}.fai-print-stack{display:grid;gap:18px;padding:18px}.fai-sheet{width:210mm;min-height:297mm;margin:0 auto;background:#fff;color:#111;box-sizing:border-box;padding:8mm;box-shadow:0 8px 30px rgba(0,0,0,.25);font-family:Arial,sans-serif;font-size:9pt}.fai-release-title{display:grid;grid-template-columns:1fr 42mm;border:1.5px solid #111;min-height:17mm}.fai-release-title>div:first-child{display:grid;place-items:center;text-align:center}.fai-release-title strong{font-size:16pt}.fai-release-title small{display:block;font-size:8pt;margin-top:2px}.knds-word{display:grid!important;place-items:center;border-left:1.5px solid #111;font-size:24pt;font-weight:900;letter-spacing:-1px}.fai-release-grid{display:grid;border-left:1.5px solid #111;border-top:1.5px solid #111}.fai-grid-top{grid-template-columns:repeat(4,1fr)}.fai-release-grid>div{min-height:13mm;padding:2mm;border-right:1.5px solid #111;border-bottom:1.5px solid #111;box-sizing:border-box}.fai-release-grid .span-2{grid-column:span 2}.fai-release-grid .span-4{grid-column:span 4;min-height:9mm}.fai-release-grid span{display:block;font-size:7.5pt}.fai-release-grid strong{display:block;margin-top:2mm;font-size:9pt}.fai-box-section{border:1.5px solid #111;border-top:0;padding:0}.fai-box-section h3{font-size:10pt;margin:0;padding:1.2mm 2mm;background:#e4e4e4;border-bottom:1px solid #111}.fai-print-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:1mm;padding:2mm;border-bottom:1px solid #111}.fai-print-checks.two{grid-template-columns:1fr 1fr}.fai-print-checks span{font-size:8pt}.fai-description-line{min-height:9mm;padding:2mm}.fai-box-section>p{margin:0;padding:1.5mm 2mm;border-bottom:1px solid #111;font-size:8pt}.fai-supplier-decision{display:grid;grid-template-columns:1.1fr 1fr;border-bottom:1px solid #111}.fai-supplier-decision>div:first-child{display:grid;padding:2mm;border-right:1px solid #111}.fai-date-sign{display:grid!important;grid-template-columns:35mm 1fr!important;border-top:1px solid #111;margin-top:2mm}.fai-date-sign>div{padding:1.5mm}.fai-date-sign>div+div{border-left:1px solid #111}.fai-date-sign small{display:block;font-size:7pt}.signature-print{position:relative;min-height:15mm}.signature-print img{position:absolute;left:3mm;bottom:2mm;max-width:45mm;max-height:12mm}.signature-line,.blank-line{display:block;border-bottom:1px solid #111;margin-top:8mm}.fai-contact{display:grid;padding:2mm;gap:1mm}.fai-contact span{font-size:8pt}.fai-contact b{display:inline-block;width:20mm}.fai-contact small{margin-top:2mm;font-size:6.5pt;color:#444}.fai-deviation-box{min-height:18mm;padding:2mm}.fai-deviation-box p{margin:2mm 0}.customer-section{margin-top:2mm}.fai-customer-grid{display:grid;grid-template-columns:1.1fr 1fr;border-bottom:1px solid #111}.fai-customer-decisions{display:grid;padding:2mm;border-right:1px solid #111;gap:1.5mm}.blank-contact{min-height:38mm}.fai-doc-footer{font-size:6.5pt;margin-top:3mm}.fai-results-meta{display:grid;grid-template-columns:repeat(4,1fr);border:1.5px solid #111;border-top:0;padding:2mm}.fai-measure-table{width:100%;border-collapse:collapse;margin-top:3mm;font-size:7.2pt}.fai-measure-table th,.fai-measure-table td{border:1px solid #111;padding:1.4mm;text-align:center}.fai-measure-table th{background:#e4e4e4}.fai-measure-table tr.pass td:last-child{background:#c9f1d9}.fai-measure-table tr.fail td:last-child{background:#f6caca}.fai-result-summary{padding:3mm 0;display:flex;justify-content:flex-end;gap:7mm;font-weight:700}.fai-result-summary.pass{color:#1b7f4a}.fai-result-summary.fail{color:#aa2e2e}.print-drawing-pages{display:grid;gap:6mm;margin-top:5mm}.fai-annotated-page{position:relative;width:100%;background:#fff;border:1px solid #111;page-break-inside:avoid}.fai-annotated-page canvas{display:block;width:100%;height:100%;object-fit:contain}.fai-print-annotation{position:absolute;inset:0;width:100%;height:100%}.fai-print-annotation line{stroke-width:2;stroke:#666}.fai-print-annotation .target{fill:#666}.fai-print-annotation .bubble{fill:#666;stroke:#333;stroke-width:2}.fai-print-annotation text{fill:#fff;font-size:12px;font-weight:900}.fai-print-annotation .pass line{stroke:#11864f}.fai-print-annotation .pass .target{fill:#11864f}.fai-print-annotation .pass .bubble{fill:#16a15f;stroke:#0d6a3e}.fai-print-annotation .fail line{stroke:#b42525}.fai-print-annotation .fail .target{fill:#b42525}.fai-print-annotation .fail .bubble{fill:#d63737;stroke:#8f1717}.fai-render-loading{padding:30mm;text-align:center;color:#555}.fai-render-loading.fail{color:#a22}

@media(max-width:1250px){.qc-source-six{grid-template-columns:repeat(3,1fr)!important}.qc-annotation-layout{grid-template-columns:1fr}.qc-measure-panel{position:static;max-height:none}.fai-details-grid{grid-template-columns:repeat(2,1fr)}.fai-check-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.qc-source-six,.fai-details-grid,.fai-check-grid{grid-template-columns:1fr!important}.qc-workspace-toolbar{align-items:stretch;flex-direction:column}.pdf-page-controls,.qc-toolbar-actions{flex-wrap:wrap}.signature-capture{grid-template-columns:1fr}.signature-actions{grid-column:auto}.qc-balloon-grid{grid-template-columns:1fr}}

@media print{
 @page{size:A4 portrait;margin:0}
 body.fai-report-body{background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .no-print{display:none!important}.fai-print-stack{padding:0;gap:0}.fai-sheet{box-shadow:none;margin:0;width:210mm;min-height:297mm;page-break-after:always;padding:7mm}.fai-sheet:last-child{page-break-after:auto}.annotated-drawing-sheet{page-break-after:auto}.fai-annotated-page{page-break-after:always}.fai-annotated-page:last-child{page-break-after:auto}
}


/* ==========================================================
   JOB DOCUMENTS - DRAWING / LASER NEST / OXY CUT LIST
   ========================================================== */

.job-document-columns {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 1px;
    background: #253845;
    border-top: 1px solid #253845;
    border-bottom: 1px solid #253845;
}

.job-document-group {
    min-width: 0;
    padding: 14px;
    background: #0c1821;
}

.job-document-title {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 9px;
}

.job-document-title span {
    color: #6f8ea1;
    font-size: 7px;
    font-weight: 900;
    letter-spacing: 1px;
}

.job-document-title strong {
    color: #eaf2f6;
    font-size: 11px;
}

.job-doc-entry {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 6px;
    align-items: center;
    margin-bottom: 6px;
}

.job-doc-entry .drawing-link {
    min-width: 0;
    margin: 0 !important;
}

.job-doc-entry .drawing-link strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.job-doc-nest {
    border-left: 2px solid #2496ff !important;
}

.job-doc-cutlist {
    border-left: 2px solid #d7a64d !important;
}

.job-document-upload-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 10px;
    padding: 14px;
    background: #0a151e;
}

.job-document-upload {
    min-width: 0;
    margin: 0 !important;
    padding: 10px !important;
    border: 1px solid #293e4c !important;
    background: #0e1b25 !important;
    border-radius: 4px;
}

.job-document-upload .big-upload-label {
    min-width: 0;
}

.job-document-upload .upload-pdf-button {
    width: 100%;
    min-width: 0;
    white-space: normal;
}

.job-doc-upload-nest {
    border-color: #167bd0 !important;
}

.job-doc-upload-cutlist {
    border-color: #8e6b2d !important;
}

@media(max-width:1100px) {
    .job-document-columns,
    .job-document-upload-grid {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================
   QC EDITOR - LARGE DRAWING / SIMPLE BALLOON CONTROLS
   ========================================================== */
.qc-annotation-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.qc-canvas-panel{width:100%;min-width:0}
.qc-drawing-heading{padding-bottom:8px!important}
.qc-drawing-toolbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:9px 14px;border-top:1px solid #1d303c;border-bottom:1px solid #263b49;background:#0a151e;position:sticky;top:0;z-index:9}
.qc-balloon-types{display:flex;flex-wrap:wrap;gap:6px}
.qc-type-button{min-height:34px;padding:7px 10px;border:1px solid #31546a;border-radius:3px;background:#102330;color:#dce8ee;font:inherit;font-size:8px;font-weight:900;letter-spacing:.45px;text-transform:uppercase;cursor:pointer}
.qc-type-button:hover,.qc-type-button.active{border-color:#2496ff;background:#15334a;color:#fff;box-shadow:0 0 0 2px rgba(36,150,255,.10)}
.qc-inline-controls{justify-content:center;flex-wrap:wrap;min-width:0}
.qc-control-divider{width:1px;height:24px;background:#29404e;margin:0 3px}
.qc-pdf-scroll{min-height:72vh!important;max-height:none!important;height:calc(100vh - 280px);overflow:auto!important}
.qc-measure-panel{position:static!important;max-height:none!important;width:100%}
.qc-standard-box{margin:0 14px 12px}
.qc-check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 14px 14px}
.qc-check-card{margin:0!important}

.qc-modal-card{width:min(560px,calc(100vw - 28px))!important}
.qc-balloon-form-simple label>span,.qc-override-heading strong,.qc-detected-callout>span{color:#afc5d1!important;font-size:10px!important;font-weight:900!important;letter-spacing:.75px!important}
.qc-detected-callout{margin:0 0 15px;padding:13px 14px;border:1px solid #2d495b;border-left:3px solid #2496ff;background:#0b1923}
.qc-detected-callout>span{display:block;margin-bottom:5px;text-transform:uppercase}
.qc-detected-callout strong{display:block;color:#f0f6f9;font-size:18px}
.qc-detected-callout small{display:block;margin-top:5px;color:#78909e;font-size:9px}
.qc-override-heading{margin:3px 0 8px}
.qc-override-heading strong{display:block;color:#d8e7ee!important}
.qc-override-heading small{display:block;margin-top:3px;color:#708894;font-size:9px}
.qc-balloon-form-simple .manual-tolerance-fields{grid-template-columns:1fr 1fr!important;gap:10px!important}
.qc-balloon-form-simple input[type="number"]{min-height:42px;font-size:14px;color:#fff;background:#132936;border-color:#3c5d70;appearance:textfield;-moz-appearance:textfield}
.qc-balloon-form-simple input[type="number"]::-webkit-inner-spin-button,.qc-balloon-form-simple input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.qc-fallback-nominal{margin-top:12px;padding-top:12px;border-top:1px solid #263d4a}
.qc-fallback-nominal label{display:block}

@media(max-width:1250px){
.qc-drawing-toolbar{grid-template-columns:1fr}
.qc-inline-controls{justify-content:flex-start}
.qc-create-report{width:100%}
.qc-pdf-scroll{height:68vh}
}
@media(max-width:800px){
.qc-check-list{grid-template-columns:1fr}
.qc-balloon-types{display:grid;grid-template-columns:1fr 1fr}
.qc-type-button{width:100%}
.qc-pdf-scroll{height:64vh;min-height:520px!important}
}


/* ==========================================================
   TRAINING & ACCESS MATRIX
   ========================================================== */
.training-matrix-wrap{
    grid-column:1/-1;
    margin:8px 0 2px;
}
.training-matrix-details{
    border:1px solid #263b49;
    border-radius:4px;
    background:#0a151e;
    overflow:hidden;
}
.training-matrix-details summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 12px;
    cursor:pointer;
    list-style:none;
    color:#dce8ee;
}
.training-matrix-details summary::-webkit-details-marker{display:none}
.training-matrix-details summary strong{display:block;font-size:10px}
.training-matrix-details summary small{display:block;margin-top:2px;color:#718895;font-size:8px}
.matrix-open-hint{color:#5bb8ff;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}
.training-matrix-form{padding:0 12px 12px;border-top:1px solid #20323d}
.training-matrix-group{margin:12px 0 0;padding:10px;border:1px solid #293f4c;background:#0d1a24}
.training-matrix-group legend{padding:0 7px;color:#7fa4b9;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.9px}
.training-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.training-check{
    display:flex;
    align-items:flex-start;
    gap:8px;
    min-width:0;
    padding:9px;
    border:1px solid #263c49;
    border-radius:3px;
    background:#10202a;
    cursor:pointer;
}
.training-check:hover{border-color:#39749d;background:#122633}
.training-check input{width:16px;height:16px;margin-top:1px;accent-color:#2496ff;flex:0 0 auto}
.training-check span{min-width:0}
.training-check strong{display:block;color:#e6eff4;font-size:9px}
.training-check small{display:block;margin-top:3px;color:#718793;font-size:8px;line-height:1.35}
.training-save{margin:12px 0 0!important;width:100%;max-width:290px}
.training-admin-full{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 12px;
    border:1px solid #2b4a5d;
    background:#0c1d28;
}
.training-admin-full strong{color:#62bfff;font-size:9px}
.training-admin-full span{color:#728996;font-size:8px}

.process-status-only{display:inline-flex}
.locked-process{cursor:default!important;opacity:.72}
.locked-process:not(.done){filter:grayscale(1);opacity:.35}

/* Job document columns now collapse around only the document types
   that the logged-in user's matrix allows them to see. */
.job-document-columns{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important}

@media(max-width:1050px){
    .training-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
    .training-check-grid{grid-template-columns:1fr}
    .training-admin-full{align-items:flex-start;flex-direction:column}
}


/* ==========================================================
   QC AUTO-DETECT / MANUAL BALLOON / DIRECT DELETE
   ========================================================== */
.qc-auto-detect-button,
.qc-manual-button{
    min-height:34px;
    padding:7px 11px;
    border-radius:3px;
    font:inherit;
    font-size:8px;
    font-weight:900;
    letter-spacing:.45px;
    text-transform:uppercase;
    cursor:pointer;
}
.qc-auto-detect-button{
    border:1px solid #2f9b67;
    background:#0d4b35;
    color:#e9fff5;
    box-shadow:0 0 0 1px rgba(53,196,119,.08);
}
.qc-auto-detect-button:hover{background:#126344;border-color:#48c886}
.qc-auto-detect-button:disabled{opacity:.55;cursor:wait}
.qc-manual-button{
    border:1px solid #566978;
    background:#15212a;
    color:#cbd8df;
}
.qc-manual-button:hover{border-color:#7f96a5;color:#fff}
.qc-manual-entry{
    margin:0 0 14px;
    padding:12px;
    border:1px solid #2d495b;
    background:#0b1923;
}
.qc-manual-entry .qc-balloon-grid{grid-template-columns:1fr 1fr!important}
.qc-manual-entry select,
.qc-manual-entry input{
    min-height:42px;
    background:#132936;
    color:#fff;
    border-color:#3c5d70;
}
.qc-svg-delete-bg{
    fill:#c92e3f;
    stroke:#ff6675;
    stroke-width:1.5;
    filter:drop-shadow(0 2px 4px rgba(0,0,0,.35));
}
.qc-svg-delete-icon{
    stroke:#fff;
    stroke-width:2;
    stroke-linecap:round;
    pointer-events:none;
}
.qc-svg-delete-bin{
    fill:none;
    stroke:#fff;
    stroke-width:1.7;
    pointer-events:none;
}
.qc-svg-delete:hover .qc-svg-delete-bg{fill:#ed3348}
@media(max-width:800px){
    .qc-auto-detect-button,.qc-manual-button{width:100%}
    .qc-manual-entry .qc-balloon-grid{grid-template-columns:1fr!important}
}


/* ==========================================================
   READABILITY PASS
   Slightly larger workshop/admin UI text without changing
   the printable FAI report sizing.
   ========================================================== */

/* General navigation / secondary information */
body:not(.fai-report-body) .eyebrow{
    font-size:10px !important;
    letter-spacing:1.35px !important;
}
body:not(.fai-report-body) .last-update,
body:not(.fai-report-body) .plain-copy,
body:not(.fai-report-body) .builder-help,
body:not(.fai-report-body) .access-note,
body:not(.fai-report-body) .muted{
    font-size:11px !important;
    line-height:1.5 !important;
}
body:not(.fai-report-body) .detail-label{
    font-size:9.5px !important;
    letter-spacing:.8px !important;
}
body:not(.fai-report-body) .mes-nav a{
    font-size:12px !important;
}
body:not(.fai-report-body) .sidebar-user > span,
body:not(.fai-report-body) .sidebar-user > small{
    font-size:10px !important;
}
body:not(.fai-report-body) .sidebar-user > strong{
    font-size:12px !important;
}

/* Main forms: labels and entered text */
body:not(.fai-report-body) .job-form label > span,
body:not(.fai-report-body) .user-grid label > span,
body:not(.fai-report-body) .user-edit-form label > span,
body:not(.fai-report-body) .audit-filters label > span{
    font-size:10px !important;
    letter-spacing:.75px !important;
}
body:not(.fai-report-body) .job-form input,
body:not(.fai-report-body) .job-form select,
body:not(.fai-report-body) .job-form textarea,
body:not(.fai-report-body) .user-grid input,
body:not(.fai-report-body) .user-grid select,
body:not(.fai-report-body) .user-edit-form input,
body:not(.fai-report-body) .user-edit-form select,
body:not(.fai-report-body) .audit-filters input,
body:not(.fai-report-body) .audit-filters select{
    font-size:13px !important;
}
body:not(.fai-report-body) input::placeholder,
body:not(.fai-report-body) textarea::placeholder{
    font-size:12px !important;
}

/* Job entry / process labels */
body:not(.fai-report-body) .job-form .process-label{
    font-size:9.5px !important;
}
body:not(.fai-report-body) .process-icon-button .process-icon-label{
    font-size:9px !important;
}

/* Dashboard/job tables */
body:not(.fai-report-body) .job-row{
    font-size:12px !important;
}
body:not(.fai-report-body) .job-row small,
body:not(.fai-report-body) .job-row > span{
    font-size:10.5px !important;
}
body:not(.fai-report-body) .job-search-bar input{
    font-size:12px !important;
}
body:not(.fai-report-body) .job-search-bar button,
body:not(.fai-report-body) .job-search-bar a{
    font-size:10px !important;
}

/* ==========================================================
   TOLERANCE TABLES - PRIORITY READABILITY
   ========================================================== */
body:not(.fai-report-body) .tolerance-table-name-form label > span,
body:not(.fai-report-body) .tolerance-table-edit-form label > span,
body:not(.fai-report-body) .tolerance-rule-form label > span{
    font-size:10px !important;
    letter-spacing:.7px !important;
}
body:not(.fai-report-body) .tolerance-table-name-form input,
body:not(.fai-report-body) .tolerance-table-edit-form input,
body:not(.fai-report-body) .tolerance-rule-form input,
body:not(.fai-report-body) .tolerance-rule-form select,
body:not(.fai-report-body) .tolerance-edit-row input,
body:not(.fai-report-body) .tolerance-edit-row select{
    font-size:13px !important;
    min-height:42px !important;
}
body:not(.fai-report-body) .tolerance-head,
body:not(.fai-report-body) .tolerance-edit-head{
    font-size:10px !important;
    letter-spacing:.7px !important;
}
body:not(.fai-report-body) .tolerance-row,
body:not(.fai-report-body) .tolerance-edit-row{
    font-size:12px !important;
}
body:not(.fai-report-body) .tolerance-table-link strong{
    font-size:12px !important;
}
body:not(.fai-report-body) .tolerance-table-link small{
    font-size:10px !important;
    line-height:1.4 !important;
}
body:not(.fai-report-body) .tolerance-table-link b{
    font-size:10px !important;
}
body:not(.fai-report-body) .tolerance-row-actions .small-action-button{
    font-size:10px !important;
}

/* QC editor / inspection panels */
body:not(.fai-report-body) .qc-standard-box label > span{
    font-size:10px !important;
}
body:not(.fai-report-body) .qc-standard-box select{
    font-size:13px !important;
    min-height:42px !important;
}
body:not(.fai-report-body) .qc-standard-box small{
    font-size:10px !important;
}
body:not(.fai-report-body) .qc-check-head strong{
    font-size:12px !important;
}
body:not(.fai-report-body) .qc-check-head small{
    font-size:10px !important;
}
body:not(.fai-report-body) .qc-result-pill{
    font-size:9px !important;
}
body:not(.fai-report-body) .qc-check-limits span{
    font-size:9px !important;
}
body:not(.fai-report-body) .qc-check-limits b{
    font-size:11px !important;
}
body:not(.fai-report-body) .qc-measure-form label > span{
    font-size:9.5px !important;
}
body:not(.fai-report-body) .qc-measure-form input{
    font-size:13px !important;
}
body:not(.fai-report-body) .pdf-page-controls span{
    font-size:11px !important;
}
body:not(.fai-report-body) .qc-type-button,
body:not(.fai-report-body) .qc-auto-detect-button,
body:not(.fai-report-body) .qc-manual-button{
    font-size:9.5px !important;
}

/* QC / FAI setup forms (screen only, not printed report) */
body:not(.fai-report-body) .fai-details-grid label > span,
body:not(.fai-report-body) .fai-textarea-label > span{
    font-size:10px !important;
}
body:not(.fai-report-body) .fai-details-grid input,
body:not(.fai-report-body) .fai-details-grid select,
body:not(.fai-report-body) .fai-textarea-label textarea{
    font-size:13px !important;
}
body:not(.fai-report-body) .fai-check{
    font-size:11px !important;
}

/* Training matrix readability */
body:not(.fai-report-body) .training-matrix-details summary strong{
    font-size:12px !important;
}
body:not(.fai-report-body) .training-matrix-details summary small,
body:not(.fai-report-body) .matrix-open-hint,
body:not(.fai-report-body) .training-matrix-group legend{
    font-size:10px !important;
}
body:not(.fai-report-body) .training-check strong{
    font-size:11px !important;
}
body:not(.fai-report-body) .training-check small{
    font-size:10px !important;
}
body:not(.fai-report-body) .training-admin-full strong,
body:not(.fai-report-body) .training-admin-full span{
    font-size:10px !important;
}


/* ==========================================================
   ADMIN PANEL / PROCESS MANAGEMENT
   ========================================================== */
.admin-panel-intro{padding:20px 22px!important;margin-bottom:14px}
.admin-panel-intro h2{margin:4px 0 6px;font-size:20px}
.admin-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}
.admin-control-card{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:16px;min-height:145px;padding:20px;border:1px solid #29404e;background:linear-gradient(145deg,#0f1d27,#0a151e);color:#eaf2f6;text-decoration:none;transition:.16s ease}
.admin-control-card:hover{transform:translateY(-1px);border-color:#3e799e;background:linear-gradient(145deg,#112431,#0b1822);box-shadow:0 8px 24px rgba(0,0,0,.18)}
.admin-control-icon{display:grid;place-items:center;width:54px;height:54px;border:1px solid #35566b;background:#102735;color:#57b7ff;font-size:24px}
.admin-control-card h2{margin:4px 0 6px;font-size:18px}
.admin-control-card p{margin:0;color:#8ca2af;font-size:11px;line-height:1.45}
.admin-card-count,.admin-card-arrow{align-self:start;padding:6px 8px;border:1px solid #315268;color:#78c8ff;font-size:9px;font-weight:900;letter-spacing:.55px;text-transform:uppercase;white-space:nowrap}

.process-add-form{display:grid;grid-template-columns:2fr 1fr 1.5fr .7fr auto;gap:10px;align-items:end}
.process-admin-form label>span{display:block;margin-bottom:5px;color:#9fb6c4;font-size:10px;font-weight:900;letter-spacing:.7px;text-transform:uppercase}
.process-admin-form input,.process-admin-form select,.process-admin-row input,.process-admin-row select{width:100%;min-height:42px;box-sizing:border-box;border:1px solid #355366;background:#112632;color:#edf5f8;padding:8px 10px;font:inherit;font-size:12px}
.process-admin-list{display:grid;gap:6px;padding:0 14px 14px}
.process-admin-row{display:grid;grid-template-columns:2fr .8fr 1.4fr .55fr .8fr .65fr;gap:8px;align-items:center;padding:8px;border:1px solid #263d4b;background:#0d1a23}
.process-admin-head{padding:6px 8px;border:0;background:transparent;color:#7895a6;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.7px}
.process-name-edit small{display:block;margin-top:3px;color:#667f8d;font-size:8px}
.process-active-toggle{display:flex;align-items:center;gap:7px;min-height:42px;padding:0 8px;border:1px solid #355366;background:#10232e}
.process-active-toggle input{width:16px!important;min-height:0!important;height:16px;accent-color:#2496ff}
.process-active-toggle span{font-size:10px;font-weight:800;color:#b8cad4}
.process-inactive,.training-check-inactive{opacity:.62}
.training-check-inactive{border-style:dashed!important}

@media(max-width:1100px){
.process-add-form{grid-template-columns:1fr 1fr}
.process-add-form .submit-job-button{grid-column:1/-1}
.process-admin-row{grid-template-columns:1.5fr 1fr 1fr}
.process-admin-head{display:none}}
@media(max-width:800px){
.admin-control-grid{grid-template-columns:1fr}
.admin-control-card{grid-template-columns:46px 1fr}
.admin-card-count,.admin-card-arrow{grid-column:2}
.process-add-form,.process-admin-row{grid-template-columns:1fr}
.process-add-form .submit-job-button{grid-column:auto}}

/* ==========================================================
   QC BALLOON / INSPECTION READABILITY PASS
   Bigger text + stronger visual separation between checks.
   ========================================================== */
body:not(.fai-report-body) .qc-check-list{
    gap:12px !important;
    padding:0 14px 16px !important;
}
body:not(.fai-report-body) .qc-check-card{
    position:relative;
    padding:14px 14px 13px !important;
    border:1px solid #2b4454 !important;
    border-left:5px solid #5f7482 !important;
    border-radius:4px;
    background:#0d1b25 !important;
    box-shadow:0 7px 18px rgba(0,0,0,.18) !important;
    overflow:hidden;
}
body:not(.fai-report-body) .qc-check-card:nth-child(even){
    background:#10212c !important;
}
body:not(.fai-report-body) .qc-check-card::before{
    content:'';
    position:absolute;
    inset:0 0 auto 0;
    height:3px;
    background:#314958;
    opacity:.9;
}
body:not(.fai-report-body) .qc-check-card.pass{
    border-left-color:#35c477 !important;
    box-shadow:0 7px 18px rgba(0,0,0,.18), inset 0 0 0 1px rgba(53,196,119,.08) !important;
}
body:not(.fai-report-body) .qc-check-card.pass::before{background:#35c477}
body:not(.fai-report-body) .qc-check-card.fail{
    border-left-color:#e85b63 !important;
    box-shadow:0 7px 18px rgba(0,0,0,.18), inset 0 0 0 1px rgba(232,91,99,.1) !important;
}
body:not(.fai-report-body) .qc-check-card.fail::before{background:#e85b63}

body:not(.fai-report-body) .qc-check-head{
    grid-template-columns:42px 1fr auto !important;
    gap:11px !important;
    padding-bottom:9px;
    border-bottom:1px solid #243946;
}
body:not(.fai-report-body) .qc-check-number{
    width:38px !important;
    height:38px !important;
    border-width:2px !important;
    font-size:13px !important;
    background:#132733;
}
body:not(.fai-report-body) .qc-check-head strong{
    font-size:15px !important;
    line-height:1.2 !important;
    letter-spacing:.1px;
}
body:not(.fai-report-body) .qc-check-head small{
    margin-top:4px !important;
    font-size:11.5px !important;
    line-height:1.45 !important;
    color:#8da3b0 !important;
}
body:not(.fai-report-body) .qc-result-pill{
    padding:6px 8px !important;
    font-size:10.5px !important;
    letter-spacing:.5px;
}

body:not(.fai-report-body) .qc-check-limits{
    gap:7px !important;
    margin:11px 0 12px !important;
}
body:not(.fai-report-body) .qc-check-limits span{
    min-height:42px;
    padding:7px 9px !important;
    border:1px solid #213947;
    background:#132733 !important;
    color:#8ba0ad !important;
    font-size:10px !important;
    line-height:1.2;
}
body:not(.fai-report-body) .qc-check-limits b{
    margin-top:4px !important;
    color:#f1f6f8 !important;
    font-size:13px !important;
}
body:not(.fai-report-body) .qc-measure-form{
    gap:9px !important;
}
body:not(.fai-report-body) .qc-measure-form label>span{
    margin-bottom:6px !important;
    color:#9cb1bd !important;
    font-size:10.5px !important;
    letter-spacing:.45px;
}
body:not(.fai-report-body) .qc-measure-form input{
    min-height:42px !important;
    padding:9px 10px !important;
    border-color:#3b5a6d !important;
    background:#132936 !important;
    font-size:14px !important;
}
body:not(.fai-report-body) .qc-measure-form .small-action-button{
    min-height:42px !important;
    padding:0 16px !important;
    font-size:10.5px !important;
}
body:not(.fai-report-body) .qc-check-admin{
    gap:7px !important;
    margin-top:8px !important;
    padding-top:7px;
    border-top:1px solid #213541;
}
body:not(.fai-report-body) .qc-check-admin .text-button{
    padding:6px 9px !important;
    font-size:9px !important;
}

/* Keep two-column layout on wide screens, but give each card breathing room. */
@media(max-width:1050px){
    body:not(.fai-report-body) .qc-check-list{grid-template-columns:1fr !important}
}


/* ==========================================================
   QC BALLOON GRID - 4 ACROSS ON DESKTOP
   Keeps current readability sizing but uses screen width better.
   ========================================================== */
body:not(.fai-report-body) .qc-check-list{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:10px !important;
}

/* Make the four-wide cards compact without shrinking text again. */
body:not(.fai-report-body) .qc-check-card{
    min-width:0;
    padding:12px !important;
}
body:not(.fai-report-body) .qc-check-head{
    gap:8px !important;
}
body:not(.fai-report-body) .qc-check-head > div{
    min-width:0;
}
body:not(.fai-report-body) .qc-check-head strong{
    font-size:12px !important;
}
body:not(.fai-report-body) .qc-check-head small{
    font-size:9.5px !important;
    line-height:1.35 !important;
}
body:not(.fai-report-body) .qc-check-limits{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:5px !important;
}
body:not(.fai-report-body) .qc-check-limits span{
    padding:7px 8px !important;
}
body:not(.fai-report-body) .qc-measure-form{
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:6px !important;
}
body:not(.fai-report-body) .qc-measure-form input{
    min-width:0 !important;
}
body:not(.fai-report-body) .qc-check-admin{
    gap:5px !important;
}

/* 2 across on normal laptops / narrower desktop windows. */
@media(max-width:1450px){
    body:not(.fai-report-body) .qc-check-list{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

/* Single column where card width would otherwise get cramped. */
@media(max-width:820px){
    body:not(.fai-report-body) .qc-check-list{
        grid-template-columns:1fr !important;
    }
}


/* ==========================================================
   QC SHOW / POINTER DRAG
   ========================================================== */
.qc-svg-balloon.selected .qc-svg-circle{
    stroke-width:3 !important;
    filter:drop-shadow(0 0 5px rgba(77,179,255,.55));
}
.qc-svg-balloon.selected .qc-svg-target{
    stroke:#fff !important;
    stroke-width:2 !important;
    filter:drop-shadow(0 0 4px rgba(77,179,255,.7));
}
.qc-svg-target{
    pointer-events:all;
}
.qc-svg-delete{
    display:none !important;
}

.field-help{display:block;margin-top:5px;color:#79909d;font-size:10px}
.qc-standard-locked{padding:12px 14px!important;border:1px solid #2e4a5b;border-left:4px solid #2496ff;background:#0b1923}
.qc-standard-locked .qc-lock-label{display:block;color:#88a4b4;font-size:10px;font-weight:900;text-transform:uppercase}
.qc-standard-locked strong{display:block;margin:5px 0;color:#edf6fa;font-size:15px}
.drawing-tolerance-lock,.drawing-tolerance-select{display:block;padding:10px;border:1px solid #315064;background:#0c1c26}
.drawing-tolerance-lock span,.drawing-tolerance-select>span{display:block;color:#8aa7b7;font-size:9px;font-weight:900;text-transform:uppercase}
.drawing-tolerance-lock strong{display:block;color:#eaf4f8;font-size:12px}
.drawing-tolerance-select select{width:100%;min-height:40px;background:#122836;color:#fff;border:1px solid #38596d}


/* QC REMOVE ALL / ROTATE CONTROLS */
.qc-remove-all-button{
    min-height:34px;
    padding:7px 10px;
    border:1px solid #8c3b45;
    border-radius:3px;
    background:#36171c;
    color:#ffbdc4;
    font:inherit;
    font-size:9.5px;
    font-weight:900;
    letter-spacing:.45px;
    text-transform:uppercase;
    cursor:pointer;
}
.qc-remove-all-button:hover{
    border-color:#d44b5c;
    background:#512027;
    color:#fff;
}
.qc-rotate-button{
    min-width:58px;
    font-weight:900!important;
}
#rotationLabel{
    min-width:28px;
    text-align:center;
    color:#8da5b3;
    font-size:10px!important;
    font-weight:800;
}


/* QC BALLOON SHEET PDF */
.qc-report-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
    flex-wrap:wrap;
}
.qc-balloon-sheet-button{
    white-space:nowrap;
}
@media(max-width:1250px){
    .qc-report-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
    .qc-report-actions .add-job-button{width:100%}
}
@media(max-width:700px){
    .qc-report-actions{grid-template-columns:1fr}
}


/* OFFICIAL KNDS TEMPLATE OVERLAY */
.knds-overlay-note{
    margin:0 14px 14px;
    padding:9px 11px;
    border-left:3px solid #2496ff;
    background:#0c1c26;
    color:#8ea4b1;
    font-size:10px;
}
.knds-overlay-group{padding:0 14px 14px}
.knds-overlay-group>strong{display:block;margin-bottom:8px;font-size:11px}
.knds-overlay-entry .fai-details-grid label>span{font-size:10px!important}

.knds-official-template-sheet{
    padding:0!important;
    border:0!important;
    background:#fff!important;
    overflow:hidden;
}
#kndsOfficialPage{
    display:block;
    width:100%;
    height:auto;
    margin:0;
}
.knds-official-template-sheet .fai-render-loading{
    min-height:240mm;
    display:grid;
    place-items:center;
}
@media print{
    .knds-official-template-sheet{
        width:210mm!important;
        height:297mm!important;
        min-height:297mm!important;
        max-height:297mm!important;
        padding:0!important;
        margin:0 auto!important;
        box-shadow:none!important;
        page-break-after:always;
    }
    #kndsOfficialPage{
        width:210mm!important;
        height:297mm!important;
        object-fit:fill!important;
    }
}


/* KNDS OFFICIAL TEMPLATE ALIGNMENT FIX
   [hidden] must win over the loading placeholder display rule. */
.knds-official-template-sheet .fai-render-loading[hidden],
#kndsOfficialPage[hidden]{
    display:none !important;
    min-height:0 !important;
    height:0 !important;
}
.knds-official-template-sheet{
    min-height:0 !important;
}
#kndsOfficialPage{
    vertical-align:top;
}

/* FINAL QC -> FAIR EXPORT WORKFLOW */
.qc-final-toolbar{gap:7px;flex-wrap:wrap}.qc-report-action{min-height:34px}.qc-fair-create{margin-left:auto}.fairdeal-qc-mark{font-size:14px!important;letter-spacing:.5px!important}
.fair-export-note{margin:0 14px 14px;padding:9px 11px;border-left:3px solid #2496ff;background:#0c1c26;color:#8fa1af;font-size:10px}.fair-export-split{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0 14px 14px}.fair-export-split>div>strong{display:block;margin-bottom:8px}.fair-output-panel{margin-top:16px}.fair-output-actions{display:flex;gap:8px;flex-wrap:wrap;padding:0 14px 14px}.fair-output-panel .plain-copy{padding:0 14px 14px}.fair-export-submit{position:sticky;bottom:12px;z-index:4}
@media(max-width:900px){.fair-export-split{grid-template-columns:1fr}.qc-fair-create{margin-left:0}.qc-final-toolbar{justify-content:flex-start}}


/* FAIR DOCUMENT PREVIEW */
.fair-preview-dashboard{
    min-width:0;
}
.fair-preview-panel{
    max-width:1180px;
    margin:0 auto 28px;
}
.fair-preview-stage{
    display:flex;
    justify-content:center;
    align-items:flex-start;
    padding:22px;
    min-height:420px;
    overflow:auto;
    background:#071018;
    border-top:1px solid #263746;
    border-bottom:1px solid #263746;
}
.fair-preview-stage #kndsOfficialPage{
    display:block;
    width:min(100%, 900px);
    height:auto;
    background:#fff;
    box-shadow:0 18px 48px rgba(0,0,0,.35);
}
.fair-preview-stage #kndsOfficialPage[hidden]{
    display:none!important;
}
.fair-preview-stage .fai-render-loading{
    min-height:360px;
    width:100%;
    display:grid;
    place-items:center;
}
.fair-preview-stage .fai-render-loading[hidden]{
    display:none!important;
    min-height:0!important;
}
.fair-preview-actions{
    display:flex;
    justify-content:flex-end;
    gap:8px;
    padding:14px;
    flex-wrap:wrap;
}
@media(max-width:800px){
    .fair-preview-stage{padding:10px}
    .fair-preview-actions{display:grid;grid-template-columns:1fr}
    .fair-preview-actions .add-job-button{width:100%;text-align:center}
}


/* FINISHED JOBS · LINKED QC + KNDS FAIR DOCUMENTS */
.finished-row{
    grid-template-columns:minmax(180px,1.35fr) .42fr .72fr .68fr minmax(160px,1fr) minmax(160px,1fr)!important;
    gap:14px!important;
}
.finished-doc-cell{
    min-width:0;
    align-self:stretch;
    padding-left:12px;
    border-left:1px solid #263746;
}
.finished-doc-label{
    display:block;
    margin-bottom:6px;
    color:#8ea6b4;
    font-size:9px;
    font-weight:900;
    letter-spacing:.7px;
    text-transform:uppercase;
}
.finished-doc-links{
    display:flex;
    flex-wrap:wrap;
    gap:5px;
}
.finished-doc-link{
    display:inline-flex;
    align-items:center;
    min-height:26px;
    padding:4px 7px;
    border:1px solid #315064;
    background:#0d1d27;
    color:#bfe2ff;
    font-size:9.5px;
    font-weight:800;
    text-decoration:none;
}
.finished-doc-link:hover{border-color:#2496ff;color:#fff}
.finished-doc-link.fair-link{border-color:#53643b;color:#d8efba}

.fair-existing-copy{padding:0 14px}
.fair-existing-list{display:grid;gap:8px;padding:0 14px 14px}
.fair-existing-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    padding:12px;
    border:1px solid #263746;
    background:#0b1821;
}
.fair-existing-row strong,.fair-existing-row small{display:block}
.fair-existing-row small{margin-top:4px;color:#8195a1;font-size:10px}
.fair-existing-actions{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:8px;
    padding:0 14px 14px;
}
@media(max-width:1350px){
    .finished-row{
        grid-template-columns:minmax(180px,1.3fr) .45fr .8fr .7fr minmax(150px,1fr)!important;
    }
    .finished-row .finished-doc-cell:last-child{grid-column:1/-1;border-left:0;border-top:1px solid #263746;padding:10px 0 0}
}
@media(max-width:900px){
    .finished-row{grid-template-columns:1fr 1fr!important}
    .finished-job-main{grid-column:1/-1}
    .finished-doc-cell{border-left:0;border-top:1px solid #263746;padding:10px 0 0}
}
@media(max-width:650px){
    .finished-row{grid-template-columns:1fr!important}
    .fair-existing-row{grid-template-columns:1fr}
    .fair-existing-actions{display:grid;grid-template-columns:1fr}
}


/* PRODUCTION → QC → PACKING → DELIVERY WORKFLOW */
.qc-nav-alert{border-color:#d9892b!important;background:rgba(217,137,43,.12)!important;color:#ffd9a0!important}
.nav-count-badge{display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;margin-left:auto;padding:0 6px;border-radius:10px;background:#d9892b;color:#071018;font-size:10px;font-weight:900}
.summary-grid-seven{grid-template-columns:repeat(7,minmax(0,1fr))}
.summary-card.tone-qc{border-color:#d9892b;background:linear-gradient(180deg,rgba(217,137,43,.16),rgba(13,24,34,.96))}
.summary-card.tone-qc strong{color:#ffc36d}.summary-card.tone-pack{border-color:#647b8c}.summary-card.tone-pack strong{color:#c7dce8}
.job-status.awaiting-qc{border-color:#d9892b!important;color:#ffc36d!important;background:rgba(217,137,43,.12)!important}.job-status.ready-to-pack{border-color:#738d9e!important;color:#cbe4f2!important}
.qc-awaiting-card.has-awaiting{border-color:#d9892b;box-shadow:inset 3px 0 0 #d9892b}.qc-awaiting-count{background:#d9892b!important;color:#071018!important}
.qc-awaiting-list{display:grid}.qc-awaiting-row{display:grid;grid-template-columns:minmax(180px,1.2fr) .8fr auto;gap:14px;align-items:center;padding:13px 14px;border-top:1px solid #263746}.qc-awaiting-row strong,.qc-awaiting-row small{display:block}.qc-awaiting-row small{margin-top:3px;color:#8298a6}.qc-awaiting-actions{display:flex;gap:6px}
.workflow-role-action{display:grid;grid-template-columns:54px minmax(180px,1fr) auto;gap:14px;align-items:center;padding:14px;border-top:1px solid #263746}.workflow-role-icon{width:48px;height:48px;display:grid;place-items:center;border:1px solid #315064;background:#0b1a24}.workflow-role-icon svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;color:#7fc4ff}.workflow-role-action strong,.workflow-role-action small{display:block}.workflow-role-action small{margin-top:3px;color:#8298a6}
.training-role-icon{width:40px;height:40px;display:grid;place-items:center;flex:0 0 40px}.training-role-icon svg{width:32px;height:32px;fill:none;stroke:#7fc4ff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.training-check:has(.training-role-icon){display:grid;grid-template-columns:auto 40px 1fr;align-items:center}.welding-qualification-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.welding-qualification-card{border:1px solid #263746;background:#0b1821;padding:10px}.welding-qualification-head{display:flex;align-items:center;gap:9px;padding-bottom:8px;border-bottom:1px solid #263746}.welding-qualification-head strong,.welding-qualification-head small{display:block}.welding-qualification-head small{color:#7f95a3;font-size:9px}.training-check-parent{margin-top:8px}.welding-material-options{display:grid;gap:6px;margin:8px 0 0 26px}.welding-material-check{background:#0e202b!important}
.fai-production-verification{margin:4mm 0}.fai-production-verification>strong{display:block;margin-bottom:2mm}.compact-verification{font-size:7.5px!important}.compact-verification th,.compact-verification td{padding:1.4mm!important}
@media(max-width:1200px){.summary-grid-seven{grid-template-columns:repeat(3,1fr)}.welding-qualification-grid{grid-template-columns:1fr}.qc-awaiting-row{grid-template-columns:1fr 1fr}.qc-awaiting-actions{grid-column:1/-1}.workflow-role-action{grid-template-columns:48px 1fr}.workflow-role-action .actual-delivery-actions{grid-column:1/-1}}
@media(max-width:700px){.summary-grid-seven{grid-template-columns:repeat(2,1fr)}.qc-awaiting-row{grid-template-columns:1fr}.qc-awaiting-actions{grid-column:auto;flex-wrap:wrap}}


/* PRODUCTION EXCEPTIONS / NEST REQUEST WORKFLOW */
.process-icon-button.pending-admin{
    opacity:1!important;filter:none!important;color:#d29bff!important;border-color:#8f4bd1!important;
    background:radial-gradient(circle at 50% 30%,rgba(150,70,220,.20),transparent 58%),linear-gradient(180deg,#251331,#120b19)!important;
    box-shadow:inset 0 0 16px rgba(147,72,216,.10),0 0 12px rgba(147,72,216,.22)!important;
}
.process-icon-button.pending-admin .process-icon-art{filter:drop-shadow(0 0 6px rgba(197,121,255,.65))!important}
.workflow-modal-backdrop[hidden]{display:none!important}
.workflow-modal-backdrop{position:fixed;inset:0;z-index:5000;background:rgba(2,8,13,.78);display:grid;place-items:center;padding:20px}
.workflow-modal-card{width:min(620px,96vw);max-height:88vh;overflow:auto;background:#0d1822;border:1px solid #314858;box-shadow:0 24px 70px rgba(0,0,0,.5)}
.workflow-modal-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;padding:18px 20px;border-bottom:1px solid #263746}.workflow-modal-head h2{margin:3px 0 0}.workflow-modal-close{border:0;background:transparent;color:#8fa1af;font-size:26px;cursor:pointer}.workflow-modal-body{padding:20px}.workflow-modal-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:14px 20px;border-top:1px solid #263746;background:#09131a}.workflow-modal-copy{margin:0;color:#b8c7d0;line-height:1.55}.workflow-modal-field{display:grid;gap:7px;margin-top:16px}.workflow-modal-field span{font-size:9.5px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;color:#8fa1af}.workflow-modal-field input,.workflow-modal-field textarea{width:100%;min-height:42px;padding:10px 12px;border:1px solid #365163;background:#122531;color:#eef4f8;font:inherit}.workflow-modal-field textarea{min-height:100px;resize:vertical}.workflow-purple-button{border:1px solid #8f4bd1;background:#351549;color:#e6c7ff;padding:10px 13px;font-weight:900;cursor:pointer}.workflow-danger-button{border:1px solid #a84652;background:#41171d;color:#ffd5da;padding:10px 13px;font-weight:900;cursor:pointer}.workflow-fail-summary{display:grid;gap:5px;padding:13px;border-left:4px solid #9b55dc;background:#171020}.workflow-fail-summary strong{font-size:16px;color:#f0dcff}.workflow-fail-summary span{color:#bfa9ca}
.admin-control-card.has-alert{border-color:#8f4bd1!important;box-shadow:0 0 18px rgba(143,75,209,.14)}.admin-control-card.has-alert .admin-card-count{background:#351549;color:#e6c7ff;border-color:#8f4bd1}.admin-nav-alert{color:#e2c2ff!important}.admin-request-badge{background:#7d37b9!important;color:#fff!important}.admin-request-list{display:grid;gap:12px;padding:0 14px 16px}.admin-request-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:16px;padding:16px;border:1px solid #263746;background:#0a151d}.admin-request-summary strong,.admin-request-summary span,.admin-request-summary small{display:block}.admin-request-summary strong{font-size:14px}.admin-request-summary span{margin-top:4px;color:#d29bff;font-weight:800}.admin-request-summary p{color:#c0ccd3;line-height:1.5}.admin-request-summary small{margin-top:6px;color:#7f919d}.admin-request-action{display:grid;gap:10px}.admin-request-action label{display:grid;gap:6px}.admin-request-action label>span{font-size:9px;font-weight:900;letter-spacing:.7px;text-transform:uppercase;color:#8296a2}.admin-request-action select,.admin-request-action textarea{width:100%;background:#10232e;color:#eef4f8;border:1px solid #355062;padding:9px}.admin-request-action textarea{min-height:75px;resize:vertical}
@media(max-width:900px){.admin-request-row{grid-template-columns:1fr}.workflow-modal-actions{display:grid;grid-template-columns:1fr}.workflow-modal-actions button{width:100%}}


/* SIGMA NEST / FOREMAN */
.training-foreman-note{
    display:flex;
    align-items:center;
    gap:10px;
    margin:10px 0;
    padding:10px 12px;
    border:1px solid #4d6474;
    border-left:4px solid #4db3ff;
    background:#0c1b25;
}
.training-foreman-note .training-role-icon{
    width:38px;
    height:38px;
    flex:0 0 38px;
}
.training-foreman-note strong,
.training-foreman-note small{display:block}
.training-foreman-note small{
    margin-top:3px;
    color:#8da2af;
    font-size:10px;
    line-height:1.4;
}


/* PROCESS PAGE READABILITY TWEAK */
.line-items-head{
    font-size:9.5px!important;
    letter-spacing:1px;
}
.line-spec{
    font-size:10.5px!important;
    line-height:1.3;
}
.line-spec b{
    font-size:8.5px!important;
}
.line-progress strong{
    font-size:11px!important;
}
.line-progress small{
    font-size:8.5px!important;
}
.line-item-row{
    font-size:10.5px!important;
}
.line-part-no strong{
    font-size:11.5px!important;
}


/* =========================================================
   MAINTENANCE MODULE
   ========================================================= */
.maintenance-nav-alert{border-left-color:#ffb347!important}
.maintenance-count-badge{background:#ff9f2f!important;color:#101820!important}
.maintenance-hero-icon{display:grid;place-items:center;width:72px;height:72px;border:1px solid #315064;background:#0c1b25}
.maintenance-hero-icon svg{width:46px;height:46px;fill:none;stroke:#4db3ff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.maintenance-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px}
.maintenance-control-card{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:150px;padding:18px;border:1px solid #263746;background:#0d1822;color:#eef4f8;text-decoration:none}
.maintenance-control-card:hover{border-color:#4db3ff;background:#0f1d28}
.maintenance-control-card.has-alert{border-color:#ff9f2f;box-shadow:inset 3px 0 #ff9f2f}
.maintenance-control-card.danger-card.has-alert{border-color:#ff5d5d;box-shadow:inset 3px 0 #ff5d5d}
.maintenance-card-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid #315064;background:#071018;color:#4db3ff;font-size:22px;font-weight:900}
.maintenance-control-card h2{font-size:18px;margin-bottom:5px}.maintenance-control-card p{font-size:11px;line-height:1.45;color:#8fa1af}.maintenance-card-count,.maintenance-card-arrow{font-size:10px;font-weight:900;letter-spacing:.7px;color:#bfe2ff;white-space:nowrap}
.maintenance-summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.maintenance-summary-grid div{padding:14px;border:1px solid #263746;background:#09151e}.maintenance-summary-grid strong{display:block;font-size:26px;color:#4db3ff}.maintenance-summary-grid span{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#8fa1af}
.maintenance-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.maintenance-form-grid label{display:flex;flex-direction:column;gap:6px}.maintenance-form-grid label>span,.form-inline-label{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.8px;color:#8fa1af}.maintenance-form-grid input,.maintenance-form-grid select,.maintenance-form-grid textarea,.maintenance-mini-form input,.maintenance-mini-form select,.maintenance-mini-form textarea,.consumable-card input,.consumable-card textarea{width:100%;padding:10px;border:1px solid #2a4050;background:#071018;color:#eef4f8;font:inherit;font-size:11px}.maintenance-form-grid textarea{min-height:88px;resize:vertical}.maintenance-form-grid .span-2{grid-column:1/-1}
.maintenance-process-map{border:1px solid #263746;padding:12px}.maintenance-process-map legend{padding:0 6px;color:#8fa1af;font-size:10px;font-weight:900}
.maintenance-machine-list{display:grid;gap:10px}.maintenance-machine-card{border:1px solid #263746;background:#0b1720}.maintenance-machine-card>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;cursor:pointer}.maintenance-machine-card>summary strong,.maintenance-machine-card>summary small{display:block}.maintenance-machine-card>summary small{margin-top:4px;color:#8297a4;font-size:10px}.maintenance-machine-body{padding:14px;border-top:1px solid #263746}
.maintenance-schedule-area{margin-top:18px;padding-top:14px;border-top:1px solid #263746}.maintenance-schedule-area h3{font-size:14px;margin-bottom:10px}.maintenance-schedule-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px;border:1px solid #263746;margin-bottom:7px}.maintenance-schedule-row strong,.maintenance-schedule-row small{display:block}.maintenance-schedule-row small{margin-top:3px;color:#8194a0;font-size:9px}.schedule-add-form{margin-top:14px;padding:12px;background:#08141c;border:1px dashed #315064}
.maintenance-check-list{display:grid;gap:14px}.maintenance-check-card.maintenance-due{border-color:#ff9f2f}.maintenance-check-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.maintenance-check-items label{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid #263746;background:#08141c;font-size:11px}.maintenance-note-field{display:flex;flex-direction:column;gap:6px;margin-top:12px}.maintenance-note-field textarea{min-height:70px;padding:10px;border:1px solid #263746;background:#071018;color:#eef4f8}
.maintenance-request-list{display:grid;gap:8px}.maintenance-request-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px;border:1px solid #263746;background:#0b1720;color:#eef4f8;text-decoration:none}.maintenance-request-row:hover{border-color:#4db3ff}.maintenance-request-row.urgent{border-left:4px solid #ff5d5d}.maintenance-request-row strong,.maintenance-request-row small{display:block}.maintenance-request-row small{margin-top:4px;color:#8296a3;font-size:9px}.maintenance-request-row p{margin-top:7px;color:#b0bdc5;font-size:10px}.maintenance-request-meta{text-align:right}.maintenance-request-meta b{display:block;margin-top:5px;color:#d5a8ff;font-size:9px}
.maintenance-detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin-bottom:14px}.maintenance-fault-copy{font-size:13px;line-height:1.6;margin-bottom:12px}.maintenance-image-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:14px}.maintenance-image-grid a{display:block;aspect-ratio:1/1;border:1px solid #263746;overflow:hidden;background:#071018}.maintenance-image-grid img{width:100%;height:100%;object-fit:cover}.maintenance-escalation-panel{border-color:#6d43a0}.maintenance-checkbox{display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px!important}.maintenance-checkbox input{width:auto!important}.maintenance-management-response{margin-top:14px;padding:12px;border:1px solid #315064;background:#08141c}.maintenance-management-response strong{color:#4db3ff}.maintenance-management-response p{margin-top:6px;font-size:11px;line-height:1.5}
.compact-maintenance-grid{grid-template-columns:1fr 1fr}.maintenance-control-card.static-card{display:block;height:auto}.maintenance-mini-form{display:grid;gap:7px;margin-top:10px}.consumable-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.consumable-card{display:grid;gap:7px;padding:12px;border:1px solid #263746;background:#0b1720}.consumable-card.low-stock{border-color:#ff9f2f;box-shadow:inset 3px 0 #ff9f2f}.consumable-card-head{display:flex;justify-content:space-between;gap:8px}.consumable-card-head span{font-size:8px;font-weight:900;color:#ffb347}.consumable-card label{font-size:9px;color:#8fa1af}.static-row:hover{border-color:#263746}.paused-row{border-left:4px solid #ff4f4f}.danger-text{color:#ff7777!important}
.maintenance-paused{position:relative!important;opacity:.6!important;border-color:#ff4f4f!important;filter:none!important}.maintenance-paused::after{content:"✕";position:absolute;inset:-3px;display:grid;place-items:center;color:#ff3939;font-size:42px;font-weight:900;line-height:1;text-shadow:0 0 7px #000;pointer-events:none;z-index:5}.maintenance-paused .process-icon-art,.maintenance-paused .process-icon-label{opacity:.45}
.maintenance-role-note{border-left-color:#ffb347!important}.admin-maintenance-images{grid-template-columns:repeat(3,72px)}
@media(max-width:1200px){.maintenance-card-grid,.consumable-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.maintenance-card-grid,.compact-maintenance-grid,.consumable-grid,.maintenance-detail-grid,.maintenance-summary-grid,.maintenance-form-grid{grid-template-columns:1fr}.maintenance-form-grid .span-2{grid-column:auto}.maintenance-check-items{grid-template-columns:1fr}.maintenance-control-card{grid-template-columns:42px 1fr}.maintenance-card-count,.maintenance-card-arrow{grid-column:2}.maintenance-image-grid{grid-template-columns:repeat(2,1fr)}}


/* MULTI-MACHINE MAINTENANCE + EXISTING QC APPROVAL */
.qc-existing-report-approve{display:inline-flex;margin:0}
.qc-existing-report-approve .add-job-button{
    min-height:30px;
    padding:7px 10px;
    background:#123d2c;
    border:1px solid #35c477;
    color:#bff3d4;
    font-size:9px;
}
.qc-existing-report-approve .add-job-button:hover{background:#19543c;color:#fff}


/* MAINTENANCE CAR / PROCEDURE WORKFLOW */
.maintenance-request-row{position:relative}.maintenance-request-main-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;color:inherit;text-decoration:none;min-width:0}.maintenance-status-icon{display:grid;place-items:center;width:32px;height:32px;margin:0 0 5px auto;border:1px solid #315064;background:#071018;color:#4db3ff;font-size:18px}.maintenance-status-in-progress .maintenance-status-icon{color:#ffb347;border-color:#8c652c}.maintenance-status-waiting-parts .maintenance-status-icon{color:#d4b6ff;border-color:#76549b}.maintenance-status-resolved .maintenance-status-icon,.maintenance-status-closed .maintenance-status-icon{color:#35c477;border-color:#2b7650}.maintenance-report-link{position:absolute;right:12px;bottom:10px}
.machine-outage-action{margin-bottom:12px}.machine-outage-action .workflow-danger-button[disabled]{opacity:.55;cursor:not-allowed}.maintenance-status-form{padding-top:12px;border-top:1px solid #263746}
.maintenance-steps-panel{margin-top:14px}.maintenance-step-timeline{display:grid;gap:9px;margin:14px 0 18px}.maintenance-step-card{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:13px;border:1px solid #263746;background:#09151e}.maintenance-step-number{display:grid;place-items:center;width:38px;height:38px;border:1px solid #4db3ff;color:#4db3ff;font-size:18px;font-weight:900}.maintenance-step-card>div>strong{font-size:12px}.maintenance-step-card dl{display:grid;grid-template-columns:110px 1fr;gap:4px 10px;margin-top:9px;font-size:10px}.maintenance-step-card dt{color:#8297a4;text-transform:uppercase;font-size:8px;font-weight:900;letter-spacing:.6px}.maintenance-step-card dd{color:#d8e2e8}.maintenance-step-card small{display:block;margin-top:9px;color:#8fa1af;font-size:9px}.maintenance-step-form{margin-top:14px;padding:14px;border:1px dashed #315064;background:#08141c}.maintenance-status-timeline{display:grid;gap:0}.maintenance-status-timeline>div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #263746}.maintenance-status-timeline b{color:#4db3ff}.maintenance-status-timeline span{font-size:10px;color:#9aadb8}
.maintenance-report-body{background:#d9dde0!important;color:#111!important}.maintenance-report-toolbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;gap:10px;padding:12px 24px;background:#071018;border-bottom:1px solid #263746}.maintenance-report-sheet{width:210mm;min-height:297mm;margin:20px auto;background:#fff;padding:14mm 14mm 12mm;box-shadow:0 5px 25px rgba(0,0,0,.25);font-family:Arial,Helvetica,sans-serif;color:#101417}.maintenance-report-sheet>header{display:flex;justify-content:space-between;gap:20px;padding-bottom:10px;border-bottom:3px solid #111}.maintenance-report-sheet>header span{font-size:9px;font-weight:900;letter-spacing:1px}.maintenance-report-sheet>header h1{font-size:24px;margin:3px 0}.maintenance-report-sheet>header p{font-size:10px}.maintenance-report-number{text-align:right}.maintenance-report-number b,.maintenance-report-number span{display:block}.maintenance-report-number b{font-size:15px}.maintenance-report-number span{margin-top:4px;font-size:9px}.maintenance-report-meta{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #777;border-top:0}.maintenance-report-meta div{padding:7px;border-right:1px solid #aaa;border-bottom:1px solid #aaa}.maintenance-report-meta div:nth-child(3n){border-right:0}.maintenance-report-meta span,.maintenance-report-signoff span{display:block;font-size:7px;font-weight:900;text-transform:uppercase;color:#555}.maintenance-report-meta strong,.maintenance-report-signoff strong{display:block;margin-top:3px;font-size:10px}.maintenance-report-section{margin-top:12px}.maintenance-report-section h2{padding:5px 7px;background:#e8ecef;border:1px solid #888;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.maintenance-report-section>p,.maintenance-report-section>small{font-size:9px;line-height:1.45}.maintenance-report-section>p{padding:7px;border:1px solid #aaa;border-top:0}.maintenance-report-section>small{display:block;padding:0 7px 7px;border:1px solid #aaa;border-top:0;color:#555}.maintenance-report-section table{width:100%;border-collapse:collapse;font-size:8px}.maintenance-report-section th,.maintenance-report-section td{padding:5px;border:1px solid #999;text-align:left;vertical-align:top}.maintenance-report-step{border:1px solid #999;border-top:0;padding:7px}.maintenance-report-step h3{font-size:10px;margin-bottom:6px}.maintenance-report-step-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.maintenance-report-step-grid div{border:1px solid #bbb;padding:5px}.maintenance-report-step-grid span{display:block;font-size:7px;font-weight:900;text-transform:uppercase;color:#555}.maintenance-report-step-grid p{font-size:8px;line-height:1.35;margin-top:3px}.maintenance-report-step footer{margin-top:5px;font-size:7px;color:#555}.maintenance-report-signoff{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;margin-top:15px;border:1px solid #777}.maintenance-report-signoff div{padding:7px;border-right:1px solid #aaa}.maintenance-report-signoff div:last-child{border-right:0}.maintenance-report-footer{margin-top:14px;padding-top:6px;border-top:1px solid #aaa;font-size:7px;color:#555;text-align:center}
@media print{.no-print,.sidebar{display:none!important}.mes-layout{display:block!important}.maintenance-report-body{background:#fff!important}.maintenance-report-sheet{width:auto;min-height:0;margin:0;box-shadow:none;padding:10mm}.maintenance-report-step{break-inside:avoid}.maintenance-report-section{break-inside:auto}}
@media(max-width:800px){.maintenance-request-main-link{grid-template-columns:1fr}.maintenance-report-link{position:static;margin-top:8px}.maintenance-step-card{grid-template-columns:1fr}.maintenance-step-card dl,.maintenance-status-timeline{grid-template-columns:1fr}.maintenance-report-sheet{width:100%;margin:0;padding:14px}.maintenance-report-meta,.maintenance-report-step-grid,.maintenance-report-signoff{grid-template-columns:1fr}}


/* MAINTENANCE REQUEST TYPE SPLIT */
.maintenance-request-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.maintenance-request-type-card{display:grid;grid-template-columns:54px 1fr;gap:14px;align-items:center;text-align:left;padding:20px;border:1px solid #263746;background:#0d1822;color:#eef4f8;cursor:pointer}
.maintenance-request-type-card:hover,.maintenance-request-type-card.selected{border-color:#4db3ff;background:#102230;box-shadow:inset 3px 0 #2496ff}
.maintenance-request-type-card h2{font-size:20px;margin-bottom:5px}.maintenance-request-type-card p{color:#8fa1af;font-size:11px;line-height:1.5}
.maintenance-request-type-icon{display:grid;place-items:center;width:50px;height:50px;border:1px solid #315064;background:#071018;color:#4db3ff;font-size:25px}
.maintenance-request-form-panel[hidden],.request-fields[hidden]{display:none!important}
.maintenance-request-selected{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid #263746}.maintenance-request-selected .eyebrow{margin:0}.maintenance-request-selected h2{font-size:17px;margin-right:auto}
.power-tool-assessment{display:inline-flex;flex-direction:column;gap:3px;margin-bottom:12px;padding:9px 12px;border:1px solid #315064;background:#08141c}.power-tool-assessment span{font-size:8px;font-weight:900;letter-spacing:1px;text-transform:uppercase;color:#8fa1af}.power-tool-assessment strong{font-size:11px;color:#4db3ff}
@media(max-width:760px){.maintenance-request-type-grid{grid-template-columns:1fr}}


/* SCHEDULED MAINTENANCE RESPONSIBILITIES + PROCESS NOTIFICATIONS */
.maintenance-step-builder{border:1px solid #263746;padding:12px;background:#08141c}
.maintenance-step-builder-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.maintenance-step-builder-head>span{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.9px;color:#8fa1af}
.maintenance-step-rows{display:grid;gap:7px}.maintenance-step-row{display:grid;grid-template-columns:minmax(0,1fr) 220px 32px;gap:7px;align-items:center}.maintenance-step-row input,.maintenance-step-row select{width:100%;padding:9px;border:1px solid #2a4050;background:#071018;color:#eef4f8;font-size:10px}.maintenance-step-remove{height:32px;border:1px solid #58313a;background:#211116;color:#ff7777;font-size:18px;cursor:pointer}
.maintenance-cadence-label{display:block;margin-top:4px;color:#8296a3;font-size:9px}.maintenance-check-card.maintenance-overdue{border-color:#e94e4e;box-shadow:inset 4px 0 #e94e4e}.maintenance-check-card.maintenance-due{border-color:#e0a82e;box-shadow:inset 4px 0 #e0a82e}.maintenance-overdue-status{background:#4d1717!important;color:#ffb1b1!important}.maintenance-due-status{background:#4a3810!important;color:#ffd978!important}.maintenance-group-complete{padding:12px;border:1px solid #2b5b45;background:#0c2118}.maintenance-group-complete strong,.maintenance-group-complete span{display:block}.maintenance-group-complete strong{color:#83e7ac}.maintenance-group-complete span{margin-top:4px;color:#8fa1af;font-size:10px}.active-filter{border-color:#4db3ff!important;color:#fff!important}
.process-icon-button{position:relative}
.process-maintenance-gear{position:absolute;right:-5px;top:-6px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;border:2px solid #071018;font-size:11px;font-weight:900;line-height:1;z-index:6;box-shadow:0 0 7px rgba(0,0,0,.65)}
.maintenance-schedule-due .process-maintenance-gear{background:#e7ad27;color:#1d1605}.maintenance-schedule-overdue .process-maintenance-gear{background:#e54d4d;color:#fff}
.maintenance-schedule-due{box-shadow:0 0 0 1px rgba(231,173,39,.55)!important}.maintenance-schedule-overdue{box-shadow:0 0 0 1px rgba(229,77,77,.75),0 0 8px rgba(229,77,77,.3)!important}
@media(max-width:760px){.maintenance-step-row{grid-template-columns:1fr}.maintenance-step-remove{width:100%}}
