/* BuildSuite · Custom software by Jason Sickles */
:root {
    --bg: #f4f6f8;
    --panel: #ffffff;
    --text: #18212f;
    --muted: #667085;
    --border: #dfe4ea;
    --primary: #d56a1f;
    --primary-dark: #a94d10;
    --nav: #20262e;
    --nav-soft: #2c333d;
    --success: #18794e;
    --danger: #b42318;
    --warning: #b54708;
    --shadow: 0 12px 28px rgba(25, 35, 45, .08);
    --radius: 14px;
}

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    background: var(--bg);
}

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

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select,
textarea {
    font: inherit;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

h1,
h2,
h3,
p {
    margin-top: 0;
}

h1 {
    margin-bottom: .35rem;
    font-size: clamp(1.7rem, 3vw, 2.35rem);
    letter-spacing: -.035em;
}

h2 {
    margin-bottom: .35rem;
    font-size: 1.2rem;
}

code {
    padding: .15rem .35rem;
    border-radius: 5px;
    background: #eef1f4;
}

.muted {
    color: var(--muted);
}

.eyebrow {
    margin-bottom: .35rem;
    color: var(--primary-dark);
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.btn {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    padding: .65rem 1rem;
    border: 1px solid transparent;
    border-radius: 9px;
    cursor: pointer;
    font-weight: 750;
    transition: transform .15s ease, background .15s ease, border-color .15s ease;
}

.btn:hover:not(:disabled) {
    transform: translateY(-1px);
}

.btn:disabled {
    cursor: not-allowed;
    opacity: .55;
}

.btn-primary {
    color: #fff;
    background: var(--primary);
}

.btn-primary:hover:not(:disabled) {
    background: var(--primary-dark);
}

.btn-secondary {
    color: var(--text);
    border-color: var(--border);
    background: #fff;
}


.btn-compact {
    min-height: 32px;
    padding: .35rem .6rem;
    font-size: .8rem;
}

.btn-small {
    min-height: 36px;
    padding: .45rem .7rem;
    font-size: .8rem;
}

.btn-danger {
    color: #fff;
    border-color: #8f1d14;
    background: var(--danger);
}

.btn-danger:hover:not(:disabled) {
    background: #8f1d14;
}

.status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .3rem .5rem;
    color: #344054;
    border-radius: 999px;
    background: #edf0f3;
    font-size: .72rem;
    font-weight: 800;
}

.status-badge.warning {
    color: #805000;
    background: #fff4cf;
}

.btn-block {
    width: 100%;
}

.alert {
    margin: 0 0 1rem;
    padding: .85rem 1rem;
    border: 1px solid;
    border-radius: 9px;
    font-size: .93rem;
}

.alert-success {
    color: #0f5132;
    border-color: #badbcc;
    background: #d1e7dd;
}

.alert-danger {
    color: #842029;
    border-color: #f5c2c7;
    background: #f8d7da;
}

.alert-info {
    color: #055160;
    border-color: #b6effb;
    background: #cff4fc;
}

.alert-warning {
    color: #664d03;
    border-color: #ffecb5;
    background: #fff3cd;
}

.form-stack {
    display: grid;
    gap: 1rem;
}

.form-stack label {
    display: grid;
    gap: .4rem;
    color: #344054;
    font-size: .88rem;
    font-weight: 700;
}

.form-stack input,
.inline-form input,
.search-field input {
    width: 100%;
    min-height: 44px;
    padding: .65rem .75rem;
    color: var(--text);
    border: 1px solid #cfd6df;
    border-radius: 8px;
    outline: none;
    background: #fff;
}

.form-stack input:focus,
.inline-form input:focus,
.search-field input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(213, 106, 31, .14);
}

.form-stack small {
    color: var(--muted);
    font-weight: 500;
}

.check-row {
    display: flex !important;
    align-items: center;
    gap: .55rem !important;
    cursor: pointer;
}

.check-row input {
    width: 17px;
    min-height: 17px;
}

.app-shell {
    min-height: 100vh;
}

.sidebar {
    position: fixed;
    z-index: 50;
    inset: 0 auto 0 0;
    display: flex;
    width: 255px;
    flex-direction: column;
    color: #eef2f6;
    background: var(--nav);
    box-shadow: 12px 0 30px rgba(0, 0, 0, .08);
}

.sidebar-brand {
    display: flex;
    min-height: 76px;
    align-items: center;
    gap: .75rem;
    padding: 1rem 1.1rem;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.sidebar-brand span:last-child {
    display: grid;
}

.sidebar-brand small,
.sidebar-footer small {
    color: #9ba6b2;
    font-size: .75rem;
}

.brand-mark {
    display: grid;
    width: 54px;
    height: 54px;
    flex: 0 0 auto;
    place-items: center;
    color: #fff;
    border-radius: 16px;
    background: linear-gradient(135deg, #e78237, #ad4d0c);
    box-shadow: 0 10px 24px rgba(213, 106, 31, .24);
    font-weight: 900;
    letter-spacing: -.04em;
}

.brand-mark.small {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    font-size: .9rem;
}

.sidebar-nav {
    display: grid;
    gap: .35rem;
    padding: 1rem .75rem;
}

.sidebar-nav a {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .72rem .8rem;
    color: #cbd3dc;
    border-radius: 9px;
    font-weight: 650;
}

.sidebar-nav a span {
    width: 1.2rem;
    text-align: center;
}

.sidebar-nav a:hover,
.sidebar-nav a.active {
    color: #fff;
    background: var(--nav-soft);
}

.sidebar-nav a.active {
    box-shadow: inset 3px 0 var(--primary);
}

.sidebar-footer {
    display: grid;
    gap: .85rem;
    margin-top: auto;
    padding: 1rem;
    border-top: 1px solid rgba(255, 255, 255, .08);
}

.sidebar-footer > a {
    display: flex;
    align-items: center;
    gap: .65rem;
}

.sidebar-footer > a > span:last-child {
    display: grid;
}

.avatar {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    color: #fff;
    border-radius: 50%;
    background: var(--primary);
    font-weight: 800;
}

.logout-button {
    width: 100%;
    padding: .55rem;
    color: #cbd3dc;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 8px;
    cursor: pointer;
    background: transparent;
}

.logout-button:hover {
    color: #fff;
    background: rgba(255, 255, 255, .06);
}

.main-column {
    min-height: 100vh;
    margin-left: 255px;
}

.topbar {
    position: sticky;
    z-index: 30;
    top: 0;
    display: flex;
    min-height: 64px;
    align-items: center;
    gap: .85rem;
    padding: .7rem 1.5rem;
    border-bottom: 1px solid var(--border);
    background: rgba(255, 255, 255, .94);
    backdrop-filter: blur(10px);
}

.topbar > div {
    display: grid;
}

.topbar small {
    color: var(--muted);
    font-size: .75rem;
}

.topbar-user {
    margin-left: auto;
    color: var(--muted);
    font-size: .88rem;
    font-weight: 700;
}

.menu-button {
    display: none;
    width: 40px;
    height: 40px;
    border: 1px solid var(--border);
    border-radius: 8px;
    cursor: pointer;
    background: #fff;
}

.content {
    width: min(1600px, 100%);
    min-height: calc(100vh - 116px);
    margin: 0 auto;
    padding: 1.5rem;
}

.app-footer {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.5rem;
    color: var(--muted);
    border-top: 1px solid var(--border);
    font-size: .78rem;
}

.page-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.page-heading p:last-child {
    margin-bottom: 0;
}


.page-actions,
.page-heading-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: .55rem;
}

.metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.metric-card,
.settings-card {
    display: grid;
    gap: .25rem;
    min-height: 135px;
    padding: 1.1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--panel);
    box-shadow: var(--shadow);
}

.metric-card:hover {
    border-color: #c9d0d8;
    transform: translateY(-2px);
}

.metric-card span,
.settings-card span {
    color: var(--muted);
    font-size: .84rem;
    font-weight: 700;
}

.metric-card strong,
.settings-card strong {
    font-size: 2rem;
    letter-spacing: -.04em;
}

.metric-card small,
.settings-card small {
    color: var(--muted);
}

.metric-wide {
    grid-column: span 2;
}

.panel,
.spreadsheet-panel,
.filter-bar {
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--panel);
    box-shadow: var(--shadow);
}

.panel {
    padding: 1.1rem;
}

.panel-heading {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.phase-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
}

.phase-item {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .8rem;
    border: 1px solid var(--border);
    border-radius: 10px;
}

.phase-item > span {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    color: #fff;
    border-radius: 50%;
    background: #9aa4af;
    font-weight: 800;
}

.phase-item.complete > span {
    background: var(--success);
}

.phase-item div {
    display: grid;
}

.phase-item small {
    color: var(--muted);
}

.filter-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .75rem;
    padding: .75rem;
    box-shadow: none;
}

.search-field {
    width: min(460px, 100%);
}

.filter-note {
    color: var(--muted);
    font-size: .84rem;
    font-weight: 700;
}

