:root {
    --canvas:#f5f7fa;
    --ink:#202b3d;
    --muted:#6b778b;
    --line:#e5eaf1;
    --accent:#285ed4;
    --sidebar-width:224px
}
* {
    box-sizing:border-box
}
body {
    margin:0;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:14px;
    color:var(--ink);
    background:var(--canvas);
    line-height:1.5
}
a {
    color:var(--accent)
}
a:hover {
    color:#1948b1
}
button,input,select {
    font:inherit
}
button,a,input,select,summary {
    touch-action:manipulation
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible {
    outline:3px solid #8cb0fa;
    outline-offset:3px
}
.btn {
    border-radius:7px;
    font-weight:500
}
.btn-primary {
    background:var(--accent);
    border-color:var(--accent)
}
.btn-primary:hover {
    background:#204fb9;
    border-color:#204fb9
}
.btn-outline-secondary {
    color:#4c5b70;
    border-color:#dce2eb;
    background:white
}
.btn-outline-secondary:hover {
    background:#f1f4f8;
    color:var(--ink);
    border-color:#b8c4d5
}
.btn-outline-primary {
    color:var(--accent);
    border-color:#cedcf9
}
.btn:disabled {
    opacity:.4;
    cursor:default
}
.workspace-sidebar {
    position:fixed;
    inset:0 auto 0 0;
    width:var(--sidebar-width);
    background:white;
    border-right:1px solid var(--line);
    z-index:1030;
    display:flex;
    flex-direction:column
}
.workspace-brand {
    display:flex;
    align-items:center;
    gap:9px;
    padding:25px 18px 22px;
    min-height:91px;
    color:var(--ink);
    text-decoration:none
}
.workspace-brand:hover {
    text-decoration:none;
    color:var(--ink)
}
.workspace-brand img {
    width:48px;
    height:31px;
    object-fit:contain
}
.brand-wordmark {
    font-size:23px;
    font-weight:750;
    letter-spacing:-.9px;
    color:var(--ink);
    line-height:1.2
}
.brand-wordmark>span {
    font-weight:400;
    margin-left:3px;
    color:#53647c
}
.brand-wordmark small {
    display:block;
    font-size:8px;
    font-weight:600;
    letter-spacing:1.1px;
    color:#8390a4;
    margin-top:6px
}
.workspace-nav {
    flex:1;
    overflow-y:auto;
    padding:0 12px 24px
}
.nav-group-label {
    font-size:10px;
    font-weight:650;
    text-transform:uppercase;
    letter-spacing:1.4px;
    color:#8591a2;
    margin:23px 12px 9px
}
.nav-group-label:first-child {
    margin-top:10px
}
.workspace-link,.nav-disclosure summary {
    display:flex;
    gap:11px;
    align-items:center;
    min-height:39px;
    padding:9px 12px;
    margin:3px 0;
    border-radius:7px;
    color:#59677b;
    font-size:13px;
    font-weight:500
}
.workspace-link:hover,.nav-disclosure summary:hover {
    background:#f4f6fa;
    color:var(--ink);
    text-decoration:none
}
.workspace-link.active {
    background:#edf3ff;
    color:var(--accent);
    font-weight:650
}
.workspace-link>.bi,.nav-disclosure summary>.bi {
    font-size:16px;
    width:18px;
    flex-shrink:0
}
.nav-disclosure summary {
    list-style:none;
    cursor:pointer
}
.nav-disclosure summary::-webkit-details-marker {
    display:none
}
.nav-disclosure summary .disclosure-arrow {
    margin-left:auto;
    width:auto;
    font-size:10px
}
.nav-disclosure[open] .disclosure-arrow {
    transform:rotate(180deg)
}
.nav-disclosure>a {
    padding-left:42px;
    min-height:34px
}
.sidebar-account {
    padding:18px 14px;
    display:flex;
    gap:9px;
    align-items:center;
    border-top:1px solid var(--line)
}
.account-avatar {
    display:grid;
    place-items:center;
    flex-shrink:0;
    width:32px;
    height:32px;
    background:#eaf0fb;
    border:1px solid #dfe7f7;
    color:#4264a6;
    border-radius:50%;
    font-weight:600
}
.account-name {
    min-width:0;
    flex:1
}
.account-name strong {
    display:block;
    font-size:11px;
    overflow-wrap:anywhere
}
.account-name small {
    display:block;
    font-size:10px;
    color:var(--muted);
    margin-top:2px
}
.logout-button {
    border:0;
    background:transparent;
    padding:6px;
    color:#7c899c;
    border-radius:4px
}
.logout-button:hover {
    color:var(--accent);
    background:#edf3ff
}
.workspace-main {
    margin-left:var(--sidebar-width);
    min-height:100vh;
    display:flex;
    flex-direction:column
}
.workspace-topbar {
    height:60px;
    background:#fff;
    border-bottom:1px solid var(--line);
    padding:0 32px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    color:#5d6b80;
    font-size:12px
}
.breadcrumb-divider {
    padding:0 12px;
    color:#c0c9d6
}
.workspace-indicator {
    white-space:nowrap;
    color:#8591a2;
    font-size:11px;
    display:flex;
    align-items:center;
    gap:7px
}
.workspace-indicator>span {
    width:6px;
    height:6px;
    background:#a4b4cc;
    border-radius:50%
}
.workspace-content {
    padding:35px 32px 48px;
    flex:1;
    min-width:0
}
.workspace-content>.container {
    max-width:none;
    padding-left:0;
    padding-right:0
}
.page-title {
    font-size:25px;
    font-weight:650;
    margin:0 0 26px;
    letter-spacing:-.6px
}
.workspace-footer {
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:18px 32px;
    color:#8c96a6;
    font-size:11px;
    border-top:1px solid var(--line)
}
.workspace-footer b {
    font-weight:600
}
.mobile-header {
    display:none
}
.auth-header {
    padding:24px 32px;
    background:#fff;
    border-bottom:1px solid var(--line)
}
.auth-shell .workspace-main {
    margin-left:0
}
.auth-shell .workspace-content {
    width:min(100%,1100px);
    margin:0 auto
}
.form-control {
    border-color:#dce2eb;
    border-radius:6px;
    color:var(--ink)
}
.table td,.table th {
    border-top-color:var(--line)
}
.table thead th {
    border-bottom:1px solid var(--line)
}
.body-content {
    padding-left:15px;
    padding-right:15px
}
.orders-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-bottom:27px
}
.page-eyebrow {
    font-size:10px;
    font-weight:650;
    color:#8793a5;
    letter-spacing:1.8px;
    margin-bottom:7px
}
.orders-heading h1 {
    display:flex;
    gap:12px;
    align-items:center;
    font-size:30px;
    font-weight:650;
    letter-spacing:-.8px;
    margin:0
}
.heading-count {
    font-size:12px;
    font-weight:600;
    border:1px solid #e0e6ef;
    background:#ecf0f6;
    padding:3px 9px;
    color:#6a778c;
    border-radius:6px;
    letter-spacing:0
}
.orders-heading p {
    color:var(--muted);
    font-size:13px;
    margin:8px 0 0
}
.new-order-button {
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 16px;
    white-space:nowrap;
    font-size:13px;
    box-shadow:0 2px 3px #285ed418
}
.orders-panel {
    background:white;
    border:1px solid var(--line);
    border-radius:11px;
    box-shadow:0 2px 5px #202b3d03;
    overflow:hidden
}
.orders-toolbar {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:0 22px;
    border-bottom:1px solid var(--line)
}
.order-views {
    display:flex;
    gap:23px;
    align-self:stretch
}
.order-view {
    position:relative;
    border:none;
    background:transparent;
    padding:18px 0;
    font-size:13px;
    font-weight:500;
    color:#778398;
    white-space:nowrap
}
.order-view:hover {
    color:var(--accent)
}
.order-view.active {
    color:var(--accent);
    font-weight:650
}
.order-view.active:after {
    content:"";
    position:absolute;
    bottom:-1px;
    height:2px;
    left:0;
    right:0;
    background:var(--accent)
}
.all-users-toggle {
    display:flex;
    align-items:center;
    gap:7px;
    color:#66748a;
    margin:0;
    font-size:12px;
    cursor:pointer;
    white-space:nowrap
}
.all-users-toggle input {
    accent-color:var(--accent);
    width:14px;
    height:14px
}
.orders-searchbar {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:18px 22px
}
.order-search {
    display:flex;
    align-items:center;
    gap:9px;
    border:1px solid #dfe5ee;
    border-radius:7px;
    padding:5px 6px 5px 11px;
    width:350px;
    max-width:100%;
    color:#93a0b2
}
.order-search:focus-within {
    border-color:#8cb0fa;
    box-shadow:0 0 0 3px #285ed410
}
.order-search input {
    border:0;
    background:transparent;
    outline:none;
    min-width:0;
    width:100%;
    font-size:12px;
    color:var(--ink);
    padding:3px 0
}
.order-search input::placeholder {
    color:#8a96a8
}
.order-search .btn {
    font-size:11px;
    padding:4px 9px
}
.results-caption {
    font-size:12px;
    color:#5e6c81;
    white-space:nowrap
}
.results-scope {
    color:#929caf;
    margin-left:4px
}
.orders-table-scroll {
    overflow:auto;
    max-height:65vh
}
.orders-table {
    margin:0;
    width:100%;
    font-size:12px
}
.orders-table:has(.orders-empty) {
    table-layout:fixed
}
.orders-table:has(.orders-empty) th {
    white-space:normal;
    overflow-wrap:anywhere
}
.orders-table thead {
    position:sticky;
    top:0;
    z-index:1
}
.orders-table thead th {
    background:#f9fafc;
    padding:13px 16px;
    white-space:nowrap;
    border-top:1px solid var(--line);
    vertical-align:middle
}
.sort-button {
    border:0;
    background:transparent;
    padding:0;
    text-align:left;
    color:#718096;
    font-size:11px;
    font-weight:550
}
.sort-button:hover {
    color:var(--accent)
}
.orders-table td {
    padding:17px 16px;
    vertical-align:middle;
    color:#56647a
}
.orders-table tbody tr:hover {
    background:#fafcff
}
.order-number {
    font-weight:650;
    white-space:nowrap
}
.order-status {
    display:inline-block;
    border-radius:5px;
    padding:3px 7px;
    font-size:11px;
    font-weight:500
}
.status-open {
    background:#edf3ff;
    color:#476cae
}
.status-completed {
    background:#eaf6f0;
    color:#367653
}
.status-cancelled {
    background:#f1f3f6;
    color:#7b8798
}
.deadline {
    white-space:nowrap;
    font-variant-numeric:tabular-nums
}
.deadline-overdue,.overdue-label {
    color:#c24a4a
}
.overdue-label {
    display:block;
    font-size:10px;
    margin-top:3px
}
.order-actions {
    text-align:right
}
.order-actions .btn {
    font-size:11px;
    white-space:nowrap;
    margin:2px 0
}
.orders-table .orders-empty {
    text-align:center;
    padding:65px 20px 69px
}
.orders-empty:hover {
    background:white
}
.empty-icon {
    display:inline-grid;
    place-items:center;
    width:54px;
    height:54px;
    color:#8196b6;
    background:#f1f5fb;
    border:1px solid #e7edf6;
    border-radius:14px;
    font-size:24px;
    margin-bottom:17px
}
.orders-empty h2 {
    font-size:16px;
    font-weight:600;
    color:#3d4b61;
    margin-bottom:9px;
    letter-spacing:-.2px
}
.orders-empty p {
    font-size:12px;
    max-width:330px;
    color:#8591a3;
    line-height:1.8;
    margin:0 auto 21px
}
.orders-empty .btn {
    font-size:12px;
    padding:8px 13px
}
.orders-pagination {
    border-top:1px solid var(--line);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:14px 22px;
    color:#8591a3;
    font-size:11px
}
.page-size-control,.page-controls {
    display:flex;
    align-items:center;
    gap:9px
}
.orders-pagination label {
    margin:0
}
.orders-pagination select {
    width:auto;
    min-width:53px;
    height:30px;
    font-size:11px
}
.page-controls .btn {
    width:29px;
    height:29px;
    padding:4px
}
.loading-overlay {
    display:none;
    position:fixed;
    inset:0;
    background:#0006;
    z-index:2000;
    justify-content:center;
    align-items:center
}
.loading-overlay.active {
    display:flex
}
@media(min-width:768px) {
    .workspace-sidebar.collapse {
        display:flex
    }
}
@media(max-width:1100px) {
    :root {
        --sidebar-width:204px
    }
    .workspace-content {
        padding:28px 22px 40px
    }
    .workspace-topbar,.workspace-footer {
        padding-left:22px;
        padding-right:22px
    }
    .orders-toolbar {
        padding:0 16px;
        gap:12px
    }
    .order-views {
        gap:16px
    }
    .view-word {
        display:none
    }
    .orders-searchbar {
        padding:16px;
        flex-wrap:wrap;
        gap:10px
    }
    .results-scope {
        display:none
    }
    .orders-table th,.orders-table td {
        padding-left:12px;
        padding-right:12px
    }
}
@media(max-width:767px) {
    .mobile-header {
        display:flex;
        position:sticky;
        top:0;
        z-index:1035;
        height:60px;
        align-items:center;
        justify-content:space-between;
        padding:0 18px;
        background:white;
        border-bottom:1px solid var(--line)
    }
    .mobile-header .btn {
        font-size:12px
    }
    .workspace-sidebar {
        position:fixed;
        top:60px;
        bottom:0;
        width:min(290px,90vw);
        box-shadow:10px 0 25px #202b3d1a
    }
    .workspace-sidebar:not(.show):not(.collapsing) {
        display:none
    }
    .workspace-sidebar.show {
        display:flex
    }
    .workspace-sidebar.collapsing {
        transition:none
    }
    .workspace-brand {
        display:none
    }
    .workspace-nav {
        padding-top:15px
    }
    .workspace-main {
        margin-left:0;
        min-height:calc(100vh - 60px)
    }
    .workspace-topbar {
        height:44px;
        padding:0 18px
    }
    .workspace-content {
        padding:25px 16px 36px
    }
    .orders-heading {
        align-items:flex-start;
        gap:12px;
        margin-bottom:22px
    }
    .orders-heading h1 {
        font-size:26px
    }
    .orders-heading p {
        font-size:12px;
        max-width:210px
    }
    .new-order-button {
        margin-top:21px;
        padding:9px 11px;
        font-size:12px
    }
    .orders-toolbar {
        flex-wrap:wrap;
        gap:0;
        padding:0 14px 12px
    }
    .order-views {
        width:100%;
        margin-bottom:10px;
        border-bottom:1px solid var(--line)
    }
    .view-word {
        display:inline
    }
    .order-view {
        padding:14px 0;
        font-size:12px
    }
    .orders-searchbar {
        padding:14px
    }
    .order-search {
        width:100%
    }
    .orders-table {
        min-width:780px
    }
    .orders-table:has(.orders-empty) {
        min-width:0
    }
    .orders-table:has(.orders-empty) thead {
        display:none
    }
    .orders-table:has(.orders-empty) tbody td {
        text-align:center
    }
    .orders-empty h2,.orders-empty p,.orders-empty .empty-icon,.orders-empty .btn {
        margin-left:auto;
        margin-right:auto
    }
    .orders-empty p {
        max-width:250px
    }
    .orders-pagination {
        padding:12px;
        gap:8px;
        flex-wrap:wrap
    }
    .workspace-footer {
        padding:16px
    }
}