.inline-form {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.inline-form input {
    width: 105px;
}

.settings-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.detail-list {
    display: grid;
    gap: 0;
    margin: 0;
}

.detail-list > div {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 1rem;
    padding: .85rem 0;
    border-bottom: 1px solid var(--border);
}

.detail-list > div:last-child {
    border-bottom: 0;
}

.detail-list dt {
    color: var(--muted);
    font-weight: 700;
}

.detail-list dd {
    margin: 0;
    font-weight: 650;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

@media (max-width: 1050px) {
    .metric-grid,
    .settings-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

@media (max-width: 780px) {
    .sidebar {
        transform: translateX(-100%);
        transition: transform .2s ease;
    }

    .sidebar.open {
        transform: translateX(0);
    }

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

    .menu-button {
        display: grid;
        place-items: center;
    }

    .topbar {
        padding-inline: .9rem;
    }

    .content {
        padding: 1rem;
    }

    .page-heading,
    .filter-bar,
    .app-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .metric-grid,
    .settings-grid,
    .phase-list {
        grid-template-columns: 1fr;
    }

    .metric-wide {
        grid-column: auto;
    }

    .inline-form {
        width: 100%;
    }

    .inline-form label,
    .inline-form input {
        width: 100%;
    }
}



body.app-page {
    overflow-x: hidden;
    font-family: Calibri, "Segoe UI", Arial, sans-serif;
    font-size: 10pt;
    line-height: 1.2;
}

body.app-page .main-column {
    min-width: 0;
}

body.app-page .content {
    width: 100%;
    max-width: none;
    min-height: calc(100vh - 91px);
    padding: .55rem .65rem;
    overflow-x: hidden;
}

body.app-page .topbar {
    min-height: 46px;
    padding: .35rem .7rem;
}

body.app-page .topbar strong {
    font-size: 10.5pt;
    font-weight: 700;
}

body.app-page .topbar small,
body.app-page .topbar-user {
    font-size: 9pt;
}

body.app-page .page-heading {
    gap: .65rem;
    margin-bottom: .45rem;
}

body.app-page .page-heading h1 {
    margin-bottom: .1rem;
    font-size: 16pt;
    font-weight: 700;
    letter-spacing: 0;
}

body.app-page .page-heading .eyebrow {
    margin-bottom: .1rem;
    font-size: 8pt;
    font-weight: 700;
    letter-spacing: .06em;
}

body.app-page .page-heading .muted {
    margin-bottom: 0;
    font-size: 9pt;
}

body.app-page .btn {
    min-height: 29px;
    padding: .28rem .62rem;
    border-radius: 5px;
    font-size: 9.5pt;
    font-weight: 700;
}

body.app-page .filter-bar {
    gap: .4rem;
    margin-bottom: .35rem;
    padding: .35rem;
    border-radius: 6px;
}

body.app-page .search-field input,
body.app-page .inline-form input {
    min-height: 29px;
    padding: .25rem .45rem;
    border-radius: 4px;
    font-size: 10pt;
}

body.app-page .app-footer {
    min-height: 30px;
    padding: .4rem .7rem;
    font-size: 8.5pt;
}

body.app-page .panel,
body.app-page .spreadsheet-panel,
body.app-page .filter-bar {
    box-shadow: 0 2px 8px rgba(25, 35, 45, .05);
}

@media (max-width: 780px) {
    body.app-page .content {
        padding: .4rem;
    }
}



.phase-list-six {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1050px) {
    .phase-list-six {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .phase-list-six {
        grid-template-columns: 1fr;
    }
}



html.privacy-locking .content,
html.privacy-locking .sidebar,
html.privacy-locking .app-footer {
    pointer-events: none;
    filter: blur(7px);
    user-select: none;
}

html.privacy-locking::after {
    position: fixed;
    z-index: 2000;
    inset: 0;
    display: grid;
    place-items: center;
    content: "🔒 Locking privacy screen…";
    color: #fff;
    background: rgba(15, 23, 42, .78);
    font-size: 14pt;
    font-weight: 700;
}


.topbar .privacy-lock-button {
    display: inline-grid;
    grid-template-columns: auto auto;
    grid-template-rows: auto auto;
    min-width: 170px;
    margin-left: auto;
    padding: .22rem .48rem;
    color: #344054;
    border: 1px solid #cfd6df;
    border-radius: 5px;
    cursor: pointer;
    background: #fff;
    font-family: Calibri, "Segoe UI", Arial, sans-serif;
    line-height: 1.05;
    text-align: left;
    text-decoration: none;
}

.topbar .privacy-lock-button > span {
    grid-row: 1 / 3;
    align-self: center;
    margin-right: .38rem;
    font-size: 13pt;
}

.topbar .privacy-lock-button strong {
    font-size: 9pt;
}

.topbar .privacy-lock-button small {
    font-size: 7.5pt;
}

.topbar .privacy-lock-button.locked {
    color: #8f1d14;
    border-color: #efb2ac;
    background: #fff1f0;
}

.topbar .privacy-lock-button.unlocked {
    color: #146c43;
    border-color: #a9d5bb;
    background: #edf8f1;
}

.topbar .privacy-lock-button.setup {
    color: #755600;
    border-color: #e4cf82;
    background: #fff8d9;
}

.topbar .privacy-lock-button:hover {
    filter: brightness(.98);
}

.topbar .privacy-lock-button + .topbar-user {
    margin-left: 0;
}

.privacy-modal[hidden] {
    display: none !important;
}

.privacy-modal {
    position: fixed;
    z-index: 5000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 16px;
    isolation: isolate;
}

.privacy-modal-backdrop {
    position: absolute;
    z-index: 0;
    inset: 0;
    background: rgba(15, 23, 42, .64);
    backdrop-filter: blur(3px);
}

.privacy-modal-card {
    position: relative;
    z-index: 1;
    width: min(440px, calc(100vw - 32px));
    max-height: calc(100vh - 32px);
    overflow: hidden;
    color: #18212f;
    border: 1px solid #cfd6df;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .34);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.privacy-modal-card > form {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    margin: 0;
}

.privacy-modal-card > form > header,
.privacy-modal-card > form > footer {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin: 0;
    padding: .8rem .9rem;
    background: #fff;
}

.privacy-modal-card > form > header {
    justify-content: space-between;
    border-bottom: 1px solid #e2e6ea;
}

.privacy-modal-card > form > footer {
    justify-content: flex-end;
    border-top: 1px solid #e2e6ea;
    background: #f8fafc;
}

.privacy-modal-card > form > header > div {
    min-width: 0;
}

.privacy-modal-card h2 {
    margin: 0;
    color: #18212f;
    font-size: 15pt;
    line-height: 1.2;
}

.privacy-modal-card p {
    margin: .12rem 0 0;
    color: #667085;
    font-size: 9pt;
    line-height: 1.35;
}

.privacy-modal-card .eyebrow {
    margin-bottom: .15rem;
    color: var(--primary-dark);
    font-size: 8pt;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.privacy-modal-card .modal-close {
    display: grid;
    width: 30px;
    height: 30px;
    flex: 0 0 auto;
    place-items: center;
    padding: 0;
    color: #475467;
    border: 1px solid #d7dde5;
    border-radius: 5px;
    cursor: pointer;
    background: #fff;
    font-size: 16pt;
    line-height: 1;
}

.privacy-modal-card .modal-close:hover {
    color: #fff;
    border-color: var(--primary-dark);
    background: var(--primary);
}

.privacy-modal-body {
    display: grid;
    gap: .65rem;
    overflow: auto;
    padding: .9rem;
}

.privacy-modal-body label {
    display: grid;
    gap: .3rem;
    color: #344054;
    font-size: 9pt;
    font-weight: 700;
}

.privacy-modal-body input {
    width: 100%;
    height: 44px;
    padding: .35rem .55rem;
    color: #18212f;
    border: 1px solid #cfd6df;
    border-radius: 6px;
    outline: none;
    background: #fff;
    font-size: 18pt;
    font-weight: 700;
    letter-spacing: .32em;
    text-align: center;
}

.privacy-modal-body input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(213, 106, 31, .14);
}

.privacy-modal-body small {
    color: #667085;
    font-size: 8pt;
    font-weight: 400;
    line-height: 1.35;
}

.privacy-modal-card .btn {
    min-height: 32px;
    padding: .38rem .75rem;
    border-radius: 5px;
    font-size: 9pt;
}

body.privacy-locked .content > .alert {
    display: none !important;
}

@media (max-width: 520px) {
    .privacy-modal {
        align-items: center;
        padding: 10px;
    }

    .privacy-modal-card {
        width: min(100%, 440px);
        max-height: calc(100vh - 20px);
    }

    .privacy-modal-card > form > header,
    .privacy-modal-card > form > footer {
        padding: .7rem;
    }

    .privacy-modal-card > form > footer {
        flex-wrap: wrap;
    }

    .privacy-modal-card > form > footer .btn {
        flex: 1 1 auto;
    }
}

.privacy-setting-status {
    padding: .24rem .5rem;
    border-radius: 999px;
    font-size: 8.5pt;
    font-weight: 700;
}

.privacy-setting-status.enabled {
    color: #146c43;
    background: #dff3e6;
}

.privacy-setting-status.disabled {
    color: #755600;
    background: #fff3cd;
}

.privacy-pin-grid {
    align-items: end;
}

.privacy-information {
    display: grid;
    gap: .18rem;
    margin-top: .7rem;
    padding: .55rem .65rem;
    border: 1px solid #d9dee5;
    border-radius: 5px;
    background: #f7f8fa;
}

.privacy-information span {
    color: #667085;
}

body.privacy-locked .sidebar-footer > a {
    pointer-events: none;
    opacity: .72;
}

@media (max-width: 780px) {
    .topbar .privacy-lock-button {
        min-width: 42px;
        grid-template-columns: auto;
        padding: .3rem;
    }

    .topbar .privacy-lock-button > span {
        grid-row: auto;
        margin: 0;
    }

    .topbar .privacy-lock-button strong,
    .topbar .privacy-lock-button small {
        display: none;
    }
}





.sidebar,
.main-column {
    transition: width .2s ease, margin-left .2s ease, transform .2s ease;
}

.menu-button {
    display: grid;
    flex: 0 0 40px;
    place-items: center;
    font-size: 14pt;
    line-height: 1;
}

.sidebar-backdrop {
    position: fixed;
    z-index: 45;
    inset: 0;
    display: none;
    padding: 0;
    border: 0;
    cursor: pointer;
    background: rgba(15, 23, 42, .5);
}

body.sidebar-collapsed .sidebar {
    width: 64px;
}

body.sidebar-collapsed .main-column {
    margin-left: 64px;
}

body.sidebar-collapsed .sidebar-brand {
    justify-content: center;
    gap: 0;
    padding-inline: .35rem;
}

body.sidebar-collapsed .sidebar-brand > span:last-child,
body.sidebar-collapsed .sidebar-footer > a > span:last-child {
    display: none;
}

body.sidebar-collapsed .sidebar-nav {
    padding-inline: .35rem;
}

body.sidebar-collapsed .sidebar-nav a {
    justify-content: center;
    gap: 0;
    padding-inline: .35rem;
    font-size: 0;
}

body.sidebar-collapsed .sidebar-nav a span {
    width: auto;
    font-size: 13pt;
}

body.sidebar-collapsed .sidebar-footer {
    padding-inline: .35rem;
}

body.sidebar-collapsed .sidebar-footer > a {
    justify-content: center;
}

body.sidebar-collapsed .logout-button {
    overflow: hidden;
    font-size: 0;
}

body.sidebar-collapsed .logout-button::before {
    content: "↪";
    font-size: 13pt;
}

@media (max-width: 780px) {
    .sidebar,
    body.sidebar-collapsed .sidebar {
        width: min(278px, 86vw);
        transform: translateX(-100%);
    }

    .sidebar.open,
    body.sidebar-mobile-open .sidebar {
        transform: translateX(0);
    }

    body.sidebar-collapsed .main-column,
    .main-column {
        margin-left: 0;
    }

    body.sidebar-mobile-open {
        overflow: hidden;
    }

    body.sidebar-mobile-open .sidebar-backdrop {
        display: block;
    }

    body.sidebar-collapsed .sidebar-brand {
        justify-content: flex-start;
        gap: .75rem;
        padding: 1rem 1.1rem;
    }

    body.sidebar-collapsed .sidebar-brand > span:last-child,
    body.sidebar-collapsed .sidebar-footer > a > span:last-child {
        display: grid;
    }

    body.sidebar-collapsed .sidebar-nav {
        padding: 1rem .75rem;
    }

    body.sidebar-collapsed .sidebar-nav a {
        justify-content: flex-start;
        gap: .75rem;
        padding: .72rem .8rem;
        font-size: inherit;
    }

    body.sidebar-collapsed .sidebar-nav a span {
        width: 1.2rem;
        font-size: inherit;
    }

    body.sidebar-collapsed .sidebar-footer {
        padding: 1rem;
    }

    body.sidebar-collapsed .sidebar-footer > a {
        justify-content: flex-start;
    }

    body.sidebar-collapsed .logout-button {
        font-size: inherit;
    }

    body.sidebar-collapsed .logout-button::before {
        content: none;
    }

    .topbar {
        gap: .45rem;
    }

    .topbar > div {
        min-width: 0;
        flex: 1 1 auto;
    }

    .topbar > div strong,
    .topbar > div small {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .topbar-user {
        display: none;
    }
}




.sidebar-nav {
    align-content: start;
    overflow-y: auto;
}

.sidebar-single-link,
.sidebar-module-link,
.sidebar-group-toggle {
    width: 100%;
}

.sidebar-group-toggle {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .72rem .8rem;
    color: #cbd3dc;
    border: 0;
    border-radius: 9px;
    cursor: pointer;
    background: transparent;
    text-align: left;
    font-weight: 700;
}

.sidebar-group-toggle:hover,
.sidebar-nav-group.open > .sidebar-group-toggle {
    color: #fff;
    background: var(--nav-soft);
}

.sidebar-link-icon {
    width: 1.2rem;
    flex: 0 0 1.2rem;
    text-align: center;
}

.sidebar-link-text {
    min-width: 0;
    flex: 1 1 auto;
}

.sidebar-group-chevron {
    margin-left: auto;
    transition: transform .16s ease;
}

.sidebar-nav-group.open .sidebar-group-chevron {
    transform: rotate(180deg);
}

.sidebar-subnav {
    display: none;
    gap: 2px;
    margin: 3px 0 5px 1.1rem;
    padding-left: .8rem;
    border-left: 1px solid rgba(255, 255, 255, .15);
}

.sidebar-nav-group.open .sidebar-subnav {
    display: grid;
}

.sidebar-subnav a {
    min-height: 34px;
    padding: .45rem .65rem;
    font-size: .84rem;
    font-weight: 600;
}

.sidebar-subnav a.active {
    box-shadow: inset 3px 0 var(--primary);
}

.sidebar-module-link {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.sidebar-module-copy {
    display: grid;
    min-width: 0;
    line-height: 1.15;
}

.sidebar-module-copy small {
    color: #95a1ae;
    font-size: .68rem;
    font-weight: 500;
}

.settings-nav-link {
    margin-top: .35rem;
    border-top: 1px solid rgba(255, 255, 255, .08);
    border-radius: 0 0 9px 9px !important;
}

.future-module-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.future-module-grid .panel {
    min-height: 155px;
}

.future-module-grid p {
    margin: 0;
    color: var(--muted);
}

.module-status-badge {
    align-self: center;
    padding: .38rem .65rem;
    color: #805000;
    border: 1px solid #e3c774;
    border-radius: 999px;
    background: #fff4cf;
    font-size: .78rem;
    font-weight: 800;
}

.future-module-note {
    display: grid;
    gap: .2rem;
    margin-top: 1rem;
    border-left: 4px solid var(--primary);
}

.future-module-note span {
    color: var(--muted);
}

body.sidebar-collapsed .sidebar-group-toggle,
body.sidebar-collapsed .sidebar-module-link,
body.sidebar-collapsed .sidebar-single-link {
    justify-content: center;
    gap: 0;
    padding-inline: .35rem;
}

body.sidebar-collapsed .sidebar-link-text,
body.sidebar-collapsed .sidebar-module-copy,
body.sidebar-collapsed .sidebar-group-chevron {
    display: none;
}

body.sidebar-collapsed .sidebar-nav-group.open .sidebar-subnav {
    display: none;
}

@media (max-width: 900px) {
    .future-module-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 780px) {
    body.sidebar-collapsed .sidebar-group-toggle,
    body.sidebar-collapsed .sidebar-module-link,
    body.sidebar-collapsed .sidebar-single-link {
        justify-content: flex-start;
        gap: .75rem;
        padding: .72rem .8rem;
    }

    body.sidebar-collapsed .sidebar-link-text,
    body.sidebar-collapsed .sidebar-module-copy,
    body.sidebar-collapsed .sidebar-group-chevron {
        display: grid;
    }

    body.sidebar-collapsed .sidebar-group-chevron {
        display: block;
    }

    .sidebar-subnav {
        margin-left: 1.2rem;
    }
}



/* Keep all main navigation names on one horizontal line. */
.sidebar-nav .sidebar-link-text,
.sidebar-nav .sidebar-module-copy strong,
.sidebar-nav .sidebar-module-copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Restore the larger module icons used by the original navigation. */
.sidebar-nav .sidebar-link-icon {
    display: grid;
    width: 1.65rem;
    height: 1.65rem;
    flex: 0 0 1.65rem;
    place-items: center;
    font-size: 1.22rem;
    line-height: 1;
    text-align: center;
}

/*
 * The original rule ".sidebar-nav a span { width: 1.2rem; }" is intended
 * for icons. Override it for submenu text so labels are not squeezed into
 * a narrow icon-sized column.
 */
.sidebar-nav .sidebar-subnav a > span {
    display: block;
    width: auto;
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar-nav .sidebar-subnav a {
    width: 100%;
    min-width: 0;
    padding-right: .55rem;
}

.sidebar-group-toggle,
.sidebar-single-link,
.sidebar-module-link {
    min-height: 43px;
}

body.sidebar-collapsed .sidebar-nav .sidebar-link-icon {
    width: 1.8rem;
    height: 1.8rem;
    flex-basis: 1.8rem;
    font-size: 1.34rem;
}

@media (max-width: 780px) {
    .sidebar-nav .sidebar-link-icon,
    body.sidebar-collapsed .sidebar-nav .sidebar-link-icon {
        width: 1.65rem;
        height: 1.65rem;
        flex-basis: 1.65rem;
        font-size: 1.22rem;
    }

    .sidebar-nav .sidebar-subnav a > span {
        width: auto;
        white-space: nowrap;
    }
}



/*
 * Override the original generic ".sidebar-nav a span" icon rule.
 * Main labels must fill the remaining width and align beside their icons.
 */
.sidebar-nav a.sidebar-single-link,
.sidebar-nav a.sidebar-module-link,
.sidebar-nav .sidebar-group-toggle {
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 43px;
    align-items: center;
    justify-content: flex-start;
    gap: .65rem;
    padding: .68rem .72rem;
    text-align: left;
}

.sidebar-nav a.sidebar-single-link > .sidebar-link-icon,
.sidebar-nav a.sidebar-module-link > .sidebar-link-icon,
.sidebar-nav .sidebar-group-toggle > .sidebar-link-icon {
    display: grid;
    width: 1.65rem;
    height: 1.65rem;
    min-width: 1.65rem;
    flex: 0 0 1.65rem;
    place-items: center;
    font-size: 1.22rem;
    line-height: 1;
    text-align: center;
}

.sidebar-nav a.sidebar-single-link > .sidebar-link-text,
.sidebar-nav a.sidebar-module-link > .sidebar-link-text,
.sidebar-nav .sidebar-group-toggle > .sidebar-link-text {
    display: block;
    width: auto;
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
    color: inherit;
    font-size: inherit;
    font-weight: 700;
    line-height: 1.15;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar-nav .sidebar-group-chevron {
    width: auto;
    min-width: auto;
    flex: 0 0 auto;
    margin-left: auto;
    text-align: center;
}

/* Submenu text stays left aligned and on one line. */
.sidebar-nav .sidebar-subnav a {
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: center;
    justify-content: flex-start;
    padding: .48rem .65rem;
    text-align: left;
}

.sidebar-nav .sidebar-subnav a > span {
    display: block;
    width: auto;
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Settings uses the same row layout as Dashboard and module links. */
.sidebar-nav .settings-nav-link {
    justify-content: flex-start;
    text-align: left;
}

/* Only true collapsed desktop mode centers icons and hides labels. */
body.sidebar-collapsed .sidebar-nav a.sidebar-single-link,
body.sidebar-collapsed .sidebar-nav a.sidebar-module-link,
body.sidebar-collapsed .sidebar-nav .sidebar-group-toggle {
    justify-content: center;
    gap: 0;
    padding-inline: .35rem;
}

body.sidebar-collapsed .sidebar-nav a.sidebar-single-link > .sidebar-link-text,
body.sidebar-collapsed .sidebar-nav a.sidebar-module-link > .sidebar-link-text,
body.sidebar-collapsed .sidebar-nav .sidebar-group-toggle > .sidebar-link-text,
body.sidebar-collapsed .sidebar-nav .sidebar-group-chevron {
    display: none;
}

body.sidebar-collapsed .sidebar-nav a.sidebar-single-link > .sidebar-link-icon,
body.sidebar-collapsed .sidebar-nav a.sidebar-module-link > .sidebar-link-icon,
body.sidebar-collapsed .sidebar-nav .sidebar-group-toggle > .sidebar-link-icon {
    width: 1.8rem;
    height: 1.8rem;
    min-width: 1.8rem;
    flex-basis: 1.8rem;
    font-size: 1.34rem;
}

@media (max-width: 780px) {
    body.sidebar-collapsed .sidebar-nav a.sidebar-single-link,
    body.sidebar-collapsed .sidebar-nav a.sidebar-module-link,
    body.sidebar-collapsed .sidebar-nav .sidebar-group-toggle,
    .sidebar-nav a.sidebar-single-link,
    .sidebar-nav a.sidebar-module-link,
    .sidebar-nav .sidebar-group-toggle {
        justify-content: flex-start;
        gap: .65rem;
        padding: .68rem .72rem;
        text-align: left;
    }

    body.sidebar-collapsed .sidebar-nav a.sidebar-single-link > .sidebar-link-text,
    body.sidebar-collapsed .sidebar-nav a.sidebar-module-link > .sidebar-link-text,
    body.sidebar-collapsed .sidebar-nav .sidebar-group-toggle > .sidebar-link-text,
    body.sidebar-collapsed .sidebar-nav .sidebar-group-chevron {
        display: block;
    }

    body.sidebar-collapsed .sidebar-nav a.sidebar-single-link > .sidebar-link-icon,
    body.sidebar-collapsed .sidebar-nav a.sidebar-module-link > .sidebar-link-icon,
    body.sidebar-collapsed .sidebar-nav .sidebar-group-toggle > .sidebar-link-icon {
        width: 1.65rem;
        height: 1.65rem;
        min-width: 1.65rem;
        flex-basis: 1.65rem;
        font-size: 1.22rem;
    }
}




.account-security-panel {
    margin-top: 1rem;
}

.account-security-panel .panel-heading {
    align-items: flex-start;
}

.account-pin-form {
    gap: .9rem;
}

.account-pin-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: .8rem;
    border-top: 1px solid var(--border);
}

.account-pin-footer p {
    max-width: 720px;
    margin: 0;
    color: var(--muted);
    font-size: .86rem;
}

.account-pin-footer kbd {
    display: inline-block;
    min-width: 1.8rem;
    padding: .08rem .3rem;
    color: var(--text);
    border: 1px solid var(--border);
    border-bottom-width: 2px;
    border-radius: 4px;
    background: var(--panel-soft, #f7f8fa);
    font: inherit;
    font-weight: 750;
    text-align: center;
}

.privacy-information a {
    width: fit-content;
    margin-top: .2rem;
    font-weight: 750;
}

@media (max-width: 780px) {
    .account-pin-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .account-pin-footer .btn {
        width: 100%;
    }
}


.approved-builds-nav-link { position: relative; }
.sidebar-count-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.18rem;
    height: 1.18rem;
    margin-left: auto;
    padding: 0 .28rem;
    border-radius: 999px;
    color: #fff;
    background: var(--danger, #d92d20);
    font-size: .68rem;
    font-weight: 900;
    line-height: 1;
}


.sidebar-nav .sidebar-subnav a > span.sidebar-count-badge {
    display: inline-flex !important;
    box-sizing: border-box;
    width: 1.2rem !important;
    min-width: 1.2rem !important;
    max-width: 1.2rem !important;
    height: 1.2rem !important;
    min-height: 1.2rem !important;
    flex: 0 0 1.2rem !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: auto !important;
    padding: 0 !important;
    overflow: visible !important;
    border-radius: 999px !important;
    font-size: .68rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}
.sidebar-nav .sidebar-subnav a > span.sidebar-count-badge.is-wide {
    width: auto !important;
    min-width: 1.55rem !important;
    max-width: none !important;
    height: 1.2rem !important;
    min-height: 1.2rem !important;
    flex: 0 0 auto !important;
    padding: 0 .3rem !important;
    border-radius: 999px !important;
}


.sidebar-nav .sidebar-subnav-divider {
    width: calc(100% - .55rem);
    height: 1px;
    margin: .28rem 0 .28rem .15rem;
    background: rgba(255, 255, 255, .13);
    border: 0;
    pointer-events: none;
}
body.theme-cobalt .sidebar-nav .sidebar-subnav-divider,
body.theme-yoders .sidebar-nav .sidebar-subnav-divider,
body.theme-aqua .sidebar-nav .sidebar-subnav-divider,
body.theme-volt .sidebar-nav .sidebar-subnav-divider {
    background: color-mix(in srgb, var(--primary) 28%, rgba(255, 255, 255, .10));
}



.app-footer{align-items:center!important;flex-direction:row!important;justify-content:space-between!important;flex-wrap:nowrap!important}
.app-footer span{white-space:nowrap}
@media(max-width:520px){.app-footer{gap:.5rem!important;padding:.55rem .75rem!important;font-size:.68rem!important}.app-footer span:last-child{text-align:right}}



.inspection-completion-cell{vertical-align:middle}.inspection-completion-button,.inspection-completion-label{display:inline-flex;width:100%;min-height:35px;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--warning-theme) 48%,var(--border));border-radius:8px;background:var(--warning-bg);color:var(--warning-theme);font:inherit;font-size:.76rem;font-weight:900;line-height:1.1;text-align:center}.inspection-completion-button{cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.05)}.inspection-completion-button:hover,.inspection-completion-button:focus-visible{background:color-mix(in srgb,var(--warning-theme) 13%,var(--surface));border-color:var(--warning-theme)}.workflow-modal-body select#completionDestination{width:100%;min-height:42px;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:8px 10px;color:var(--ink-900)}


.topbar-notification-center { position: static; margin-left: auto; }
.topbar .privacy-lock-button + .topbar-notification-center { margin-left: 0; }
.topbar-notification-center + .topbar-user { margin-left: 0; }
.topbar-notification-button {
    list-style: none;
    cursor: pointer;
    min-width: 42px;
    height: 42px;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--surface);
    color: var(--ink-900);
    user-select: none;
}
.topbar-notification-button > span { font-size: 1rem; }
.topbar-notification-button > b {
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--danger);
    color: #fff;
    font-size: .67rem;
    line-height: 1;
    font-weight: 850;
}
.topbar-notification-button[aria-expanded="true"] {
    border-color: var(--orange-600);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--orange-600) 18%, transparent);
}
.production-notification-backdrop {
    position: fixed;
    inset: 0;
    z-index: 180;
    border: 0;
    padding: 0;
    background: rgba(0, 0, 0, .45);
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
}
.production-notification-backdrop[hidden] { display: none !important; }
.production-notification-backdrop.is-open {
    opacity: 1;
    pointer-events: auto;
}
.production-notification-drawer {
    position: fixed;
    z-index: 181;
    top: 0;
    right: 0;
    left: auto;
    width: min(455px, calc(100vw - 26px));
    height: 100dvh;
    display: flex;
    flex-direction: column;
    border-left: 1px solid var(--line);
    background: var(--surface);
    color: var(--ink-900);
    box-shadow: -20px 0 52px rgba(0, 0, 0, .28);
    transform: translate3d(102%, 0, 0);
    visibility: hidden;
    will-change: transform;
    transition: transform .22s ease, visibility 0s linear .22s;
}
.production-notification-drawer.is-open {
    transform: translate3d(0, 0, 0);
    visibility: visible;
    transition: transform .22s ease;
}
.production-notification-drawer-header {
    flex: 0 0 auto;
    min-height: 72px;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border-bottom: 1px solid var(--line);
    background: var(--surface);
}
.production-notification-drawer-header > div { min-width: 0; }
.production-notification-drawer-header strong {
    display: block;
    font-size: 1.05rem;
    font-weight: 900;
    line-height: 1.2;
}
.production-notification-drawer-header small {
    display: block;
    margin-top: 3px;
    color: var(--ink-500);
    font-size: .74rem;
}
.production-notification-drawer-close {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: var(--soft-surface-2);
    color: var(--ink-900);
    font: inherit;
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
}
.production-notification-drawer-close:hover,
.production-notification-drawer-close:focus-visible {
    border-color: var(--orange-600);
    color: var(--orange-600);
}
.production-notification-drawer-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: var(--surface);
}
body.production-notification-drawer-open { overflow: hidden; padding-right: var(--production-notification-scrollbar-width, 0px); }
.topbar-notification-empty {
    padding: 34px 20px;
    color: var(--ink-500);
    text-align: center;
}
.topbar-notification-list { display: grid; }
.topbar-notification-item {
    position: relative;
    display: grid;
    gap: 10px;
    padding: 15px 18px 14px;
    border-bottom: 1px solid var(--line);
    background: var(--surface);
}
.topbar-notification-item:last-child { border-bottom: 0; }
.topbar-notification-item.is-unread {
    box-shadow: inset 4px 0 0 var(--orange-600);
    background: var(--soft-surface-2);
}
.topbar-notification-item.is-unread::after {
    content: "";
    position: absolute;
    top: 18px;
    right: 18px;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--orange-600);
}
.topbar-notification-copy { min-width: 0; padding-right: 16px; }
.topbar-notification-copy strong {
    display: block;
    margin: 0;
    font-size: .85rem;
    line-height: 1.3;
    font-weight: 900;
}
.topbar-notification-serial {
    display: inline-block;
    margin-top: 4px;
    color: var(--orange-600);
    font-size: .78rem;
    font-weight: 900;
    line-height: 1.25;
    text-decoration: none;
}
.topbar-notification-serial:hover,
.topbar-notification-serial:focus-visible { text-decoration: underline; }
.topbar-notification-copy p {
    margin: 6px 0 0;
    color: var(--ink-700);
    font-size: .79rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
}
.topbar-notification-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
}
.topbar-notification-footer > small {
    flex: 0 0 auto;
    color: var(--ink-500);
    font-size: .7rem;
    white-space: nowrap;
}
.topbar-notification-actions {
    margin-left: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}