/* Order details share the workspace surfaces and typography. */
.detail-backbar { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 25px; font-size: 12px; }
.detail-backbar a { color: #6b778b; }
.detail-backbar .bi { margin-right: 5px; }
.detail-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.detail-heading h1 { font-size: 29px; letter-spacing: -.7px; font-weight: 650; margin: 0; overflow-wrap: anywhere; }
.detail-heading p { margin: 8px 0 0; color: var(--muted); font-size: 13px; }
.detail-heading p span { padding: 0 6px; color: #a6b1c1; }
.detail-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.detail-actions .btn { font-size: 12px; padding: 9px 12px; white-space: nowrap; }
.detail-actions .bi { margin-right: 4px; }
.detail-summary { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; margin-bottom: 26px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.summary-item { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; padding: 20px; gap: 9px; min-width: 0; }
.summary-item + .summary-item { border-left: 1px solid var(--line); }
.summary-label { color: #8390a3; font-size: 11px; }
.summary-item strong { font-size: 13px; font-weight: 550; overflow-wrap: anywhere; }
.summary-item .order-status { font-size: 12px; }
.summary-hint { font-size: 10px; color: #8491a5; margin-top: -5px; }
.summary-hint.deadline-overdue { color: #c24a4a; }
.detail-workspace { min-width: 0; }
.detail-tabs { gap: 25px; border-bottom: 1px solid var(--line); margin-bottom: 22px; flex-wrap: nowrap; overflow-x: auto; }
.detail-tabs .nav-link { padding: 12px 0; border: 0; border-bottom: 2px solid transparent; border-radius: 0; color: #7c899d; font-size: 12px; white-space: nowrap; background: transparent; }
.detail-tabs .nav-link.active { color: var(--accent); background: transparent; border-bottom-color: var(--accent); font-weight: 650; }
.detail-tabs .nav-link:hover { color: var(--accent); }
.detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.detail-card { background: white; border: 1px solid var(--line); border-radius: 10px; min-width: 0; }
.detail-card h2 { display: flex; align-items: center; gap: 9px; padding: 17px 20px; border-bottom: 1px solid var(--line); margin: 0; font-size: 13px; font-weight: 600; }
.detail-card h2 .bi { font-size: 15px; color: #8b9bb3; }
.detail-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 18px; row-gap: 22px; margin: 0; padding: 21px 20px 25px; }
.detail-field { min-width: 0; }
.detail-field dt { font-size: 11px; color: #8490a3; font-weight: 400; margin-bottom: 5px; }
.detail-field dd { color: #43516a; font-size: 12px; margin: 0; overflow-wrap: anywhere; }
.detail-field dd:empty::before { content: '—'; color: #9da8b8; }
.detail-workspace .tab-pane:not(#details) { background: white; border: 1px solid var(--line); border-radius: 10px; padding: 20px; }
.detail-workspace #template { overflow-x: auto; }
.detail-workspace #template > .table { min-width: 680px; font-size: 12px; }
.detail-workspace #template > .table th { color: #7a889b; font-size: 11px; font-weight: 500; }
.detail-workspace #template > .table td { padding-top: 14px; padding-bottom: 14px; vertical-align: middle; }
@media (max-width: 1100px) {
    .detail-heading { align-items: flex-start; flex-direction: column; gap: 18px; }
    .detail-actions { justify-content: flex-start; }
    .detail-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .summary-item:nth-child(3) { border-left: 0; }
    .summary-item:nth-child(n+3) { border-top: 1px solid var(--line); }
}
@media (max-width: 767px) {
    .detail-backbar { margin-bottom: 20px; }
    .detail-heading h1 { font-size: 25px; }
    .detail-heading p { font-size: 12px; }
    .detail-grid { grid-template-columns: minmax(0, 1fr); }
    .detail-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .summary-item { padding: 15px; }
    .detail-tabs { gap: 20px; }
    .detail-workspace .tab-pane:not(#details) { padding: 14px; }
}
@media (max-width: 360px) {
    .detail-fields { grid-template-columns: minmax(0, 1fr); }
}

/* Create and edit forms use the same sections and save bar. */
.order-form-page { max-width: 1160px; margin: 0 auto; }
.order-form-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 25px; }
.order-form-heading h1 { font-size: 29px; font-weight: 650; letter-spacing: -.6px; margin: 0; }
.order-form-heading p { color: var(--muted); margin: 8px 0 0; font-size: 12px; }
.order-form-heading p span { padding: 0 5px; color: #b1bbc9; }
.form-required-hint { font-size: 11px; color: #8591a3; white-space: nowrap; }
.form-required-hint > span, .required-label::after { color: #b95b5b; }
.required-label::after { content: ' *'; }
.order-form-jumps { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 25px; }
.order-form-jumps a { font-size: 11px; color: #64758e; padding: 6px 11px; background: white; border: 1px solid var(--line); border-radius: 6px; }
.order-form-jumps a:hover { color: var(--accent); border-color: #c5d6f8; text-decoration: none; }
.order-form-section { background: white; border: 1px solid var(--line); border-radius: 10px; margin-bottom: 20px; scroll-margin-top: 20px; }
.order-form-section > header { display: flex; align-items: center; gap: 12px; padding: 19px 24px; border-bottom: 1px solid var(--line); }
.form-section-icon { display: grid; place-items: center; width: 33px; height: 33px; border-radius: 8px; background: #f2f6fc; color: #8397b6; font-size: 16px; flex-shrink: 0; }
.order-form-section h2 { font-size: 14px; font-weight: 600; margin: 0 0 3px; }
.order-form-section header p { font-size: 11px; color: #8a96a8; margin: 0; }
.order-form-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 24px; padding: 23px 24px 26px; }
.form-field { min-width: 0; }
.form-field-wide { grid-column: 1 / -1; }
.form-field-label { display: block; font-size: 12px; font-weight: 500; color: #5e6d84; margin-bottom: 8px; }
.form-field .form-control { width: 100%; font-size: 13px; height: 39px; padding: 8px 11px; background-color: #fff; }
.form-field textarea.form-control { height: auto; min-height: 90px; }
.form-field .form-control:focus { border-color: #8cb0fa; box-shadow: 0 0 0 3px #285ed410; }
.form-field .form-control:disabled, .form-readonly { background: #f7f9fc; color: #8190a7; }
.form-readonly { min-height: 39px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 6px; font-size: 13px; }
.field-help { display: block; font-size: 10px; color: #8b98ac; margin-top: 7px; }
.form-field .field-validation-error { display: block; font-size: 11px; margin-top: 6px; }
.form-field .input-validation-error { border-color: #cf7a7a; }
.form-toggle { align-self: end; padding: 10px 0; }
.form-toggle > div { display: flex; align-items: center; gap: 9px; }
.form-toggle .form-field-label { margin: 0; cursor: pointer; }
.form-toggle .checkbox { width: 16px; height: 16px; accent-color: var(--accent); }
.form-validation-summary.validation-summary-valid { display: none; }
.form-validation-summary.validation-summary-errors { padding: 16px 20px; background: #fff5f5; border: 1px solid #f0d3d3; border-radius: 8px; color: #ae4e4e; margin-bottom: 20px; font-size: 12px; }
.form-validation-summary ul { margin: 0; padding-left: 18px; }
.order-savebar { position: sticky; bottom: 14px; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 15px 19px; background: white; border: 1px solid #dfe6f0; box-shadow: 0 3px 20px #263f6b12; border-radius: 10px; z-index: 100; margin: 25px 0 0; }
.savebar-context { display: flex; align-items: center; gap: 9px; color: #7c8ba0; font-size: 12px; }
.savebar-context .bi { color: #98a6ba; }
.savebar-actions { display: flex; align-items: center; gap: 8px; }
.savebar-actions .btn { font-size: 12px; padding: 9px 13px; white-space: nowrap; }
.savebar-actions .btn-link { color: #7c8ba0; }
.savebar-actions .bi { margin-right: 4px; }
@media (max-width: 767px) {
    .order-form-heading { flex-direction: column; align-items: flex-start; gap: 12px; }
    .order-form-heading h1 { font-size: 26px; }
    .order-form-section > header { padding: 16px; }
    .order-form-fields { grid-template-columns: minmax(0, 1fr); padding: 20px 16px; gap: 20px; }
    .order-savebar { bottom: 8px; padding: 12px; gap: 10px; flex-wrap: wrap; }
    .savebar-context { display: none; }
    .savebar-actions { width: 100%; justify-content: flex-end; flex-wrap: wrap; }
    .savebar-actions .btn { font-size: 11px; padding: 9px 10px; }
    .order-form-section { scroll-margin-top: 75px; }
}

/* Keep the primary save as the default submit for the Enter key. */
.savebar-actions .btn-link { order: 1; }
.savebar-actions .btn-outline-secondary { order: 2; }
.savebar-actions .btn-primary { order: 3; }

/* Automated QC queue */
.qc-orders-link { font-size: 12px; padding: 9px 13px; white-space: nowrap; }
.qc-guidance { display: flex; gap: 13px; padding: 17px 20px; border: 1px solid #dce6f6; background: #edf3fc; border-radius: 9px; margin-bottom: 25px; }
.qc-guidance-icon { color: #6a8cbd; font-size: 17px; }
.qc-guidance strong { display: block; font-size: 12px; color: #4b668f; font-weight: 600; margin-bottom: 4px; }
.qc-guidance p { color: #7387a5; font-size: 11px; line-height: 1.8; margin: 0; max-width: 790px; }
.qc-panel-title { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 22px; border-bottom: 1px solid var(--line); }
.qc-panel-title h2 { font-size: 14px; font-weight: 600; margin: 0 0 5px; }
.qc-panel-title > div > span { font-size: 11px; color: #8996a9; }
.qc-refresh-note { white-space: nowrap; font-size: 10px; color: #8e9cb0; }
.qc-refresh-note .bi { margin-right: 4px; }
.qc-filters { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 18px 22px; }
.qc-search { display: flex; align-items: center; gap: 9px; width: 340px; max-width: 100%; border: 1px solid #dfe5ee; border-radius: 7px; padding: 9px 11px; color: #91a0b5; }
.qc-search:focus-within { border-color: #8cb0fa; box-shadow: 0 0 0 3px #285ed410; }
.qc-search input { min-width: 0; width: 100%; border: 0; outline: none; font-size: 12px; color: var(--ink); background: transparent; }
.qc-search input::placeholder { color: #95a0b1; }
.qc-filter-status select { height: 39px; font-size: 12px; min-width: 175px; }
.qc-filters .btn { font-size: 12px; height: 39px; }
.qc-reset { font-size: 11px; margin-left: 4px; }
.qc-batchbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 13px 22px; background: #fafbfd; border-top: 1px solid var(--line); }
#selected-count { font-size: 12px; color: #596e8a; font-weight: 550; }
.qc-selection-hint { font-size: 10px; color: #96a2b3; margin-left: 12px; }
.qc-batchbar .btn { font-size: 12px; padding: 8px 13px; white-space: nowrap; }
.qc-table-scroll { overflow: auto; max-height: 65vh; }
.qc-table { min-width: 850px; margin: 0; font-size: 12px; }
.qc-table thead { position: sticky; top: 0; z-index: 1; }
.qc-table th { background: #f6f8fb; font-size: 10px; font-weight: 550; color: #7e8da2; white-space: nowrap; padding: 13px 14px; }
.qc-table td { vertical-align: middle; padding: 20px 14px; color: #6e7d91; }
.qc-table tbody tr:hover { background: #fafcff; }
.qc-table .qc-checkbox-cell { padding-left: 22px; width: 45px; }
.qc-table input[type=checkbox] { width: 14px; height: 14px; accent-color: var(--accent); vertical-align: middle; }
.qc-client { display: block; color: #8c98a9; font-size: 10px; margin-top: 5px; }
.qc-status { display: inline-block; border-radius: 5px; padding: 4px 8px; font-size: 10px; white-space: nowrap; }
.qc-status-not_started { background: #f0f2f6; color: #8b96a7; }
.qc-status-queued { background: #fff5e5; color: #aa8649; }
.qc-status-processing { background: #edf3ff; color: #5d80bf; }
.qc-status-completed { background: #eef0ff; color: #787ab4; }
.qc-status-failed { background: #fbeeee; color: #b46c6c; }
.qc-status-timed_out { background: #fff1e8; color: #b98b69; }
.qc-table .qc-metric { font-variant-numeric: tabular-nums; color: #78879d; }
.qc-review { font-size: 10px; color: #8d99ab; }
.qc-open-link { padding: 7px; color: #8da0bd; }
.qc-table .qc-empty { text-align: center; padding: 55px 20px; }
.qc-empty h2 { font-size: 15px; font-weight: 600; color: #4e5f77; }
.qc-empty p { font-size: 12px; color: #8b98aa; margin-bottom: 0; }
.qc-panel:has(.qc-empty) .qc-table { min-width: 0; }
.qc-panel:has(.qc-empty) thead { display: none; }
.qc-footnote { color: #929fb1; font-size: 10px; margin: 16px 3px 0; line-height: 1.8; }
.qc-refresh-error { color: #b46c6c; font-size: 11px; }
.qc-messages { font-size: 12px; }
.qc-messages ul { margin-bottom: 0; padding-left: 18px; }
.qc-demo { margin-top: 25px; color: #7b899f; font-size: 12px; }
@media (max-width: 767px) {
    .auto-qc-page .orders-heading { flex-wrap: wrap; }
    .qc-orders-link { font-size: 11px; }
    .qc-guidance { padding: 15px; }
    .qc-panel-title { padding: 17px 15px; align-items: flex-start; flex-direction: column; gap: 9px; }
    .qc-filters { padding: 15px; }
    .qc-search { width: 100%; }
    .qc-filter-status { flex: 1; min-width: 0; }
    .qc-filter-status select { width: 100%; min-width: 0; }
    .qc-batchbar { padding: 12px 15px; }
    .qc-selection-hint { display: block; margin: 4px 0 0; }
    .qc-page-size { display: none; }
}
.qc-search { flex: 1 1 210px; width: auto; }
@media (max-width: 767px) { .qc-search { flex-basis: 100%; } }

/* Analysis evidence and manual review keep the workspace styling. */
.qc-results > h1 { font-size: 29px; font-weight: 650; letter-spacing: -.6px; margin-bottom: 12px; }
.qc-results > p { font-size: 12px; line-height: 1.8; color: #8190a5; }
.qc-results .alert-light { background: white; border-radius: 9px; font-size: 12px; line-height: 2; color: #697c98; padding: 18px 20px; }
.qc-results .alert-light strong { color: #465c7c; }
.qc-results .table-responsive { max-height: 65vh; border: 1px solid var(--line); border-radius: 9px; background: white; margin-bottom: 16px; }
.qc-results .table { min-width: 1100px; font-size: 12px; margin-bottom: 0; }
.qc-results .table thead { position: sticky; top: 0; z-index: 1; }
.qc-results .table th { background: #f6f8fb; color: #7f8da2; font-size: 11px; padding: 13px; font-weight: 500; }
.qc-results .table td { padding: 14px 13px; line-height: 1.7; color: #60728e; }
.qc-results .table-striped tbody tr:nth-of-type(odd) { background: #fafbfd; }
.qc-results .form-control { font-size: 12px; }
.qc-results .btn { font-size: 12px; }
@media (max-width: 767px) { .qc-results > h1 { font-size: 24px; } }

/* Side-by-side evidence review */
.qc-review-heading { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 22px; }
.qc-review-heading h1 { font-size: 28px; font-weight: 650; letter-spacing: -.6px; margin: 0; }
.qc-review-heading p { color: #8290a4; font-size: 12px; margin: 8px 0 0; }
.qc-review-heading .btn { font-size: 12px; white-space: nowrap; }
.review-version { display: flex; gap: 12px; align-items: center; margin-bottom: 20px; font-size: 11px; color: #8190a5; }
.review-version label { margin: 0; white-space: nowrap; }
.review-version select { max-width: 320px; font-size: 12px; height: 35px; }
.review-state { margin-left: auto; background: #edf0fa; color: #8190b3; padding: 5px 10px; border-radius: 5px; white-space: nowrap; }
.review-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 9px; background: white; margin-bottom: 10px; }
.review-metrics > div { display: flex; flex-direction: column; gap: 6px; padding: 16px 20px; }
.review-metrics > div + div { border-left: 1px solid var(--line); }
.review-metrics span { font-size: 10px; color: #8b98ab; }
.review-metrics strong { font-size: 17px; color: #4f6481; font-weight: 600; }
.review-metrics small { font-size: 10px; font-weight: 400; }
.review-disclaimer { font-size: 10px; color: #8a98ac; margin-bottom: 20px; }
.qc-review-workbench { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; height: 820px; max-height: 85vh; min-height: 540px; }
.pdf-panel, .review-panel { border: 1px solid var(--line); border-radius: 10px; background: white; min-width: 0; min-height: 0; display: flex; flex-direction: column; overflow: hidden; }
.pdf-panel-heading, .review-panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 17px 18px; border-bottom: 1px solid var(--line); }
.pdf-panel-heading h2, .review-panel-heading h2 { font-size: 13px; font-weight: 600; margin: 0; }
.pdf-panel-heading .bi { color: #8d9fb8; margin-right: 6px; }
.pdf-controls { display: flex; align-items: center; justify-content: space-between; gap: 7px; padding: 11px 12px; background: #fafbfd; border-bottom: 1px solid var(--line); }
.pdf-controls select { width: auto; min-width: 0; height: 31px; font-size: 11px; padding: 4px 6px; }
.pdf-pages { display: flex; align-items: center; gap: 6px; font-size: 10px; color: #7d8da4; }
.pdf-pages input { width: 36px; height: 28px; padding: 3px; text-align: center; border: 1px solid #dfe6ef; border-radius: 5px; color: #637897; font-size: 11px; appearance: textfield; -moz-appearance: textfield; }
.pdf-pages input::-webkit-inner-spin-button { -webkit-appearance: none; }
.pdf-tool { background: white; border: 1px solid #e1e7f0; border-radius: 5px; color: #7287a5; width: 26px; height: 28px; }
.pdf-tool:disabled { opacity: .35; }
.pdf-canvas-area { background: #e9edf3; flex: 1; overflow: auto; min-height: 0; padding: 20px; text-align: center; }
#pdf-canvas { display: block; margin: 0 auto; background: white; box-shadow: 0 2px 8px #32456118; }
#pdf-status, #pdf-error { font-size: 12px; color: #788ca8; margin: 10px 0; }
#pdf-error { color: #b77777; }
.pdf-evidence-caption { padding: 11px 16px; font-size: 10px; color: #8193ae; border-top: 1px solid var(--line); }
.review-panel-heading span { display: block; font-size: 10px; color: #8b99ad; margin-top: 5px; }
.review-panel-heading .btn { font-size: 10px; padding: 6px 8px; white-space: nowrap; }
.review-filterbar { display: flex; gap: 14px; padding: 0 18px; border-bottom: 1px solid var(--line); }
.review-filterbar button { position: relative; background: transparent; border: 0; padding: 12px 0; color: #8b98ac; font-size: 10px; }
.review-filterbar button.active { color: var(--accent); font-weight: 600; }
.review-filterbar button.active::after { content: ''; position: absolute; bottom: -1px; height: 2px; left: 0; right: 0; background: var(--accent); }
.review-checks { overflow-y: auto; flex: 1; min-height: 0; background: #fafbfd; padding: 14px; }
.review-check { border: 1px solid var(--line); border-radius: 8px; background: white; padding: 16px; margin-bottom: 12px; scroll-margin: 12px; }
.review-check.check-active { border-color: #93b2ed; box-shadow: 0 0 0 2px #285ed410; }
.check-heading { display: flex; align-items: flex-start; gap: 8px; }
.check-number { font-size: 10px; background: #f1f4f9; color: #8c9bb1; padding: 2px 6px; border-radius: 4px; flex-shrink: 0; }
.check-heading h3 { font-size: 12px; font-weight: 600; line-height: 1.6; margin: 0; flex: 1; }
.check-auto { font-size: 9px; padding: 3px 6px; border-radius: 4px; white-space: nowrap; color: #8696ad; background: #f1f4f8; }
.check-auto-no { color: #bb7373; background: #fcf0f0; }
.check-auto-yes { color: #5e917b; background: #edf6f1; }
.check-auto-undetermined { color: #b19261; background: #fcf6ea; }
.check-reason { font-size: 11px; color: #8291a7; line-height: 1.8; margin: 10px 0; }
.check-values { background: #f8fafc; border: 1px solid #edf0f5; border-radius: 6px; padding: 9px 11px; margin: 10px 0; }
.check-values > div { display: flex; gap: 9px; font-size: 10px; line-height: 1.8; }
.check-values dt { font-weight: 400; color: #9aa6b7; width: 40px; flex-shrink: 0; }
.check-values dd { margin: 0; color: #617694; overflow-wrap: anywhere; }
.check-evidence { display: block; text-align: left; width: 100%; border: 1px solid #dce7f9; background: #f6f9ff; border-radius: 6px; padding: 10px 11px; margin: 11px 0; }
.check-evidence > span { display: block; color: #6087c3; font-size: 10px; font-weight: 500; }
.check-evidence q { display: block; color: #7991b2; font-size: 11px; margin: 6px 0; line-height: 1.6; }
.check-evidence small { display: block; color: #a0afc3; font-size: 9px; }
.check-evidence:hover { border-color: #93b2ed; }
.check-no-evidence { font-size: 10px; color: #a0adbf; margin: 12px 0; }
.check-manual { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; padding-top: 12px; border-top: 1px solid #edf1f6; }
.check-manual label { font-size: 10px; color: #8a99af; margin: 0; }
.check-manual select { width: 150px; height: 32px; font-size: 11px; }
.check-comment { margin-top: 11px; }
.check-comment summary { font-size: 10px; color: #91a1b8; cursor: pointer; }
.check-comment textarea { font-size: 11px; margin-top: 8px; }
.check-reviewed .check-number { color: #5e917b; background: #edf6f1; }
.review-savebar { border-top: 1px solid var(--line); padding: 13px 16px; background: white; }
#review-save-state { color: #778ba9; font-size: 10px; }
#review-confirm-hint { display: block; color: #9ba9bd; font-size: 9px; margin-top: 3px; }
.review-save-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; }
.review-save-actions .btn { font-size: 11px; padding: 8px 11px; }
.review-provenance { margin-top: 22px; color: #92a0b4; font-size: 11px; }
.review-provenance p { margin-top: 10px; overflow-wrap: anywhere; }
#review-filter-empty { padding: 30px 10px; color: #8b9bb2; font-size: 12px; text-align: center; }
@media (max-width: 1100px) {
    .qc-review-workbench { grid-template-columns: minmax(0, 1fr); height: auto; max-height: none; min-height: 0; }
    .pdf-panel { height: 560px; }
    .review-panel { height: 820px; max-height: 90vh; min-height: 500px; }
}
@media (max-width: 767px) {
    .qc-review-heading { align-items: flex-start; flex-direction: column; }
    .qc-review-heading h1 { font-size: 24px; }
    .review-version { flex-wrap: wrap; gap: 8px; }
    .review-version select { flex: 1; }
    .review-state { margin-left: 0; }
    .review-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .review-metrics > div { padding: 13px; }
    .review-metrics > div:nth-child(3) { border-left: 0; }
    .review-metrics > div:nth-child(n+3) { border-top: 1px solid var(--line); }
    .pdf-panel { height: 460px; }
    .review-checks { padding: 10px; }
    .review-check { padding: 13px; }
    .check-heading { flex-wrap: wrap; }
    .check-heading h3 { flex-basis: 70%; }
    .check-auto { margin-left: 29px; }
}

/* Consistent native-select affordance, with room for both text and arrow. */
select:not([multiple]):not([size]) {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 36px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%237b8ba3' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px 12px;
}
select:disabled { opacity: .75; }
.orders-pagination select { min-width: 66px; }
.pdf-controls select { min-width: 78px; }
.pdf-controls #pdf-zoom { min-width: 100px; }
@media (forced-colors: active) {
    select:not([multiple]):not([size]) { appearance: auto; background-image: none; padding-right: 12px !important; }
}
.clients-table-scroll { overflow: auto; max-height: 70vh; }
.clients-table { min-width: 840px; font-size: 12px; margin: 0; }
.clients-table th { background: #f8fafc; color: #8491a5; font-size: 10px; font-weight: 500; padding: 14px 18px; white-space: nowrap; }
.clients-table thead { position: sticky; top: 0; z-index: 1; }
.clients-table td { padding: 21px 18px; vertical-align: middle; }
.clients-table tbody tr:hover { background: #fbfcff; }
.client-name { color: #3e5c88; font-weight: 600; display: block; min-width: 130px; }
.client-secondary { display: block; color: #93a0b3; font-size: 10px; margin-top: 5px; overflow-wrap: anywhere; }
.client-address { color: #6c7e97; font-size: 11px; }
.client-muted { color: #b0bbcb; }
.client-status { display: inline-block; padding: 4px 8px; border-radius: 5px; font-size: 10px; }
.client-active { background: #edf6f1; color: #6d987e; }
.client-inactive { background: #f1f3f7; color: #99a3b4; }
.client-preferences { display: flex; flex-wrap: wrap; gap: 5px; min-width: 145px; }
.client-preferences span { border: 1px solid #e4eaf4; background: #f7f9fc; border-radius: 4px; padding: 3px 6px; font-size: 9px; color: #8b9bb2; white-space: nowrap; }
.client-preferences .client-default { border-color: transparent; background: transparent; padding-left: 0; }
.client-format { display: block; max-width: 200px; color: #98a4b7; font-size: 10px; overflow-wrap: anywhere; }
.client-row-actions { min-width: 110px; text-align: right; }
.client-row-actions .btn { font-size: 10px; padding: 5px 10px; }
.client-pricing { display: block; white-space: nowrap; font-size: 10px; margin-top: 10px; color: #8aa0c0; }
.client-filters .qc-search { max-width: 420px; }
.client-status-filter { width: 150px; font-size: 12px; height: 39px; }
.client-toggle { grid-column: 1 / -1; border: 1px solid var(--line); border-radius: 7px; padding: 14px 16px; }
.client-toggle > div { display: flex; align-items: flex-start; gap: 12px; }
.client-toggle .checkbox { width: 16px; height: 16px; accent-color: var(--accent); margin-top: 2px; flex-shrink: 0; }
.client-toggle label { margin: 0; cursor: pointer; }
.client-toggle p { color: #94a2b6; font-size: 10px; margin: 5px 0 0; }
.client-filename-help summary { font-size: 11px; color: #8a9dbb; cursor: pointer; }
.client-filename-help .alert { max-width: none; width: 100%; flex-basis: 100%; font-size: 11px; background: #f7f9fc; border-color: var(--line); color: #8496b0; margin: 12px 0 0; padding: 16px; line-height: 1.8; }
.client-form-page .savebar-context { min-width: 0; }
.client-form-page .savebar-context span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 767px) {
    .client-filters .qc-search { max-width: none; }
    .client-status-filter { width: auto; flex: 1; min-width: 150px; }
    .pdf-controls select { min-width: 72px; }
    .pdf-controls #pdf-zoom { min-width: 96px; }
}
@media (max-width: 1100px) {
    .clients-table { min-width: 0; }
    .clients-table thead { display: none; }
    .clients-table tbody { display: block; }
    .clients-table tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-top: 1px solid var(--line); padding: 8px 0; }
    .clients-table td { border: 0; padding: 10px 16px; min-width: 0; }
    .clients-table td:nth-child(1) { grid-column: 1; grid-row: 1; }
    .clients-table td:nth-child(3) { grid-column: 2; grid-row: 1; text-align: right; }
    .clients-table td:nth-child(2) { grid-column: 1; grid-row: 2; }
    .clients-table td:nth-child(4) { grid-column: 2; grid-row: 2; }
    .clients-table td:nth-child(5) { grid-column: 1; grid-row: 3; }
    .clients-table td:nth-child(6) { grid-column: 2; grid-row: 3; }
    .clients-table td:nth-child(5)::before { content: 'Filename format'; display: block; color: #a3adbd; font-size: 9px; margin-bottom: 4px; }
    .client-preferences { min-width: 0; justify-content: flex-end; }
    .client-name { min-width: 0; }
    .client-row-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; min-width: 0; }
    .client-pricing { margin: 0; }
    .clients-table tr:has(.qc-empty) { display: block; }
    .clients-table td.qc-empty { display: block; text-align: center; }
}

.vendor-compliance { display:block; font-size:10px; color:#7d91ac; }
.vendor-expired { color:#bc7777; }
.vendor-current-document { display:block; margin-bottom:10px; font-size:12px; overflow-wrap:anywhere; }
.vendor-form-page input[type=file] { height:auto; padding:9px 12px; font-size:12px; }
@media(max-width:1100px) {
 .vendors-table td:nth-child(4) { text-align:right; }
 .vendors-table td:nth-child(5)::before { content:'E&O insurance'; }
}
@media(max-width:1100px) {
    .vendors-table td:nth-child(4)::before { content:'W-9'; display:block; color:#a3adbd; font-size:9px; margin-bottom:4px; }
}

.vendor-settings-page .order-form-jumps a[aria-current=page] { color:var(--accent); background:#edf2ff; border-color:#dce5fa; }
.vendor-panel-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 22px; border-bottom:1px solid var(--line); color:#8b9bb2; font-size:12px; }
.vendor-panel-toolbar h2 { font-size:14px; margin:0; color:#536985; }
.vendor-product-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }
.vendor-product-row { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 22px; border-bottom:1px solid var(--line); }
.vendor-product-row:last-child { border:0; }
.vendor-product-row strong { font-size:12px; font-weight:600; color:#536985; }
.vendor-product-row .btn { font-size:11px; flex-shrink:0; }
.vendor-prices-scroll { overflow:auto; }
.vendor-prices-table { margin:0; font-size:12px; }
.vendor-prices-table th { padding:15px 20px; color:#8491a5; background:#f8fafc; font-size:10px; font-weight:500; }
.vendor-prices-table td { padding:22px 20px; vertical-align:middle; white-space:nowrap; color:#7186a2; }
.vendor-prices-table strong { color:#536985; font-weight:600; }
@media(max-width:1100px) { .vendor-product-columns { grid-template-columns:minmax(0,1fr); } }
@media(max-width:767px) {
 .vendor-prices-table thead { display:none; }
 .vendor-prices-table tbody { display:block; }
 .vendor-prices-table tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:12px; border-top:1px solid var(--line); }
 .vendor-prices-table td { border:0; padding:10px; white-space:normal; }
 .vendor-prices-table td:first-child,.vendor-prices-table td:last-child { grid-column:1/-1; }
 .vendor-prices-table td[data-label]::before { content:attr(data-label); display:block; color:#9ba9bc; font-size:10px; margin-bottom:5px; }
 .vendor-product-row,.vendor-panel-toolbar { padding:16px; }
}
.vendor-pricing-actions { display:flex; gap:10px; align-items:center; }
.vendor-prices-scroll .dataTables_wrapper { padding:18px 20px; color:#8a9bb3; font-size:11px; }
.vendor-prices-scroll .dataTables_filter input { border:1px solid var(--line); border-radius:6px; padding:7px 10px; margin-left:8px; }
.vendor-prices-scroll .dataTables_length select { border:1px solid var(--line); border-radius:6px; padding:6px 10px; }
.vendor-prices-scroll .dataTables_info,.vendor-prices-scroll .dataTables_paginate { margin-top:14px; }
@media(max-width:767px) { .vendor-pricing-actions { flex-wrap:wrap; justify-content:flex-end; } }
.reports-filter-heading { display:flex; align-items:center; gap:12px; padding:22px 24px; border-bottom:1px solid var(--line); }
.reports-filter-heading h2 { font-size:14px; margin:0; }
.reports-filter-heading p { font-size:11px; color:#93a0b4; margin:5px 0 0; }
.reports-filter-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 24px; padding:24px; }
.reports-filter-grid [hidden] { display:none; }
.reports-filter-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 24px; border-top:1px solid var(--line); }
.reports-filter-footer > span { color:#93a0b4; font-size:11px; }
.reports-filter-footer > div { display:flex; gap:10px; flex-shrink:0; }
.reports-start { text-align:center; color:#9daabd; padding:55px 20px; }
.reports-start > .bi { font-size:28px; }
.reports-start h2 { font-size:15px; color:#7f92ad; margin-top:16px; }
.reports-start p { font-size:12px; }
.reports-results-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:28px 0 18px; }
.reports-results-heading h2 { font-size:18px; margin:7px 0; }
.reports-results-heading > span { color:#93a0b4; font-size:11px; }
.reports-sheet { margin-bottom:22px; }
.reports-table-scroll { overflow:auto; padding:20px; }
.reports-table { font-size:11px; margin-top:16px!important; }
.reports-table th { background:#f8fafc; color:#7e90a9; font-size:10px; padding:13px 18px; white-space:nowrap; }
.reports-table td { padding:15px 18px; white-space:nowrap; color:#6e839f; }
.reports-table-scroll .dataTables_wrapper { font-size:11px; color:#8c9cb2; }
.reports-table-scroll .dataTables_filter input,.reports-table-scroll .dataTables_length select { border:1px solid var(--line); border-radius:6px; padding:6px 10px; }
@media(max-width:767px) {
 .reports-filter-grid { grid-template-columns:minmax(0,1fr); padding:18px; }
 .reports-filter-footer,.reports-results-heading { flex-direction:column; align-items:stretch; }
 .reports-filter-footer > div { flex-wrap:wrap; }
 .reports-filter-footer .btn { flex:1; }
}
.reports-table th { white-space:normal; min-width:125px; max-width:190px; line-height:1.5; }
.reports-table th:first-child,.reports-table td:first-child { position:sticky; left:0; z-index:1; background:#fff; min-width:170px; box-shadow:1px 0 var(--line); }
.reports-table th:first-child { background:#f8fafc; z-index:2; }
.batch-filters { display:grid; grid-template-columns:minmax(0,2fr) minmax(180px,1fr) auto; align-items:end; gap:24px; padding:22px 24px; margin-bottom:22px; }
.batch-queue { padding:0 8px; text-align:right; }
.batch-queue span { display:block; font-size:10px; color:#8b9bb2; margin-bottom:7px; }
.batch-queue strong { font-size:24px; color:#536b8e; }
.batch-table-scroll { overflow:auto; }
.batch-table { margin:0; font-size:12px; }
.batch-table th { background:#f8fafc; color:#8493a9; font-size:10px; padding:15px 22px; }
.batch-table td { padding:22px; vertical-align:middle; }
.batch-table th:first-child { width:58px; }
.batch-table input[type=checkbox] { width:16px; height:16px; accent-color:var(--accent); cursor:pointer; }
.batch-table th:last-child,.batch-money { text-align:right; }
.batch-money { color:#536b8e; font-variant-numeric:tabular-nums; }
.batch-delivery-note { margin-top:18px; font-size:11px; color:#91a0b5; line-height:1.7; }
.batch-delivery-note .bi { margin-right:6px; }
.batch-selection-summary { display:flex; gap:24px; color:#8a9bb3; font-size:11px; }
.batch-selection-summary strong { color:#536b8e; margin-left:4px; }
@media(max-width:767px) {
 .batch-filters { grid-template-columns:minmax(0,1fr); gap:18px; padding:18px; }
 .batch-queue { display:none; }
 .batch-table td,.batch-table th { padding:14px 10px; }
 .batch-table .client-status { font-size:9px; }
 .batch-invoicing-page .order-savebar { flex-wrap:wrap; }
 .batch-selection-summary { width:100%; justify-content:space-between; }
 .batch-invoicing-page .savebar-actions { width:100%; justify-content:flex-end; }
}
.invoice-upload-body { padding:24px; }
.invoice-upload-body input[type=file] { height:auto; padding:12px; font-size:12px; }
.invoice-upload-action { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:22px; }
.invoice-upload-action > span { color:#8d9db4; font-size:11px; }
.invoice-mapping-panel,.invoice-import-results { margin-top:24px; }
.invoice-mapping-panel[hidden] { display:none; }
.invoice-import-results { margin:0 0 24px; }
.invoice-import-metrics { display:flex; gap:70px; padding:24px; }
.invoice-import-metrics strong { display:block; color:#536b8e; font-size:28px; }
.invoice-import-metrics span { color:#8d9db4; font-size:11px; }
.invoice-import-errors { padding:0 24px 24px; }
.invoice-import-errors h3 { font-size:13px; color:#ad8173; }
.invoice-import-errors p,.invoice-import-errors li { font-size:11px; color:#8d9db4; line-height:1.8; }
.invoice-import-success { padding:0 24px 24px; color:#729783; font-size:12px; }
@media(max-width:767px) { .invoice-upload-body { padding:18px; } .invoice-upload-action { flex-direction:column; align-items:stretch; } }
.user-role-filter { width:180px; font-size:12px; }
.users-table-scroll { overflow:auto; }
.users-table { margin:0; font-size:12px; }
.users-table th { padding:15px 22px; background:#f8fafc; color:#8493a9; font-size:10px; }
.users-table td { padding:22px; vertical-align:middle; color:#7186a2; }
.user-row-actions { text-align:right; }
.user-terminate-form { margin-top:9px; }
.user-deactivate { padding:0; border:0; background:transparent; font-size:10px; color:#b18686; }
@media(max-width:767px) { .users-table { min-width:620px; } .user-role-filter { flex:1; } }
.bulk-page .order-form-jumps a[aria-current=page] { background:#edf2ff; color:var(--accent); border-color:#dce5fa; }
.bulk-controls { padding:24px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-bottom:22px; }
.bulk-search { display:flex; gap:10px; }
.bulk-table-scroll { overflow:auto; }
.bulk-orders-table { margin:0; font-size:11px; }
.bulk-orders-table th { background:#f8fafc; color:#8a9bb2; padding:15px; font-size:10px; }
.bulk-orders-table td { padding:19px 15px; vertical-align:middle; color:#788ca8; }
.bulk-orders-table input[type=checkbox] { width:16px; height:16px; accent-color:var(--accent); }
.bulk-orders-table .client-preferences { min-width:0; }
.bulk-review-dialog { border:1px solid var(--line); border-radius:12px; padding:28px; max-width:540px; width:calc(100% - 32px); color:#647b9b; }
.bulk-review-dialog::backdrop { background:#1d2b4855; }
.bulk-review-dialog h2 { font-size:19px; margin-bottom:18px; }
.bulk-review-dialog p { font-size:12px; line-height:1.8; overflow-wrap:anywhere; }
.bulk-review-dialog > div { display:flex; justify-content:flex-end; gap:10px; margin-top:24px; }
@media(max-width:767px) { .bulk-controls { grid-template-columns:minmax(0,1fr); padding:18px; } .bulk-orders-table { min-width:760px; } }
.upload-workbook { height:auto; padding:12px; font-size:12px; }
.upload-history { margin-top:28px; }
.order-form-jumps a[aria-current=page] { background:#edf2ff; color:var(--accent); border-color:#dce5fa; }
.account-card { background:white; border:1px solid var(--line); border-radius:14px; padding:36px; max-width:460px; margin:40px auto; box-shadow:0 8px 32px #263b5810; }
.account-card h1 { font-size:27px; letter-spacing:-.8px; margin:12px 0; }
.account-description { font-size:12px; color:#8a9bb2; line-height:1.8; margin-bottom:26px; }
.account-card .form-field { margin-bottom:20px; }
.account-remember { display:flex; align-items:center; gap:9px; font-size:11px; color:#8a9bb2; margin:0 0 24px; }
.account-remember input { accent-color:var(--accent); }
.account-submit { width:100%; }
.account-state { text-align:center; }
.account-state-icon { display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:14px; background:#eff3fb; color:#8299bc; font-size:24px; }
@media(max-width:767px) { .account-card { padding:24px; margin:20px auto; } }