.topbar-notification-actions form { margin: 0; }
.topbar-notification-actions a,
.topbar-notification-actions button {
    padding: 2px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--ink-900);
    text-decoration: none;
    font: inherit;
    font-size: .72rem;
    font-weight: 800;
    cursor: pointer;
}
.topbar-notification-actions a:hover,
.topbar-notification-actions a:focus-visible,
.topbar-notification-actions button:hover,
.topbar-notification-actions button:focus-visible { color: var(--orange-600); }
.topbar-notification-actions button.is-clear { color: var(--danger); }
.topbar-notification-actions button.is-clear:hover,
.topbar-notification-actions button.is-clear:focus-visible { text-decoration: underline; }
@media (max-width: 760px) {
    .topbar-notification-center { margin-left: auto; }
    .topbar-notification-button { min-width: 38px; height: 38px; padding: 0 8px; }
    .production-notification-drawer { width: min(420px, 100vw); }
}
@media (max-width: 460px) {
    .production-notification-drawer { width: 100vw; border-left: 0; }
    .production-notification-drawer-header { padding: 13px 14px; }
    .topbar-notification-item { padding: 13px 14px 12px; }
    .topbar-notification-item.is-unread::after { right: 14px; }
    .topbar-notification-footer { align-items: flex-start; flex-wrap: wrap; gap: 6px 10px; }
    .topbar-notification-actions { margin-left: 0; width: 100%; justify-content: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
    .production-notification-backdrop,
    .production-notification-drawer { transition: none; }
}




.sidebar-nested-group {
    display: grid;
    margin: 1px 0 2px;
}

.sidebar-nested-toggle {
    display: flex;
    align-items: center;
    gap: .55rem;
    min-height: 34px;
    padding: .45rem .65rem;
    color: #cbd3dc;
    border: 0;
    border-radius: 7px;
    cursor: pointer;
    font-size: .84rem;
    font-weight: 700;
    list-style: none;
    user-select: none;
}

.sidebar-nested-toggle::-webkit-details-marker {
    display: none;
}

.sidebar-nested-toggle::marker {
    content: '';
}

.sidebar-nested-toggle:hover,
.sidebar-nested-group[open] > .sidebar-nested-toggle {
    color: #fff;
    background: var(--nav-soft);
}

.sidebar-nested-chevron {
    margin-left: auto;
    transition: transform .16s ease;
}

.sidebar-nested-group[open] > .sidebar-nested-toggle .sidebar-nested-chevron {
    transform: rotate(180deg);
}

.sidebar-nested-subnav {
    display: grid;
    gap: 2px;
    margin: 2px 0 4px .65rem;
    padding-left: .65rem;
    border-left: 1px solid rgba(255, 255, 255, .15);
}

.sidebar-nested-subnav a {
    min-height: 32px;
}

@media (max-width: 780px) {
    .sidebar-nested-toggle {
        min-height: 38px;
        padding-block: .52rem;
    }
}

/* BuildSuite · Custom software by Jason Sickles — shared thumbnail photo viewer. */
.suite-photo-viewer{width:min(980px,calc(100vw - 24px));max-width:980px;padding:0;border:1px solid var(--line,#d0d5dd);border-radius:18px;background:var(--surface,var(--panel,#fff));color:var(--ink-900,var(--text,#101828));box-shadow:0 28px 80px rgba(0,0,0,.42);overflow:hidden}
.suite-photo-viewer::backdrop{background:rgba(2,6,12,.78);backdrop-filter:blur(3px)}
.suite-photo-viewer-shell{display:grid;gap:0}
.suite-photo-viewer-header,.suite-photo-viewer-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;background:var(--surface,var(--panel,#fff))}
.suite-photo-viewer-header{border-bottom:1px solid var(--line,#d0d5dd)}
.suite-photo-viewer-header h2{margin:3px 0 0;font-size:1.05rem}
.suite-photo-viewer-close{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--line,#d0d5dd);border-radius:10px;background:var(--soft-surface-2,var(--panel-2,#f8fafc));color:var(--ink-900,var(--text,#101828));font-size:25px;line-height:1;cursor:pointer}
.suite-photo-viewer-stage{position:relative;display:grid;place-items:center;min-height:min(68vh,680px);padding:18px 64px;background:#080b0f;overflow:hidden;touch-action:pan-y}
.suite-photo-viewer-stage img{display:block;max-width:100%;max-height:min(72vh,720px);width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 10px 38px rgba(0,0,0,.32)}
.suite-photo-viewer-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:grid;place-items:center;width:44px;height:58px;padding:0;border:0;border-radius:12px;background:rgba(255,255,255,.14);color:#fff;font-size:38px;line-height:1;backdrop-filter:blur(4px);cursor:pointer}
.suite-photo-viewer-arrow:hover,.suite-photo-viewer-arrow:focus-visible{background:rgba(255,255,255,.25)}
.suite-photo-viewer-arrow.previous{left:12px}.suite-photo-viewer-arrow.next{right:12px}.suite-photo-viewer-arrow[hidden]{display:none}
.suite-photo-viewer-error{margin:0;color:#fff;font-weight:800;text-align:center}
.suite-photo-viewer-footer{border-top:1px solid var(--line,#d0d5dd)}
.suite-photo-viewer-footer>div{display:grid;gap:3px;min-width:0}.suite-photo-viewer-footer strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suite-photo-viewer-footer small,.suite-photo-viewer-footer>span{color:var(--ink-500,var(--muted,#667085));font-size:12px}.suite-photo-viewer-footer>span{font-weight:800;white-space:nowrap}
@media(max-width:680px){.suite-photo-viewer{width:calc(100vw - 12px);border-radius:14px}.suite-photo-viewer-stage{min-height:58vh;padding:10px 46px}.suite-photo-viewer-arrow{width:36px;height:50px;font-size:32px}.suite-photo-viewer-arrow.previous{left:6px}.suite-photo-viewer-arrow.next{right:6px}.suite-photo-viewer-header,.suite-photo-viewer-footer{padding:11px 12px}.suite-photo-viewer-footer{align-items:flex-start}}
/* BuildSuite · Custom software by Jason Sickles — professional double-click Serial Number actions. */
.suite-serial-trigger{display:inline-flex;max-width:100%;align-items:center;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:800;letter-spacing:inherit;text-align:left;cursor:default;text-decoration:underline;text-decoration-style:dotted;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,currentColor 38%,transparent)}
.suite-serial-trigger:hover,.suite-serial-trigger:focus-visible{text-decoration-style:solid;text-decoration-color:currentColor;outline:none}
.suite-serial-trigger:focus-visible{border-radius:4px;box-shadow:0 0 0 3px rgba(41,98,255,.18)}
.suite-serial-trigger[disabled]{opacity:.72;text-decoration:none}
.suite-serial-modal{width:min(590px,calc(100vw - 24px));max-width:590px;padding:0;border:1px solid var(--line,var(--border,#d0d5dd));border-radius:16px;background:var(--surface,var(--panel,#fff));color:var(--ink-900,var(--text,#101828));box-shadow:0 30px 90px rgba(0,0,0,.38);overflow:hidden}
.suite-serial-modal::backdrop{background:rgba(4,10,20,.68);backdrop-filter:blur(3px)}
.suite-serial-modal-shell{display:grid;background:inherit}
.suite-serial-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px 16px;border-bottom:1px solid var(--line,var(--border,#d0d5dd));background:linear-gradient(180deg,var(--surface,var(--panel,#fff)),var(--soft-surface,#f8fafc))}
.suite-serial-modal-header h2{margin:3px 0 4px;font-size:1.2rem;line-height:1.2}.suite-serial-modal-header p{margin:0;color:var(--ink-500,var(--muted,#667085));font-size:.82rem;line-height:1.45}
.suite-serial-eyebrow{display:block;color:var(--orange-600,var(--primary,#c95d16));font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.suite-serial-modal-close{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;padding:0;border:1px solid var(--line,var(--border,#d0d5dd));border-radius:9px;background:var(--surface,var(--panel,#fff));color:var(--ink-500,var(--muted,#667085));font:inherit;font-size:1.3rem;line-height:1;cursor:pointer}.suite-serial-modal-close:hover{color:var(--ink-900,var(--text,#101828));border-color:var(--ink-500,#667085)}
.suite-serial-modal-body{display:grid;gap:15px;padding:18px 20px 20px}.suite-serial-current{display:grid;gap:5px;padding:13px 15px;border:1px solid var(--line,var(--border,#d0d5dd));border-radius:11px;background:var(--soft-surface,#f8fafc)}.suite-serial-current span{color:var(--ink-500,var(--muted,#667085));font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.suite-serial-current strong{overflow-wrap:anywhere;font-size:1.08rem;letter-spacing:.02em}
.suite-serial-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.suite-serial-choice{display:flex;min-height:88px;align-items:flex-start;gap:11px;padding:14px;border:1px solid var(--line,var(--border,#d0d5dd));border-radius:12px;background:var(--surface,var(--panel,#fff));color:inherit;text-align:left;font:inherit;cursor:pointer;transition:border-color .14s ease,transform .14s ease,box-shadow .14s ease}.suite-serial-choice:hover,.suite-serial-choice:focus-visible{transform:translateY(-1px);border-color:var(--orange-500,var(--primary,#d56a1f));box-shadow:0 7px 22px rgba(16,24,40,.08);outline:none}.suite-serial-choice-icon{display:grid;width:32px;height:32px;flex:0 0 auto;place-items:center;border-radius:9px;background:var(--soft-surface,#f2f4f7);font-size:1.05rem}.suite-serial-choice>span:last-child{display:grid;gap:4px}.suite-serial-choice strong{font-size:.88rem}.suite-serial-choice small{color:var(--ink-500,var(--muted,#667085));font-size:.73rem;line-height:1.4}
.suite-serial-help{margin:11px 1px 0;color:var(--ink-500,var(--muted,#667085));font-size:.73rem;line-height:1.45}.suite-serial-field{display:grid;gap:6px;color:var(--ink-700,var(--text,#344054));font-size:.78rem;font-weight:800}.suite-serial-field input{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--line,var(--border,#d0d5dd));border-radius:9px;background:var(--surface,var(--panel,#fff));color:var(--ink-900,var(--text,#101828));font:inherit;font-size:.92rem;font-weight:700;text-transform:uppercase;outline:none}.suite-serial-field input:focus{border-color:var(--orange-500,var(--primary,#d56a1f));box-shadow:0 0 0 3px rgba(213,106,31,.14)}.suite-serial-field small{color:var(--ink-500,var(--muted,#667085));font-size:.71rem;font-weight:500;line-height:1.4}
.suite-serial-warning{display:grid;gap:4px;padding:11px 12px;border:1px solid #f4d39a;border-radius:9px;background:#fff8e8;color:#6d4c0d;font-size:.75rem;line-height:1.42}.suite-serial-warning strong{font-size:.78rem}.suite-serial-error,.suite-serial-status{padding:10px 12px;border:1px solid #f0b8bd;border-radius:9px;background:#fff0f1;color:#9a2630;font-size:.77rem;font-weight:700;line-height:1.4}.suite-serial-status{border-color:#a9dec4;background:#edf9f3;color:#17603b}.suite-serial-status.is-error{border-color:#f0b8bd;background:#fff0f1;color:#9a2630}.suite-serial-change-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding-top:2px}
@media(max-width:620px){.suite-serial-modal{width:calc(100vw - 16px)}.suite-serial-modal-header,.suite-serial-modal-body{padding-left:14px;padding-right:14px}.suite-serial-choice-grid{grid-template-columns:1fr}.suite-serial-choice{min-height:74px}.suite-serial-change-actions{align-items:stretch;flex-direction:column-reverse}.suite-serial-change-actions .btn{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.suite-serial-choice{transition:none}}

/* BuildSuite · Custom software by Jason Sickles — Production Building Quick View drawer. */
.production-order-type-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .3rem;
    min-height: 22px;
    padding: .18rem .5rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font: inherit;
    font-size: .69rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .01em;
    cursor: pointer;
    white-space: nowrap;
    transition: transform .14s ease, box-shadow .14s ease, filter .14s ease;
}
.production-order-type-badge:hover { transform: translateY(-1px); filter: brightness(.98); box-shadow: 0 4px 12px rgba(15,23,42,.12); }
.production-order-type-badge:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent, #1d78f2) 28%, transparent); outline-offset: 2px; }
.production-order-type-badge.customer { color: #0759aa; background: #e7f3ff; border-color: #9ac9f5; }
.production-order-type-badge.inventory { color: #9b1c1c; background: #fff0f0; border-color: #f0abab; }
.production-order-type-badge.production { color: #4b5563; background: #f3f4f6; border-color: #d1d5db; }
.production-order-type-badge[data-quick-view-static-badge] { pointer-events: none; }
.serial-action-cell .production-order-type-badge { margin-top: .28rem; }
.approved-build-mode-line { display: flex; flex-wrap: wrap; align-items: center; gap: .42rem; }
.approved-build-mode-detail { display: block; margin-top: .28rem; color: var(--muted, #667085); font-size: .75rem; }

body.production-quick-view-open { overflow: hidden; }
.production-quick-view-shell {
    position: fixed;
    inset: 0;
    z-index: 5100;
    pointer-events: none;
}
.production-quick-view-shell[hidden] { display: none !important; }
.production-quick-view-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .34);
    opacity: 0;
    transition: opacity .18s ease;
    pointer-events: auto;
}
.production-quick-view-drawer {
    position: absolute;
    inset: 0 0 0 auto;
    width: min(560px, 94vw);
    background: var(--surface, #fff);
    color: var(--text, #111827);
    border-left: 1px solid var(--border, #d8dee7);
    box-shadow: -22px 0 55px rgba(15, 23, 42, .18);
    transform: translateX(102%);
    transition: transform .2s ease;
    pointer-events: auto;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.production-quick-view-shell.is-open .production-quick-view-backdrop { opacity: 1; }
.production-quick-view-shell.is-open .production-quick-view-drawer { transform: translateX(0); }
.production-quick-view-drawer-header {
    flex: 0 0 auto;
    min-height: 64px;
    padding: .85rem 1rem;
    border-bottom: 1px solid var(--border, #d8dee7);
    background: color-mix(in srgb, var(--surface, #fff) 94%, var(--accent, #1d78f2) 6%);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.production-quick-view-drawer-header > div { display: grid; gap: .08rem; }
.production-quick-view-drawer-header .eyebrow { font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted, #667085); }
.production-quick-view-drawer-header strong { font-size: 1rem; }
.production-quick-view-close {
    width: 36px;
    height: 36px;
    border-radius: 9px;
    border: 1px solid var(--border, #d8dee7);
    background: var(--surface, #fff);
    color: var(--text, #111827);
    font-size: 1.4rem;
    line-height: 1;
    cursor: pointer;
}
.production-quick-view-body { flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; background: var(--page-bg, #f6f8fb); }
.production-quick-view-content { display: grid; gap: .85rem; padding: .9rem; }
.production-quick-view-hero,
.production-quick-view-card {
    border: 1px solid var(--border, #d8dee7);
    border-radius: 14px;
    background: var(--surface, #fff);
    box-shadow: 0 5px 18px rgba(15, 23, 42, .045);
}
.production-quick-view-hero { padding: 1rem; }
.production-quick-view-hero-topline { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .55rem; }
.production-quick-view-status { font-size: .76rem; font-weight: 750; color: var(--muted, #667085); }
.production-quick-view-hero h2 { margin: 0; font-size: 1.28rem; line-height: 1.25; overflow-wrap: anywhere; }
.production-quick-view-hero > p { margin: .28rem 0 0; color: var(--muted, #667085); }
.production-quick-view-hero-actions { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .85rem; }
.production-quick-view-card { padding: .9rem 1rem; }
.production-quick-view-card > header { display: flex; align-items: end; justify-content: space-between; gap: .75rem; margin-bottom: .72rem; }
.production-quick-view-card > header > div { display: grid; }
.production-quick-view-card .eyebrow { display: block; margin-bottom: .18rem; color: var(--muted, #667085); font-size: .66rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.production-quick-view-card h3 { margin: 0; font-size: .96rem; }
.production-quick-view-card h3 span { color: var(--muted, #667085); font-weight: 700; }
.production-quick-view-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem .9rem; margin: 0; }
.production-quick-view-grid > div { min-width: 0; }
.production-quick-view-grid > div.wide { grid-column: 1 / -1; }
.production-quick-view-grid dt { margin: 0 0 .18rem; color: var(--muted, #667085); font-size: .68rem; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
.production-quick-view-grid dd { margin: 0; font-size: .84rem; font-weight: 700; overflow-wrap: anywhere; }
.production-quick-view-note { margin-top: .8rem; padding-top: .72rem; border-top: 1px solid var(--border, #e5e7eb); }
.production-quick-view-note strong { font-size: .75rem; }
.production-quick-view-note p { margin: .3rem 0 0; color: var(--muted, #667085); font-size: .8rem; line-height: 1.5; }
.production-quick-view-photo-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .42rem; }
.production-quick-view-photo-grid a { aspect-ratio: 1.2; overflow: hidden; border-radius: 9px; border: 1px solid var(--border, #d8dee7); background: #eef2f6; }
.production-quick-view-photo-grid img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .16s ease; }
.production-quick-view-photo-grid a:hover img { transform: scale(1.035); }
.production-quick-view-option-list,
.production-quick-view-file-list { display: grid; gap: 0; }
.production-quick-view-option-list > div,
.production-quick-view-file-list > div { display: flex; justify-content: space-between; align-items: center; gap: .8rem; padding: .62rem 0; border-top: 1px solid var(--border, #e5e7eb); }
.production-quick-view-option-list > div:first-child,
.production-quick-view-file-list > div:first-child { border-top: 0; padding-top: 0; }
.production-quick-view-option-list > div:last-child,
.production-quick-view-file-list > div:last-child { padding-bottom: 0; }
.production-quick-view-option-list span,
.production-quick-view-file-list span { display: grid; gap: .12rem; min-width: 0; }
.production-quick-view-option-list strong,
.production-quick-view-file-list strong { font-size: .8rem; overflow-wrap: anywhere; }
.production-quick-view-option-list small,
.production-quick-view-file-list small { color: var(--muted, #667085); font-size: .7rem; }
.production-quick-view-file-actions { display: flex !important; grid-auto-flow: column; grid-template-columns: max-content max-content; gap: .55rem !important; }
.production-quick-view-file-actions a { color: var(--accent, #1473e6); font-size: .76rem; font-weight: 800; text-decoration: none; }
.production-quick-view-timeline { display: grid; }
.production-quick-view-timeline > div { position: relative; display: grid; grid-template-columns: 14px 1fr; gap: .55rem; padding: 0 0 .85rem; }
.production-quick-view-timeline > div:last-child { padding-bottom: 0; }
.production-quick-view-timeline > div:not(:last-child)::before { content: ''; position: absolute; left: 5px; top: 11px; bottom: -1px; width: 2px; background: color-mix(in srgb, var(--accent, #1473e6) 26%, var(--border, #d8dee7)); }
.production-quick-view-timeline-dot { width: 11px; height: 11px; margin-top: .15rem; border-radius: 50%; background: var(--accent, #1473e6); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent, #1473e6) 16%, transparent); z-index: 1; }
.production-quick-view-timeline strong { font-size: .79rem; }
.production-quick-view-timeline p { margin: .16rem 0; color: var(--muted, #667085); font-size: .74rem; line-height: 1.4; }
.production-quick-view-timeline small { color: var(--muted, #667085); font-size: .68rem; }
.production-quick-view-loading,
.production-quick-view-error { min-height: 230px; padding: 2rem 1rem; display: grid; place-items: center; align-content: center; gap: .65rem; text-align: center; color: var(--muted, #667085); }
.production-quick-view-loading span { width: 28px; height: 28px; border: 3px solid var(--border, #d8dee7); border-top-color: var(--accent, #1473e6); border-radius: 50%; animation: production-quick-view-spin .75s linear infinite; }
.production-quick-view-error strong { color: #b42318; }
.production-quick-view-error span { font-size: .82rem; }
@keyframes production-quick-view-spin { to { transform: rotate(360deg); } }

@media (max-width: 700px) {
    .production-quick-view-drawer { width: 100vw; }
    .production-quick-view-content { padding: .65rem; gap: .65rem; }
    .production-quick-view-grid { grid-template-columns: 1fr; }
    .production-quick-view-grid > div.wide { grid-column: auto; }
    .production-quick-view-photo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
    .production-quick-view-backdrop,
    .production-quick-view-drawer,
    .production-order-type-badge { transition: none; }
}

/* BuildSuite · Custom software by Jason Sickles — Production Quick View polish. */
.production-order-type-badge.build { color: #475467; background: #f2f4f7; border-color: #d0d5dd; }
.production-order-type-static { pointer-events: none; cursor: default; }
.order-type-cell { text-align: center; vertical-align: middle; }
.order-type-cell .production-order-type-badge { min-width: 64px; }

.production-quick-view-collapsible { padding: 0; overflow: hidden; }
.production-quick-view-collapsible > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding: .82rem 1rem;
    cursor: pointer;
    list-style: none;
    user-select: none;
    transition: background .14s ease;
}
.production-quick-view-collapsible > summary::-webkit-details-marker { display: none; }
.production-quick-view-collapsible > summary::marker { content: ''; }
.production-quick-view-collapsible > summary:hover { background: color-mix(in srgb, var(--soft-surface, #f8fafc) 72%, transparent); }
.production-quick-view-collapsible > summary:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent, #1473e6) 24%, transparent); outline-offset: -3px; }
.production-quick-view-collapsible > summary > span:first-child { display: grid; min-width: 0; gap: .12rem; }
.production-quick-view-collapsible > summary .eyebrow { margin: 0; }
.production-quick-view-collapsible > summary strong { min-width: 0; font-size: .94rem; overflow-wrap: anywhere; }
.production-quick-view-collapsible > summary strong small { color: var(--muted, #667085); font-size: .72rem; font-weight: 750; }
.production-quick-view-chevron { width: 9px; height: 9px; flex: 0 0 auto; border-right: 2px solid var(--muted, #667085); border-bottom: 2px solid var(--muted, #667085); transform: rotate(45deg); transition: transform .14s ease; }
.production-quick-view-collapsible[open] > summary { border-bottom: 1px solid var(--border, #e5e7eb); }
.production-quick-view-collapsible[open] > summary .production-quick-view-chevron { transform: rotate(225deg); }
.production-quick-view-card-body { padding: .9rem 1rem; }

.production-quick-view-file-row { align-items: flex-start !important; }
.production-quick-view-file-info { display: flex !important; flex: 1 1 auto; flex-wrap: wrap; align-items: center; gap: .28rem .42rem !important; }
.production-quick-view-file-info > strong { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: .34rem; }
.production-quick-view-file-info > strong small { font-weight: 650; white-space: nowrap; }
.production-quick-view-file-source { display: inline-flex !important; width: max-content; padding: .14rem .38rem; border-radius: 999px; background: color-mix(in srgb, var(--accent, #1473e6) 10%, var(--surface, #fff)); color: var(--accent, #1473e6); font-size: .64rem !important; font-weight: 800; line-height: 1.15; }
.production-quick-view-file-info > small { flex-basis: 100%; }

@media (max-width: 700px) {
    .production-quick-view-collapsible > summary { padding: .75rem .82rem; }
    .production-quick-view-card-body { padding: .8rem .82rem; }
    .order-type-cell { text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
    .production-quick-view-collapsible > summary,
    .production-quick-view-chevron { transition: none; }
}
.approved-build-mode-detail--standalone { margin-top: 0; }


/* BuildSuite · Custom software by Jason Sickles — Quick View dark-theme and dashboard/company polish. */
.production-quick-view-body{background:var(--bg,var(--canvas,#f6f8fb))}
.production-quick-view-drawer,.production-quick-view-card,.production-quick-view-hero{color:var(--text,var(--ink-900,#101828))}
.production-quick-view-photo-grid a{background:var(--soft-surface-2,var(--surface,#eef2f6))}
.dashboard-company-production{margin-top:1rem;border-top:1px solid var(--border,var(--line,#e5e7eb));padding-top:.9rem}
.dashboard-company-production summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;font-weight:800;list-style:none}
.dashboard-company-production summary::-webkit-details-marker{display:none}
.dashboard-company-production-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.65rem;margin-top:.75rem}
.dashboard-company-production-card{display:grid;gap:.18rem;padding:.75rem;border:1px solid var(--border,var(--line,#e5e7eb));border-radius:10px;background:var(--surface,#fff)}
.dashboard-company-production-card span,.dashboard-company-production-card small{color:var(--muted,var(--ink-500,#667085));font-size:.72rem}
.dashboard-company-production-card strong{font-size:1rem}


/* BuildSuite · Custom software by Jason Sickles */

.production-notification-bulk-actions {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    min-height: 42px;
    padding: 8px 18px;
    border-bottom: 1px solid var(--line);
    background: color-mix(in srgb, var(--surface) 94%, transparent);
    backdrop-filter: blur(8px);
}
.production-notification-bulk-actions form { margin: 0; }
.production-notification-bulk-actions button {
    padding: 3px 0;
    border: 0;
    background: transparent;
    color: var(--ink-900);
    font: inherit;
    font-size: .74rem;
    font-weight: 850;
    cursor: pointer;
}
.production-notification-bulk-actions button:hover,
.production-notification-bulk-actions button:focus-visible { color: var(--orange-600); }
.production-notification-bulk-actions button.is-clear { color: var(--danger); }
.production-notification-bulk-actions button.is-clear:hover,
.production-notification-bulk-actions button.is-clear:focus-visible { text-decoration: underline; }
@media (max-width: 460px) { .production-notification-bulk-actions { padding-left: 14px; padding-right: 14px; } }


/* BuildSuite professional system dialogs */
.buildsuite-system-dialog { width:min(520px,calc(100vw - 28px)); padding:0; border:0; border-radius:16px; color:var(--text); background:transparent; box-shadow:0 28px 80px rgba(24,33,47,.28); }
.buildsuite-system-dialog::backdrop { background:rgba(24,33,47,.54); backdrop-filter:blur(3px); }
.buildsuite-system-dialog-card { display:grid; grid-template-columns:44px minmax(0,1fr); gap:14px; padding:22px; border:1px solid var(--border); border-radius:16px; background:var(--panel); }
.buildsuite-system-dialog-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:12px; color:#fff; background:var(--primary); font-size:20px; font-weight:800; }
.buildsuite-system-dialog.danger .buildsuite-system-dialog-icon { background:var(--danger); }
.buildsuite-system-dialog-copy { min-width:0; }
.buildsuite-system-dialog-eyebrow { display:block; margin:1px 0 3px; color:var(--primary-dark); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.buildsuite-system-dialog.danger .buildsuite-system-dialog-eyebrow { color:var(--danger); }
.buildsuite-system-dialog-copy h2 { margin:0 0 6px; font-size:20px; line-height:1.2; }
.buildsuite-system-dialog-copy p { margin:0; color:var(--muted); white-space:pre-line; }
.buildsuite-system-dialog-input { grid-column:1/-1; display:grid; gap:6px; }
.buildsuite-system-dialog-input[hidden] { display:none; }
.buildsuite-system-dialog-input span { color:var(--muted); font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.06em; }
.buildsuite-system-dialog-input input { width:100%; min-height:42px; padding:9px 11px; border:1px solid var(--border); border-radius:9px; color:var(--text); background:var(--panel); outline:0; }
.buildsuite-system-dialog-input input:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(213,106,31,.16); }
.buildsuite-system-dialog-actions { grid-column:1/-1; display:flex; justify-content:flex-end; gap:9px; margin-top:4px; }
.buildsuite-system-dialog-button { min-height:40px; padding:8px 15px; border:1px solid transparent; border-radius:9px; font:inherit; font-weight:750; cursor:pointer; }
.buildsuite-system-dialog-button.secondary { color:var(--text); border-color:var(--border); background:var(--panel); }
.buildsuite-system-dialog-button.primary { color:#fff; background:var(--primary); }
.buildsuite-system-dialog-button.primary.danger { background:var(--danger); }
@media(max-width:560px){.buildsuite-system-dialog-card{grid-template-columns:38px minmax(0,1fr);padding:18px}.buildsuite-system-dialog-icon{width:38px;height:38px}.buildsuite-system-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.buildsuite-system-dialog-button{width:100%}}



/* Hub return lives with module sign-out */
.buildsuite-return-hub{display:flex;width:100%;min-height:38px;align-items:center;gap:9px;padding:8px 9px;color:var(--sidebar-text,#cbd3dc);border:0;border-radius:8px;background:transparent;font:inherit;font-size:13px;font-weight:600;text-align:left;text-decoration:none}
.buildsuite-return-hub:hover,.buildsuite-return-hub:focus-visible{color:#fff;background:rgba(255,255,255,.08);outline:none;text-decoration:none}
.buildsuite-return-hub-icon{display:inline-grid;width:20px;flex:0 0 20px;place-items:center;font-size:16px;line-height:1}
.buildsuite-return-hub-label{min-width:0}

/* Unified module sign-out */
.buildsuite-signout-form{width:100%;margin:0}
.buildsuite-signout{display:flex;width:100%;min-height:38px;align-items:center;gap:9px;padding:8px 9px;color:#cbd3dc;border:0;border-radius:8px;background:transparent;font:inherit;font-size:13px;font-weight:600;text-align:left;cursor:pointer}
.buildsuite-signout:hover,.buildsuite-signout:focus-visible{color:#fff;background:rgba(255,255,255,.08);outline:none}
.buildsuite-signout-icon{display:inline-grid;width:20px;flex:0 0 20px;place-items:center;font-size:16px;line-height:1}
.buildsuite-signout-label{min-width:0}
body.sidebar-collapsed .buildsuite-signout-form{display:grid;place-items:center}
body.sidebar-collapsed .buildsuite-signout{width:42px;height:42px;min-height:42px;justify-content:center;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:9px}
body.sidebar-collapsed .buildsuite-signout-label{display:none}

/* Administration workspace navigation */
.administration-inline-nav-label{margin-top:12px;color:var(--text-muted,#7d94a5);font-size:9px!important;font-weight:800;letter-spacing:.1em;text-transform:uppercase}

body.sidebar-collapsed .buildsuite-return-hub{width:42px;height:42px;min-height:42px;justify-content:center;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:9px;margin-inline:auto}
body.sidebar-collapsed .buildsuite-return-hub-label{display:none}


/* v1.22.69 - Team Member profile email preferences */
.notification-profile-master,.notification-profile-event{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:12px 13px;color:var(--ink-900);cursor:pointer}
.notification-profile-master input,.notification-profile-event input{flex:0 0 auto;width:17px;height:17px;margin-top:2px;accent-color:var(--accent)}
.notification-profile-master span,.notification-profile-event span{display:grid;gap:3px;min-width:0}
.notification-profile-master strong,.notification-profile-event strong{font-size:.84rem}
.notification-profile-master small,.notification-profile-event small{color:var(--ink-500);font-size:.75rem;line-height:1.35}
.notification-profile-master{margin-bottom:12px;background:var(--soft-surface-2)}
.notification-profile-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.notification-profile-event:hover,.notification-profile-master:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}
@media(max-width:760px){.notification-profile-event-grid{grid-template-columns:1fr}}

/* BuildSuite · Custom software by Jason Sickles — Customer building overview. */
.production-quick-view-drawer { width: min(640px, 96vw); }
.production-quick-view-subject {
    margin: 0 0 .18rem !important;
    color: var(--accent, #1473e6) !important;
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .01em;
}
.production-quick-view-color-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .58rem;
}
.production-quick-view-color-item {
    min-width: 0;
    display: grid;
    gap: .18rem;
    padding: .68rem .72rem;
    border: 1px solid var(--border, #d8dee7);
    border-radius: 10px;
    background: color-mix(in srgb, var(--soft-surface, #f8fafc) 78%, var(--surface, #fff));
}
.production-quick-view-color-item span {
    color: var(--muted, #667085);
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.production-quick-view-color-item strong {
    font-size: .82rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.production-quick-view-option-list > div > span:last-child {
    flex: 0 0 auto;
    justify-items: end;
    text-align: right;
}
.production-quick-view-option-list > div > span:last-child b {
    font-size: .78rem;
    white-space: nowrap;
}
.production-quick-view-notes-list { display: grid; gap: .58rem; }
.production-quick-view-note-entry {
    display: grid;
    gap: .42rem;
    padding: .72rem .76rem;
    border: 1px solid var(--border, #d8dee7);
    border-radius: 10px;
    background: color-mix(in srgb, var(--soft-surface, #f8fafc) 68%, var(--surface, #fff));
}
.production-quick-view-note-entry header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .75rem;
}
.production-quick-view-note-entry header strong { font-size: .76rem; }
.production-quick-view-note-entry header small {
    color: var(--muted, #667085);
    font-size: .66rem;
    text-align: right;
}
.production-quick-view-note-entry p {
    margin: 0;
    color: var(--text, #111827);
    font-size: .78rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.production-quick-view-timeline-heading {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .38rem;
}
.production-quick-view-timeline-source {
    display: inline-flex;
    align-items: center;
    min-height: 18px;
    padding: .08rem .36rem;
    border: 1px solid var(--border, #d8dee7);
    border-radius: 999px;
    background: var(--soft-surface, #f8fafc);
    color: var(--muted, #667085);
    font-size: .58rem;
    font-weight: 850;
    letter-spacing: .04em;
    line-height: 1;
    text-transform: uppercase;
}
.production-quick-view-timeline-source.sales {
    border-color: color-mix(in srgb, var(--accent, #1473e6) 28%, var(--border, #d8dee7));
    background: color-mix(in srgb, var(--accent, #1473e6) 9%, var(--surface, #fff));
    color: var(--accent, #1473e6);
}
.production-quick-view-timeline-source.production {
    border-color: color-mix(in srgb, var(--muted, #667085) 28%, var(--border, #d8dee7));
}

@media (max-width: 700px) {
    .production-quick-view-color-grid { grid-template-columns: 1fr; }
    .production-quick-view-note-entry header { align-items: flex-start; flex-direction: column; gap: .16rem; }
    .production-quick-view-note-entry header small { text-align: left; }
    .production-quick-view-option-list > div { align-items: flex-start; }
}
.production-quick-view-empty {
    margin: 0;
    padding: .18rem 0;
    color: var(--muted, #667085);
    font-size: .76rem;
    line-height: 1.45;
}

/* v1.23.33: Quick View header alignment and theme-aware timeline. */
.production-quick-view-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 1rem 1.25rem;
}
.production-quick-view-hero-identity {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: .2rem;
}
.production-quick-view-hero-side {
    min-width: 190px;
    display: grid;
    justify-items: end;
    align-content: start;
    gap: .8rem;
}
.production-quick-view-hero-state {
    display: grid;
    justify-items: end;
    gap: .35rem;
}
.production-quick-view-status {
    color: var(--primary, var(--orange-600, #1473e6));
    font-size: .78rem;
    font-weight: 850;
    text-align: right;
}
.production-quick-view-subject {
    margin: 0 !important;
    color: var(--primary, var(--orange-600, #1473e6)) !important;
    font-size: .84rem;
    font-weight: 850;
    letter-spacing: .01em;
}
.production-quick-view-hero h2 {
    margin: 0;
}
.production-quick-view-summary {
    margin: 0 !important;
    color: var(--muted, #667085) !important;
}
.production-quick-view-hero-actions {
    margin-top: 0;
    justify-content: flex-end;
}
.production-quick-view-timeline > div:not(:last-child)::before {
    background: color-mix(in srgb, var(--primary, var(--orange-600, #1473e6)) 30%, var(--border, #d8dee7));
}
.production-quick-view-timeline-dot {
    background: var(--primary, var(--orange-600, #1473e6));
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary, var(--orange-600, #1473e6)) 18%, transparent);
}

@media (max-width: 700px) {
    .production-quick-view-hero {
        grid-template-columns: 1fr;
    }
    .production-quick-view-hero-side {
        width: 100%;
        min-width: 0;
        justify-items: stretch;
        gap: .65rem;
    }
    .production-quick-view-hero-state {
        justify-items: start;
    }
    .production-quick-view-status {
        text-align: left;
    }
    .production-quick-view-hero-actions {
        justify-content: flex-start;
    }
}
