@font-face {
    font-family: 'Tinkoff Sans';
    src: url('../fonts/tinkoff-sans/TinkoffSans-Regular.eot');
    src: local('Tinkoff Sans Regular'), local('TinkoffSans-Regular'),
        url('../fonts/tinkoff-sans/TinkoffSans-Regular.eot?#iefix') format('embedded-opentype'),
        url('../fonts/tinkoff-sans/TinkoffSans-Regular.woff2') format('woff2'),
        url('../fonts/tinkoff-sans/TinkoffSans-Regular.woff') format('woff'),
        url('../fonts/tinkoff-sans/TinkoffSans-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Reporting rules matrix */
.reporting-rules-page {
    display: grid;
    gap: 16px;
}

.reporting-rules-hero,
.reporting-rules-table-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.reporting-rules-hero {
    padding: 24px;
    border: 1px solid #cfe0f5;
    background: linear-gradient(135deg, #f7fbff 0%, #e9f3ff 100%);
}

.reporting-rules-hero h2,
.reporting-rules-table-head h3 {
    margin: 4px 0 8px;
}

.reporting-rules-hero p,
.reporting-rules-table-head p,
.reporting-rules-notes p {
    margin: 0;
    color: #53677c;
}

.reporting-rules-eyebrow {
    color: #2672bd;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.reporting-rules-summary {
    min-width: 145px;
    padding: 15px 18px;
    border: 1px solid rgba(38, 114, 189, 0.18);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.8);
    text-align: center;
}

.reporting-rules-summary strong {
    display: block;
    color: #174f86;
    font-size: 28px;
    line-height: 1;
}

.reporting-rules-summary span,
.reporting-rules-summary small {
    display: block;
    margin-top: 4px;
}

.reporting-rules-summary small {
    color: #75879a;
}

.reporting-rules-filters,
.reporting-rules-links-panel,
.reporting-rules-table-panel {
    padding: 20px;
}

.reporting-rules-links-head,
.reporting-rules-links-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.reporting-rules-links-head {
    margin-bottom: 16px;
}

.reporting-rules-links-head h3 {
    margin: 4px 0 6px;
}

.reporting-rules-links-head p {
    max-width: 760px;
    margin: 0;
    color: #53677c;
}

.reporting-rules-links-count {
    flex: 0 0 auto;
    padding: 7px 11px;
    border-radius: 999px;
    background: #eef5fc;
    color: #1c659f;
    font-size: 12px;
    font-weight: 800;
}

.reporting-rules-links-wrap {
    border: 1px solid #dbe3ec;
    border-radius: 8px;
}

.reporting-rules-links-table {
    margin: 0;
}

.reporting-rules-links-table > thead > tr > th {
    border-bottom: 1px solid #d2dde8;
    background: #f3f7fb;
    color: #34516b;
    font-size: 11px;
    letter-spacing: .03em;
    text-transform: uppercase;
    vertical-align: middle;
}

.reporting-rules-links-table > tbody > tr > td {
    border-top-color: #e4eaf0;
    vertical-align: middle;
}

.reporting-rules-links-table > tbody > tr > td:first-child {
    min-width: 270px;
}

.reporting-rules-links-table > tbody > tr > td:nth-child(2) {
    min-width: 340px;
}

.reporting-rules-links-table .form-control {
    min-width: 310px;
}

.reporting-rules-link-price {
    min-width: 165px;
    color: #1f6b3b;
    white-space: nowrap;
}

.reporting-rules-link-price > span {
    color: #8a98a6;
}

.reporting-rules-links-actions {
    justify-content: flex-start;
    margin-top: 14px;
}

.reporting-rules-links-actions > span {
    color: #687b8e;
    font-size: 12px;
}

.reporting-tariff-report-list {
    display: grid;
    gap: 14px;
}

.reporting-tariff-report {
    overflow: hidden;
    border: 1px solid #dbe3ec;
    border-radius: 10px;
    background: #fff;
}

.reporting-tariff-report-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 15px;
    border-bottom: 1px solid #dbe3ec;
    background: #f7fafe;
}

.reporting-tariff-report-head > div {
    min-width: 0;
}

.reporting-tariff-report-head > div > strong {
    display: block;
    color: #263e56;
    font-size: 15px;
}

.reporting-tariff-report-head > span {
    flex: 0 0 auto;
    color: #718398;
    font-size: 11px;
    font-weight: 700;
}

.reporting-tariff-table {
    min-width: 1180px;
    margin: 0;
}

.reporting-tariff-table > thead > tr > th {
    padding: 9px 10px;
    border-bottom: 1px solid #dbe3ec;
    background: #fbfcfe;
    color: #60758a;
    font-size: 10px;
    letter-spacing: .03em;
    text-transform: uppercase;
    vertical-align: middle;
}

.reporting-tariff-table > tbody > tr > td {
    padding: 10px;
    border-top-color: #e8edf2;
    vertical-align: top;
}

.reporting-tariff-table > tbody > tr > td:nth-child(1) {
    min-width: 180px;
}

.reporting-tariff-table > tbody > tr > td:nth-child(2),
.reporting-tariff-table > tbody > tr > td:nth-child(4) {
    min-width: 265px;
}

.reporting-tariff-table > tbody > tr > td:nth-child(3) {
    min-width: 260px;
}

.reporting-tariff-table > tbody > tr > td:nth-child(5) {
    width: 130px;
}

.reporting-tariff-table .form-control {
    min-width: 0;
}

.reporting-tariff-table small {
    display: block;
    margin-top: 5px;
    color: #64788c;
    line-height: 1.35;
}

.reporting-tariff-table td.is-disabled {
    opacity: .45;
}

.reporting-tariff-flags {
    min-width: 115px;
}

.reporting-tariff-flags label {
    display: block;
    margin: 0 0 7px;
    font-size: 12px;
    font-weight: 500;
}

.reporting-tariff-report > .btn {
    margin: 0 0 13px 15px;
}

.reporting-rules-tariff-item {
    display: block;
    margin-bottom: 7px;
}

.reporting-rules-tariff-item:last-child {
    margin-bottom: 0;
}

.reporting-rules-tariff-item > strong,
.reporting-rules-tariff-item > small,
.reporting-rules-current-price > strong,
.reporting-rules-current-price > small {
    display: block;
}

.reporting-rules-tariff-item > small,
.reporting-rules-current-price > small {
    margin-top: 2px;
    color: #65798d;
    font-size: 10px;
    line-height: 1.3;
}

.reporting-rules-filter-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(145px, 1fr));
    gap: 14px;
}

.reporting-rules-filter-grid .form-group {
    margin-bottom: 0;
}

.reporting-rules-filter-actions {
    display: flex;
    gap: 8px;
    margin-top: 16px;
}

.reporting-rules-table-head {
    margin-bottom: 16px;
}

.reporting-rules-year {
    min-width: 72px;
    padding: 8px 12px;
    border-radius: 999px;
    background: #e6f1fc;
    color: #1b639f;
    font-size: 18px;
    font-weight: 800;
    text-align: center;
}

.reporting-rules-table-wrap {
    position: relative;
    max-height: none;
    overflow: auto;
    overscroll-behavior: auto;
    scrollbar-gutter: auto;
    border: 1px solid #dbe3ec;
}

.reporting-rules-table {
    margin-bottom: 0;
    background: #fff;
    font-size: 12px;
}

.reporting-rules-table > thead {
    position: static;
}

.reporting-rules-table > thead > tr > th {
    position: static;
    padding: 10px;
    border-color: #cdd9e5;
    background: #eaf2fa;
    box-shadow: inset 0 -1px 0 #b8c8d8;
    color: #173c5d;
    vertical-align: middle;
}

.reporting-rules-table > tbody > tr > td {
    padding: 9px 10px;
    border-color: #dbe3ec;
    vertical-align: top;
}

.reporting-rules-combination-cell {
    min-width: 120px;
    background: #f8fbfe;
    vertical-align: middle !important;
}

.reporting-rules-report-title {
    min-width: 220px;
    color: #183e61;
    font-weight: 700;
}

.reporting-rules-linked-service {
    min-width: 220px;
}

.reporting-rules-linked-service strong,
.reporting-rules-linked-service small {
    display: block;
}

.reporting-rules-linked-service small {
    margin-top: 3px;
    color: #a45c15;
}

.reporting-rules-unlinked {
    display: inline-block;
    padding: 3px 7px;
    border-radius: 6px;
    background: #fff1f0;
    color: #a33a35;
    font-size: 11px;
    font-weight: 700;
}

.reporting-rules-current-price {
    min-width: 125px;
    color: #1f6b3b;
    font-weight: 800;
    white-space: nowrap;
}

.reporting-rules-vat {
    display: inline-block;
    min-width: 38px;
    padding: 3px 8px;
    border-radius: 999px;
    font-weight: 700;
}

.reporting-rules-vat.is-yes {
    background: #e4f5eb;
    color: #237647;
}

.reporting-rules-vat.is-no {
    background: #eef2f6;
    color: #667789;
}

.reporting-rules-date-cell {
    min-width: 130px;
}

.reporting-rules-date-cell > span {
    display: block;
    padding: 2px 0;
    white-space: nowrap;
}

.reporting-rules-details-cell {
    min-width: 310px;
}

.reporting-rules-details-cell > span {
    display: block;
    padding: 3px 0;
    color: #40576d;
    line-height: 1.35;
}

.reporting-rules-details-deadline {
    display: block;
    margin-top: 2px;
    color: #a23a32;
    font-weight: 700;
}

.reporting-rules-due-cell > span {
    color: #a23a32;
    font-weight: 700;
}

.reporting-rules-notes {
    display: grid;
    gap: 7px;
    margin-top: 16px;
    padding: 14px 16px;
    border-radius: 10px;
    background: #f6f8fa;
}

.contractor-unsaved-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

.contractor-unsaved-actions .btn + .btn {
    margin-top: 8px;
    margin-left: 0;
}

@media (max-width: 1100px) {
    .reporting-rules-filter-grid {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }
}

@media (max-width: 700px) {
    .reporting-rules-hero,
    .reporting-rules-table-head,
    .reporting-rules-links-head,
    .reporting-rules-links-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .reporting-rules-summary {
        width: 100%;
    }

    .reporting-rules-filter-grid {
        grid-template-columns: 1fr;
    }
}

/* Client reporting settings and generated obligations. */
.contractor-reporting {
    --reporting-ink: #182333;
    --reporting-muted: #667085;
    --reporting-line: #dce3ea;
    --reporting-soft: #f5f8fb;
    --reporting-blue: #246bce;
    --reporting-green: #18835d;
    color: var(--reporting-ink);
    padding: 4px;
}

.contractor-reporting-intro,
.contractor-reporting-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.contractor-reporting-intro {
    padding: 22px 24px;
    border: 1px solid #d7e2ee;
    border-radius: 14px;
    background:
        radial-gradient(circle at 90% 0, rgba(36, 107, 206, .13), transparent 34%),
        linear-gradient(135deg, #f8fbff, #eef5fc);
}

.contractor-reporting-intro h3,
.contractor-reporting-section-head h3 {
    margin: 4px 0 7px;
    font-size: 23px;
    font-weight: 700;
    letter-spacing: -.02em;
}

.contractor-reporting-intro p {
    max-width: 720px;
    margin: 0;
    color: #526174;
    line-height: 1.55;
}

.contractor-reporting-eyebrow {
    color: var(--reporting-blue);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.contractor-reporting-owner {
    min-width: 190px;
    padding: 13px 15px;
    border: 1px solid rgba(36, 107, 206, .18);
    border-radius: 10px;
    background: rgba(255, 255, 255, .78);
}

.contractor-reporting-owner span,
.contractor-reporting-owner small {
    display: block;
    color: var(--reporting-muted);
    font-size: 11px;
}

.contractor-reporting-owner strong {
    display: block;
    margin: 3px 0;
    color: var(--reporting-ink);
    font-size: 15px;
}

.contractor-reporting-first-save {
    margin: 14px 0 0;
    border-color: #c9dff5;
    background: #f1f7fd;
    color: #285d8f;
}

.contractor-reporting-settings {
    margin-top: 14px;
    overflow: hidden;
    border: 1px solid var(--reporting-line);
    border-radius: 12px;
    background: #fff;
}

.contractor-reporting-settings > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 18px;
    background: #fbfcfe;
    cursor: pointer;
    list-style: none;
}

.contractor-reporting-settings > summary::-webkit-details-marker {
    display: none;
}

.contractor-reporting-settings-title,
.contractor-reporting-settings-title strong,
.contractor-reporting-settings-title small {
    display: block;
}

.contractor-reporting-settings-title strong {
    color: var(--reporting-ink);
    font-size: 15px;
}

.contractor-reporting-settings-title small {
    margin-top: 4px;
    color: var(--reporting-muted);
    font-weight: 400;
}

.contractor-reporting-settings-action {
    flex: 0 0 auto;
    color: var(--reporting-blue);
    font-size: 12px;
    font-weight: 700;
}

.contractor-reporting-settings-action .glyphicon {
    margin-left: 5px;
    transition: transform .16s ease;
}

.contractor-reporting-settings[open] .contractor-reporting-settings-action .glyphicon {
    transform: rotate(180deg);
}

.contractor-reporting-settings-body {
    padding: 0 14px;
    border-top: 1px solid var(--reporting-line);
}

.contractor-reporting-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 14px;
}

.contractor-reporting-card {
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--reporting-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(35, 52, 72, .045);
}

.contractor-reporting-card-wide {
    grid-column: 1 / -1;
}

.contractor-reporting-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 30px;
    margin-bottom: 14px;
}

.contractor-reporting-card-head > div:first-child {
    display: flex;
    align-items: center;
    gap: 9px;
}

.contractor-reporting-card-head > div:first-child > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 29px;
    height: 29px;
    border-radius: 9px;
    background: #eaf2fc;
    color: var(--reporting-blue);
    font-size: 11px;
    font-weight: 800;
}

.contractor-reporting-card-head h4 {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
}

.contractor-reporting-card-head > small {
    color: var(--reporting-muted);
}

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

.contractor-reporting-choice {
    position: relative;
    margin: 0;
    cursor: pointer;
}

.contractor-reporting-choice.is-hidden {
    display: none;
}

.contractor-reporting-choice input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.contractor-reporting-choice > span {
    display: block;
    min-height: 77px;
    padding: 14px;
    border: 1px solid var(--reporting-line);
    border-radius: 10px;
    background: var(--reporting-soft);
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.contractor-reporting-choice input:checked + span {
    border-color: var(--reporting-blue);
    background: #eff6ff;
    box-shadow: 0 0 0 2px rgba(36, 107, 206, .09);
}

.contractor-reporting-choice strong,
.contractor-reporting-choice small {
    display: block;
}

.contractor-reporting-choice strong {
    margin-bottom: 5px;
    color: var(--reporting-ink);
}

.contractor-reporting-choice small {
    color: var(--reporting-muted);
    font-weight: 400;
    line-height: 1.35;
}

.contractor-reporting-inn-rule {
    margin: 9px 0 0;
    color: var(--reporting-blue);
}

.contractor-reporting-check {
    display: none;
    align-items: flex-start;
    gap: 8px;
    margin: 11px 0 0;
    padding: 10px 11px;
    border-radius: 8px;
    background: #fff8e8;
    color: #735411;
    font-weight: 500;
}

.contractor-reporting-check.is-visible {
    display: flex;
}

.contractor-reporting-check input[type="checkbox"] {
    margin-top: 3px;
}

.contractor-reporting-segmented {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    padding: 4px;
    border-radius: 10px;
    background: #edf1f5;
}

.contractor-reporting-segmented label {
    position: relative;
    margin: 0;
    cursor: pointer;
}

.contractor-reporting-segmented input {
    position: absolute;
    opacity: 0;
}

.contractor-reporting-segmented span {
    display: block;
    padding: 8px 14px;
    border-radius: 7px;
    color: #667085;
    text-align: center;
}

.contractor-reporting-segmented input:checked + span {
    background: #fff;
    color: var(--reporting-blue);
    box-shadow: 0 1px 5px rgba(30, 49, 72, .13);
}

.contractor-reporting-segmented-compact {
    width: 150px;
}

.contractor-reporting-details {
    margin-top: 9px;
    color: var(--reporting-muted);
    font-size: 12px;
}

.contractor-reporting-details summary {
    color: var(--reporting-blue);
    cursor: pointer;
    font-weight: 600;
}

.contractor-reporting-details p {
    margin: 7px 0 0;
}

.contractor-reporting-patents.is-hidden {
    display: none;
}

.contractor-reporting-patent-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 34px;
    gap: 10px;
    align-items: end;
    margin-bottom: 10px;
    padding: 12px;
    border: 1px solid #e2e8ef;
    border-radius: 10px;
    background: var(--reporting-soft);
}

.contractor-reporting-patent-row label {
    color: var(--reporting-muted);
    font-size: 11px;
}

.contractor-reporting-patent-remove {
    width: 34px;
    height: 34px;
    padding: 0;
    color: #ad3b44;
}

.contractor-reporting-tariffs {
    overflow: hidden;
    margin-top: 16px;
    border: 1px solid var(--reporting-line);
    border-radius: 12px;
    background: #fff;
}

.contractor-reporting-tariffs .contractor-reporting-section-head p {
    margin: 5px 0 0;
    color: var(--reporting-muted);
    font-size: 12px;
}

.contractor-reporting-tariff-table {
    min-width: 860px;
    margin: 0;
}

.contractor-reporting-tariff-table > thead > tr > th {
    padding: 10px 12px;
    border-bottom: 1px solid var(--reporting-line);
    background: #f8fafc;
    color: var(--reporting-muted);
    font-size: 10px;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.contractor-reporting-tariff-table > tbody > tr > td {
    padding: 12px;
    border-top-color: #edf0f4;
    vertical-align: middle;
}

.contractor-reporting-tariff-table > tbody > tr > td:first-child {
    min-width: 260px;
}

.contractor-reporting-tariff-table > tbody > tr > td:nth-child(2) {
    min-width: 300px;
}

.contractor-reporting-tariff-table td > strong,
.contractor-reporting-tariff-table td > small {
    display: block;
}

.contractor-reporting-tariff-table td > small {
    margin-top: 3px;
    color: var(--reporting-muted);
    font-size: 11px;
}

.contractor-reporting-tariff-table .is-ready > strong {
    color: var(--reporting-green);
}

.contractor-reporting-tariff-table .is-missing > strong {
    color: #a7640a;
}

.contractor-reporting-actions {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 16px 0 24px;
}

.contractor-reporting-actions .btn {
    padding: 10px 17px;
    border-radius: 9px;
    font-weight: 700;
}

.contractor-reporting-actions > span {
    color: var(--reporting-muted);
    font-size: 12px;
}

.contractor-reporting-calendar {
    overflow: hidden;
    border: 1px solid var(--reporting-line);
    border-radius: 14px;
    background: #fff;
}

.contractor-reporting-proposal-groups {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 14px;
    border-bottom: 1px solid var(--reporting-line);
    background: #f8fafc;
}

.contractor-reporting-proposal-group {
    min-width: 0;
    border: 1px solid #dce5ef;
    border-radius: 9px;
    background: #fff;
}

.contractor-reporting-proposal-group summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 11px 12px;
    cursor: pointer;
}

.contractor-reporting-proposal-group summary::-webkit-details-marker {
    display: none;
}

.contractor-reporting-proposal-group summary span,
.contractor-reporting-proposal-group summary span > small,
.contractor-reporting-proposal-group summary span > strong {
    display: block;
}

.contractor-reporting-proposal-group summary small {
    color: var(--reporting-muted);
    font-weight: 400;
}

.contractor-reporting-proposal-group summary > strong {
    color: var(--reporting-green);
    white-space: nowrap;
}

.contractor-reporting-proposal-group .is-warning {
    color: #a7640a;
}

.contractor-reporting-proposal-group > div {
    padding: 0 12px 10px;
    border-top: 1px solid #edf0f4;
}

.contractor-reporting-proposal-group > div > span {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    padding-top: 8px;
    color: #4c6073;
    font-size: 11px;
}

.contractor-reporting-proposal-group > div > span > strong {
    flex: 0 0 auto;
    white-space: nowrap;
}

.contractor-reporting-section-head {
    align-items: center;
    padding: 18px 20px;
    border-bottom: 1px solid var(--reporting-line);
    background: #fbfcfe;
}

.contractor-reporting-section-head h3 {
    margin-bottom: 0;
    font-size: 19px;
}

.contractor-reporting-section-head > strong {
    padding: 6px 10px;
    border-radius: 999px;
    background: #eaf2fc;
    color: var(--reporting-blue);
    font-size: 12px;
}

.contractor-reporting-table {
    margin: 0;
}

.contractor-reporting-table > thead > tr > th {
    padding: 11px 12px;
    border-bottom: 1px solid var(--reporting-line);
    background: #f8fafc;
    color: var(--reporting-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
    white-space: nowrap;
}

.contractor-reporting-table > tbody > tr > td {
    padding: 12px;
    border-top-color: #edf0f4;
    vertical-align: middle;
}

.contractor-reporting-table td:nth-child(1) {
    white-space: nowrap;
}

.contractor-reporting-table td:nth-child(2) > strong,
.contractor-reporting-table td:nth-child(2) > small {
    display: block;
}

.contractor-reporting-deadline-range > span,
.contractor-reporting-deadline-range > strong {
    display: block;
}

.contractor-reporting-deadline-range > span {
    color: var(--reporting-muted);
    font-size: 11px;
}

.contractor-reporting-proposal-date {
    margin-top: 4px;
    color: var(--reporting-muted);
    font-size: 11px;
    font-weight: 400;
}

.contractor-reporting-task-details {
    margin-top: 5px;
    color: #284e70;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.35;
}

.contractor-reporting-task-price > strong,
.contractor-reporting-task-price > small {
    display: block;
}

.contractor-reporting-task-price > strong {
    color: var(--reporting-green);
    white-space: nowrap;
}

.contractor-reporting-task-price > small {
    margin-top: 3px;
    color: var(--reporting-muted);
    font-size: 10px;
}

.contractor-reporting-task-type {
    display: inline-block;
    margin: 0 5px 4px 0;
    padding: 2px 6px;
    border-radius: 5px;
    background: #eef2f6;
    color: #536273;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.contractor-reporting-task-type.type-tax {
    background: #fff3dc;
    color: #8a5b08;
}

.contractor-reporting-task-type.type-contribution {
    background: #f1ebff;
    color: #6940a4;
}

.contractor-reporting-task-type.type-notification {
    background: #e8f5ff;
    color: #126995;
}

.reporting-rules-obligation-type {
    display: block;
    width: max-content;
    margin-bottom: 4px;
    padding: 2px 6px;
    border-radius: 5px;
    background: #eef2f6;
    color: #536273;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.reporting-rules-obligation-type.type-notification {
    background: #e8f5ff;
    color: #126995;
}

.contractor-reporting-table tr.is-overdue {
    background: #fff7f7;
}

.contractor-reporting-table tr.is-completed {
    color: #7a8795;
    background: #fbfcfc;
}

.contractor-reporting-table tr.is-proposal-peer > td {
    background: #eaf5ff !important;
    transition: background-color .12s ease, box-shadow .12s ease;
}

.contractor-reporting-table tr.is-proposal-source > td {
    background: #d8ecff !important;
    box-shadow: inset 0 1px 0 #9cc8ef, inset 0 -1px 0 #9cc8ef;
}

.contractor-reporting-table tr.is-proposal-source > td:first-child {
    box-shadow: inset 3px 0 0 var(--reporting-blue), inset 0 1px 0 #9cc8ef, inset 0 -1px 0 #9cc8ef;
}

.contractor-reporting-table tr.is-completed td:nth-child(2) > strong {
    text-decoration: line-through;
}

.contractor-reporting-overdue {
    display: block;
    margin-top: 3px;
    color: #b4232c;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.contractor-reporting-status {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--reporting-green);
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.contractor-reporting-empty {
    padding: 42px 24px;
    color: var(--reporting-muted);
    text-align: center;
}

.contractor-reporting-empty > span {
    display: block;
    margin-bottom: 9px;
    color: #8eabc8;
    font-size: 30px;
}

.contractor-reporting-empty strong,
.contractor-reporting-empty p {
    display: block;
    margin: 0;
}

.contractor-reporting-empty p {
    margin-top: 5px;
}

.contractor-reporting-calendar-note {
    margin: 0;
    padding: 11px 14px;
    border-top: 1px solid var(--reporting-line);
    background: #f8fafc;
    color: var(--reporting-muted);
    font-size: 11px;
}

.contractor-reporting-quarter-table {
    min-width: 820px;
    table-layout: fixed;
    font-size: 16px;
}

.contractor-reporting-quarter-table > thead > tr > th {
    font-size: 13px;
}

.contractor-reporting-quarter-table > thead > tr > th:nth-child(1) {
    width: 20%;
}

.contractor-reporting-quarter-table > thead > tr > th:nth-child(2) {
    width: 51%;
}

.contractor-reporting-quarter-table > thead > tr > th:nth-child(3) {
    width: 29%;
}

.contractor-reporting-quarter-group + .contractor-reporting-quarter-group > tr:first-child > td {
    border-top: 2px solid #9fb1c4;
}

.contractor-reporting-quarter-table td.contractor-reporting-reminders {
    padding: 16px 14px;
    background: #fbfcfe;
    vertical-align: top;
    white-space: normal;
}

.contractor-reporting-reminder-event > strong,
.contractor-reporting-reminder-event > small,
.contractor-reporting-reminder-event > em,
.contractor-reporting-reminder-rule {
    display: block;
}

.contractor-reporting-reminder-event + .contractor-reporting-reminder-event {
    margin-top: 10px;
}

.contractor-reporting-reminder-event > strong {
    margin-top: 2px;
    color: #24384b;
    font-size: 15px;
}

.contractor-reporting-reminder-event > small,
.contractor-reporting-reminder-event > em,
.contractor-reporting-reminder-rule {
    max-width: 180px;
    color: var(--reporting-muted);
    font-size: 12px;
    line-height: 1.35;
}

.contractor-reporting-reminder-event > em {
    margin-top: 2px;
    color: #a35b00;
    font-style: normal;
    font-weight: 700;
}

.contractor-reporting-reminder-rule {
    margin-top: 12px;
    padding-top: 9px;
    border-top: 1px solid #dfe6ed;
}

.contractor-reporting-quarter-table .contractor-reporting-quarter-title {
    padding: 13px 14px;
    background: #eef4fa;
    color: #173d61;
    font-size: 17px;
}

.contractor-reporting-quarter-table .contractor-reporting-report-heading > td {
    padding: 11px 14px 5px;
    border-top-color: #dfe6ed;
    background: #fff;
    color: #1f3448;
}

.contractor-reporting-quarter-table .contractor-reporting-quarter-item > td {
    padding: 7px 14px 11px;
    vertical-align: top;
}

.contractor-reporting-quarter-period > strong,
.contractor-reporting-quarter-period > small {
    display: block;
}

.contractor-reporting-quarter-period > small {
    margin-top: 3px;
    color: #526d86;
    font-size: 12px;
    line-height: 1.35;
}

.contractor-reporting-quarter-deadline {
    white-space: normal;
}

.contractor-reporting-send-range {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    min-width: 155px;
    margin: 0 8px 4px 0;
    white-space: nowrap;
}

.contractor-reporting-send-range > span {
    color: var(--reporting-muted);
    font-size: 13px;
}

.contractor-reporting-quarter-table .contractor-reporting-overdue {
    font-size: 12px;
}

.contractor-reporting-quarter-deadline .btn,
.contractor-reporting-quarter-deadline .contractor-reporting-status {
    margin-bottom: 4px;
    vertical-align: middle;
}

.contractor-reporting-quarter-item.is-overdue .contractor-reporting-send-range > strong {
    color: #b4232c;
}

.contractor-reporting-reminder-archive {
    margin-top: 16px;
}

.contractor-reporting-archive-table {
    margin-bottom: 0;
    font-size: 13px;
}

.contractor-reporting-archive-table > thead > tr > th {
    background: #f8fafc;
    color: var(--reporting-muted);
    font-size: 11px;
    white-space: nowrap;
}

.contractor-reporting-archive-table td > strong,
.contractor-reporting-archive-table td > small {
    display: block;
}

.contractor-reporting-archive-table td > small {
    margin-top: 2px;
    color: var(--reporting-muted);
    font-size: 10px;
}

.contractor-reporting-history {
    margin-top: 14px;
    border: 1px solid var(--reporting-line);
    border-radius: 11px;
    background: #fff;
}

.contractor-reporting-history summary {
    padding: 14px 16px;
    cursor: pointer;
    font-weight: 700;
}

.contractor-reporting-history summary span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    margin-left: 5px;
    border-radius: 999px;
    background: #eef2f6;
    color: var(--reporting-muted);
    font-size: 11px;
}

.contractor-reporting-history .table-responsive {
    border-top: 1px solid var(--reporting-line);
}

.contractor-reporting-history .table {
    margin: 0;
}

@media (max-width: 1199px) {
    .contractor-reporting-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .contractor-reporting-intro,
    .contractor-reporting-section-head,
    .contractor-reporting-actions {
        flex-direction: column;
    }

    .contractor-reporting-owner,
    .contractor-reporting-card,
    .contractor-reporting-actions .btn {
        width: 100%;
    }

    .contractor-reporting-grid,
    .contractor-reporting-choice-grid {
        grid-template-columns: 1fr;
    }

    .contractor-reporting-patent-row {
        grid-template-columns: 1fr;
    }

    .contractor-reporting-patent-remove {
        justify-self: end;
    }

    .contractor-reporting-quarter-table {
        min-width: 720px;
    }
}

@font-face {
    font-family: 'Tinkoff Sans';
    src: url('../fonts/tinkoff-sans/TinkoffSans-Medium.eot');
    src: local('Tinkoff Sans Medium'), local('TinkoffSans-Medium'),
        url('../fonts/tinkoff-sans/TinkoffSans-Medium.eot?#iefix') format('embedded-opentype'),
        url('../fonts/tinkoff-sans/TinkoffSans-Medium.woff2') format('woff2'),
        url('../fonts/tinkoff-sans/TinkoffSans-Medium.woff') format('woff'),
        url('../fonts/tinkoff-sans/TinkoffSans-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Tinkoff Sans';
    src: url('../fonts/tinkoff-sans/TinkoffSans-Bold.eot');
    src: local('Tinkoff Sans Bold'), local('TinkoffSans-Bold'),
        url('../fonts/tinkoff-sans/TinkoffSans-Bold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/tinkoff-sans/TinkoffSans-Bold.woff2') format('woff2'),
        url('../fonts/tinkoff-sans/TinkoffSans-Bold.woff') format('woff'),
        url('../fonts/tinkoff-sans/TinkoffSans-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

html,
body,
button,
input,
select,
textarea {
    font-family: 'Tinkoff Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
.fl-r{float:right;}
.text-success{color:#449d44;}
.text-danger{color:#c9302c;}
.text-bold{font-weight:bold;}
.hiddenn{display:none;}
html{
    overflow-y: scroll;
    scrollbar-gutter: stable;
}

.pass-header{padding:50px 0 30px 0;}
.hint{color:#aaa;font-size:12px;}
#set-filter label{font-weight:normal;margin-right:10px;}
label.values{font-weight:normal;margin-right:10px;}
.text-line-through{text-decoration:line-through;color:#449d44;}
a.del{color:#9E9E9E;}
.quaters.is_close span, span.is_close{color:#449d44;text-decoration:line-through;}

.order-return-strike,
.quaters.order-return-strike span {
    color: #c9302c !important;
    text-decoration: line-through;
    text-decoration-color: #c9302c;
}

.order-return-badge {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 6px;
    border: 1px solid #c9302c;
    border-radius: 3px;
    background: #fff;
    color: #c9302c;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    vertical-align: middle;
    white-space: nowrap;
}

.order-return-modal .modal-dialog {
    max-width: 760px;
}

.order-return-lines {
    display: grid;
    gap: 8px;
    margin-bottom: 14px;
}

.order-return-line {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 8px 10px;
    border: 1px solid #d8e1ea;
    border-radius: 4px;
    background: #fff;
    font-weight: 400;
}

.order-return-line-title {
    min-width: 0;
    font-weight: 700;
}

.order-return-line-meta {
    color: #66788a;
    font-size: 12px;
}

.order-return-line-serial .order-return-line-meta strong {
    color: #263b4b;
}

.order-return-line-serial.is-missing {
    background: #f6f7f8;
    color: #7a8792;
}

.order-return-line-serial.is-missing .order-return-line-meta strong {
    color: #a94442;
}

.order-return-serial-warning {
    padding: 8px 10px;
    border: 1px solid #eed3d3;
    border-radius: 4px;
    background: #fff6f6;
    color: #a94442;
    font-size: 12px;
}

.order-return-line .form-control {
    width: 90px;
    height: 30px;
}

.order-return-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin: 10px 0 14px;
}

.order-return-total {
    color: #2c3e50;
}

@media (max-width: 767px) {
    .order-return-line {
        grid-template-columns: 18px minmax(0, 1fr);
    }

    .order-return-line-meta,
    .order-return-line .form-control {
        grid-column: 2;
    }

    .order-return-line .form-control {
        width: 100%;
        max-width: 160px;
    }
}
.no-border td{border:0 !important;}
.input-date {
    width: 120px;
    position: relative;
    display: inline-flex;
    align-items: center;
}

.order-wait-dates {
    margin-left: 8px;
    color: #8a6d3b;
    font-size: 13px;
}

.order-wait-edit {
    margin-left: 6px;
    color: #337ab7;
}

.orderse-state-form {
    display: inline-block;
    margin: 0 0 10px 0;
    vertical-align: middle;
}

.app-shell {
    width: 100%;
    max-width: 1760px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 28px;
    padding-right: 28px;
}

body.app-workspace-layout > .app-main-shell {
    max-width: none;
}

.app-footer-shell {
    margin-top: 10px;
}

@media (min-width: 1200px) {
    .app-body-row {
        display: flex;
        align-items: flex-start;
    }

    .app-sidebar-column {
        float: none;
        width: 300px;
        flex: 0 0 300px;
    }

    .app-content-column {
        float: none;
        width: auto;
        flex: 1 1 auto;
        min-width: 0;
    }
}

@media (min-width: 1600px) {
    .app-sidebar-column {
        width: 320px;
        flex-basis: 320px;
    }
}

.pin-subtitle {
    margin-top: 8px;
    color: #607284;
}

.pin-panel {
    border-radius: 6px;
    overflow: hidden;
}

.pin-input {
    height: 44px;
    font-size: 22px;
    letter-spacing: 4px;
    text-align: center;
}

.pin-full-logout {
    margin-top: 14px;
    text-align: center;
    font-size: 12px;
}

.app-message {
    padding: 10px 12px;
    margin: 12px 0;
    border: 1px solid #d8e1ea;
    border-radius: 4px;
    background: #f7f9fb;
    color: #24384a;
    line-height: 1.45;
}

.app-message-success {
    border-left: 4px solid #2f8f46;
}

.app-message-danger {
    border-left: 4px solid #c92a2a;
}

.contractor-return-toolbar {
    margin: 0 0 14px;
}

.contractor-return-toolbar .btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.contractor-advance-card {
    margin: 14px 0 24px;
    padding: 18px;
    border: 1px solid #d4dde7;
    border-radius: 6px;
    background: #f8fafc;
    box-shadow: 0 1px 2px rgba(24, 39, 54, 0.05);
}

.contractor-advance-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 14px;
    margin-bottom: 14px;
    border-bottom: 1px solid #e1e6ec;
}

.contractor-advance-label {
    color: #607284;
    font-size: 12px;
    font-weight: 600;
    text-transform: none;
}

.contractor-advance-caption {
    margin-top: 4px;
    color: #334e68;
    font-size: 13px;
}

.contractor-advance-value {
    color: #12263a;
    font-size: 24px;
    font-weight: 700;
    white-space: nowrap;
}

.contractor-advance-currency {
    color: #607284;
    font-size: 13px;
    font-weight: 600;
}

.contractor-advance-form label {
    display: block;
    margin-bottom: 6px;
    color: #24384a;
    font-weight: 600;
}

.contractor-advance-controls {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.contractor-advance-controls .form-control {
    max-width: 220px;
}

.contractor-advance-hint {
    margin-top: 8px;
    color: #607284;
    font-size: 12px;
}

.service-flags-row {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    padding: 10px 12px;
    border: 1px solid #d5e4ef;
    border-radius: 4px;
    background: #f2f8fc;
}

.service-save-success {
    display: inline-block;
    margin-left: 12px;
    vertical-align: middle;
}

.service-flags-row label {
    margin: 0;
    font-weight: 600;
}

.service-header-layout {
    display: flex;
    align-items: stretch;
}

.service-header-fields {
    display: flex;
    flex-direction: column;
}

.service-flags-column {
    display: flex;
}

.service-flags-column .service-flags-row {
    flex: 1 1 auto;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 8px;
    margin-top: 25px;
    margin-bottom: 17px;
}

.service-card-divider {
    width: 100%;
    margin: 14px 0 16px;
    border-top: 2px solid #2f3439;
}

.service-card-divider-related {
    margin-top: 20px;
    margin-bottom: 0;
}

.service-name-row,
.service-primary-row,
.service-group-row,
.service-financial-row {
    margin-bottom: 2px;
}

#service-edit-form textarea.form-control {
    max-width: 900px;
    resize: vertical;
}

.service-related-editor {
    margin-top: 20px;
}

.service-editor-tabs {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0;
    border-bottom: 1px solid #9fcfe1;
}

.service-editor-tab {
    min-width: 220px;
    margin: 0 0 -1px;
    padding: 11px 16px;
    color: #286681;
    font-size: 14px;
    text-align: left;
    border: 1px solid #9fcfe1;
    border-bottom-color: #9fcfe1;
    border-radius: 4px 4px 0 0;
    background: #d9edf7;
    cursor: pointer;
}

.service-editor-tab:hover,
.service-editor-tab:focus {
    color: #1f5870;
    background: #cfe8f4;
    outline: none;
}

.service-editor-tab.active,
.service-editor-tab.active:hover,
.service-editor-tab.active:focus {
    color: #1f5870;
    border-bottom-color: #fff;
    background: #c6e5f2;
    box-shadow: inset 0 3px 0 #4ca3c7;
}

.service-editor-tab-panel {
    display: none;
    padding: 16px 12px 6px;
    border-left: 1px solid #bce8f1;
    background: #fff;
}

.service-editor-tab-panel.active {
    display: block;
}

.service-editor-tab-panel > .text-muted:first-child {
    margin-bottom: 14px;
}

.service-editor-tab-panel .table {
    margin-bottom: 12px;
}

.service-composition-add-row {
    overflow: visible;
}

.service-composition-add-button {
    padding-top: 25px;
}

.service-composition-picker {
    position: relative;
}

.service-composition-suggestions {
    position: absolute;
    z-index: 40;
    top: calc(100% + 5px);
    right: 0;
    left: 0;
    max-height: 330px;
    overflow-y: auto;
    padding: 5px;
    border: 1px solid #cbd8e7;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(35, 63, 94, .18);
}

.service-composition-suggestions[hidden],
.service-composition-suggestion[hidden] {
    display: none !important;
}

.service-composition-suggestion {
    display: block;
    width: 100%;
    padding: 9px 10px;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: #273a4d;
    text-align: left;
    cursor: pointer;
}

.service-composition-suggestion:hover,
.service-composition-suggestion:focus,
.service-composition-suggestion.is-active {
    outline: none;
    background: #edf5ff;
}

.service-composition-suggestion span,
.service-composition-suggestion small {
    display: block;
}

.service-composition-suggestion span {
    font-weight: 600;
}

.service-composition-suggestion small {
    margin-top: 2px;
    color: #718196;
    line-height: 1.35;
}

.service-composition-create {
    margin-top: 4px;
    border-top: 1px solid #e1e8f0;
    border-radius: 0 0 5px 5px;
    color: #287345;
}

.service-composition-picker-help {
    display: block;
    margin-top: 5px;
    color: #748397;
    line-height: 1.35;
}

@media (max-width: 767px) {
    .service-header-layout {
        display: block;
    }

    .service-header-fields,
    .service-flags-column {
        display: block;
    }

    .service-flags-column .service-flags-row {
        margin-top: 0;
        margin-bottom: 15px;
    }

    .service-editor-tabs {
        gap: 4px;
    }

    .service-editor-tab {
        flex: 1 1 100%;
        min-width: 0;
    }

    .service-editor-tab-panel {
        padding-right: 0;
        padding-left: 8px;
    }

    .service-composition-add-button {
        padding-top: 0;
    }
}

.service-list-badge {
    display: inline-block;
    margin-left: 6px;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

.service-list-badge-favorite {
    color: #d98200;
}

.service-list-badge-stock {
    color: #2f7d4f;
}

.service-list-badge-serial {
    color: #2f6f9f;
}

.service-list-type-tabs {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    margin-top: 18px;
    margin-bottom: 15px;
}

.service-list-type-tabs > li {
    float: none;
}

.service-list-type-tabs > li > a {
    font-weight: 600;
}

/* Soft service catalog prototype: calm surfaces, subtle separators and compact controls. */
body.app-page-services {
    background: #f6f8fc;
}

.app-page-services .app-page-head + hr {
    border-top-color: #e8eef6;
}

.service-catalog-screen {
    margin-bottom: 24px;
    padding: 18px;
    border-radius: 18px;
    background: #f4f7fb;
    color: #1b2b3c;
}

.service-catalog-alert {
    margin-bottom: 14px;
    padding: 11px 14px;
    border: 1px solid #f2d7d9;
    border-radius: 11px;
    background: #fff7f7;
}

.service-catalog-filter {
    padding: 17px 18px;
    border: 1px solid rgba(66, 105, 152, .09);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(45, 73, 104, .055);
}

.service-catalog-filter-row {
    display: flex;
    align-items: flex-end;
    gap: 12px;
}

.service-catalog-filter-row-primary {
    justify-content: space-between;
}

.service-catalog-search-row {
    margin-top: 14px;
}

.service-catalog-filter-field {
    flex: 0 1 430px;
}

.service-catalog-search-field {
    flex: 1 1 480px;
    max-width: 680px;
}

#set-filter.service-catalog-filter label {
    display: block;
    margin: 0 0 6px;
    color: #64758a;
    font-size: 12px;
    font-weight: 600;
}

.service-catalog-filter .form-control {
    height: 38px;
    border: 1px solid #d8e2ee;
    border-radius: 9px;
    background: #fbfcfe;
    box-shadow: none;
    color: #203247;
    transition: border-color .14s ease, box-shadow .14s ease, background-color .14s ease;
}

.service-catalog-filter .form-control:hover {
    border-color: #bdcde0;
    background: #fff;
}

.service-catalog-filter .form-control:focus {
    border-color: #7fa8e8;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(13, 76, 211, .09);
}

.service-catalog-toolbar,
.service-catalog-filter-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.service-catalog-screen .btn {
    border-radius: 8px;
    box-shadow: none;
    transition: color .14s ease, background-color .14s ease, border-color .14s ease, box-shadow .14s ease;
}

.service-catalog-toolbar .btn,
.service-catalog-filter-actions .btn {
    min-height: 38px;
    padding: 8px 15px;
}

.service-catalog-screen .btn-default {
    border-color: #d9e3ee;
    background: #fff;
    color: #31465b;
}

.service-catalog-screen .btn-default:hover,
.service-catalog-screen .btn-default:focus {
    border-color: #c3d2e2;
    background: #f7faff;
    color: #173d70;
}

.service-catalog-toolbar .btn-primary,
.service-catalog-filter-actions .btn-primary {
    border-color: #0d4cd3;
    background: #0d4cd3;
    color: #fff;
}

.service-catalog-toolbar .btn-primary:hover,
.service-catalog-toolbar .btn-primary:focus,
.service-catalog-filter-actions .btn-primary:hover,
.service-catalog-filter-actions .btn-primary:focus {
    border-color: #0a3da9;
    background: #0a3da9;
    box-shadow: 0 5px 14px rgba(13, 76, 211, .16);
}

#set-filter.service-catalog-filter .service-catalog-archive-toggle {
    display: inline-flex;
    align-items: center;
    align-self: center;
    gap: 7px;
    margin: 20px 0 0 4px;
    color: #50647a;
    font-size: 13px;
    font-weight: 400;
    white-space: nowrap;
}

.service-catalog-archive-toggle input {
    margin: 0;
    accent-color: #0d4cd3;
}

.service-catalog-screen .service-list-type-tabs {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    width: auto;
    margin: 17px 0 12px;
    padding: 4px;
    border: 0;
    border-radius: 12px;
    background: #eaf0f8;
}

.service-catalog-screen .service-list-type-tabs > li > a {
    margin: 0;
    padding: 9px 16px;
    border: 0 !important;
    border-radius: 9px;
    background: transparent;
    color: #49627d;
    font-size: 16px;
    font-weight: 600;
    transition: color .14s ease, background-color .14s ease, box-shadow .14s ease;
}

.service-catalog-screen .service-list-type-tabs > li > a:hover,
.service-catalog-screen .service-list-type-tabs > li > a:focus {
    background: rgba(255, 255, 255, .58);
    color: #0d4cd3;
}

.service-catalog-screen .service-list-type-tabs > li.active > a,
.service-catalog-screen .service-list-type-tabs > li.active > a:hover,
.service-catalog-screen .service-list-type-tabs > li.active > a:focus {
    border: 0;
    background: #fff;
    color: #0d4cd3;
    box-shadow: 0 3px 10px rgba(42, 72, 111, .09);
}

.service-list-table-card {
    overflow-x: auto;
    border: 1px solid rgba(66, 105, 152, .08);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(45, 73, 104, .055);
}

.service-list-table {
    min-width: 760px;
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
}

.service-list-table > thead > tr > th {
    padding: 11px 13px;
    border: 0;
    border-bottom: 1px solid #e8edf4;
    background: #f8fafc;
    color: #6b7b8d;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.25;
}

.service-list-table > tbody > tr > td {
    padding: 11px 13px;
    border: 0;
    border-bottom: 1px solid #edf1f6;
    background: #fff;
    vertical-align: middle;
    line-height: 1.35;
    transition: background-color .12s ease;
}

.service-list-table > tbody > tr:last-child > td {
    border-bottom: 0;
}

.service-list-table > tbody > tr:hover > td {
    background: #f7faff;
}

.service-list-table > tbody > tr > td:last-child {
    white-space: nowrap;
}

.service-list-table > tbody > tr.service-list-has-composition > td {
    vertical-align: top;
}

.service-list-composition {
    margin: 10px 0 0;
    padding: 0 0 0 27px;
    color: #50647a;
}

.service-list-composition > li {
    padding: 7px 8px 7px 3px;
    border-top: 1px solid #edf1f6;
}

.service-list-composition-name {
    color: #263b51;
    font-weight: 600;
}

.service-list-composition-finance {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 10px;
    margin-top: 4px;
    color: #718196;
    font-size: 12px;
}

.service-list-composition-finance span {
    white-space: nowrap;
}

.service-list-composition-finance strong {
    color: #40566d;
    font-weight: 600;
}

.service-list-composition-empty {
    margin-top: 8px;
    color: #93a0ae;
    font-size: 12px;
    font-style: italic;
}

.service-catalog-screen .service-list-badge {
    margin-left: 7px;
    padding: 2px 7px;
    border-radius: 999px;
    background: #edf3ff;
    color: #3a5f97;
    font-size: 10px;
    letter-spacing: .01em;
}

.service-catalog-screen .service-list-badge-stock {
    background: #edf8f1;
    color: #33734d;
}

.service-catalog-screen .service-list-badge-favorite {
    background: #fff7e6;
    color: #9a6812;
}

.service-catalog-screen .service-list-badge-serial {
    background: #eef7fb;
    color: #356d88;
}

.service-catalog-screen .hint {
    color: #8b98a8;
}

.service-list-table .btn-xs {
    min-width: 26px;
    min-height: 25px;
    padding: 3px 7px;
    border-color: transparent;
}

.service-list-table .btn-default {
    background: #f3f6fa;
    color: #52677d;
}

.service-list-table .btn-success {
    background: #edf8f1;
    color: #287345;
}

.service-list-table .btn-danger {
    background: #fff0f0;
    color: #a73c3c;
}

.service-list-table .btn-warning {
    background: #fff7e8;
    color: #946218;
}

.service-list-table .btn-primary {
    background: #edf3ff;
    color: #315fa6;
}

.service-list-table .btn:hover,
.service-list-table .btn:focus {
    border-color: rgba(67, 96, 128, .14);
    box-shadow: 0 2px 7px rgba(45, 73, 104, .08);
}

.service-list-table .btn[disabled] {
    border-color: transparent;
    background: #f7f8fa;
    color: #aab3bd;
    opacity: .72;
}

@media (max-width: 900px) {
    .service-catalog-filter-row {
        flex-wrap: wrap;
    }

    .service-catalog-filter-field,
    .service-catalog-search-field {
        flex: 1 1 100%;
        max-width: none;
    }

    .service-catalog-filter .service-catalog-archive-toggle {
        margin-top: 4px;
    }
}

@media (max-width: 767px) {
    .service-catalog-screen {
        padding: 11px;
        border-radius: 13px;
    }

    .service-catalog-filter {
        padding: 14px;
    }

    .service-catalog-toolbar,
    .service-catalog-filter-actions {
        width: 100%;
        flex-wrap: wrap;
    }

    .service-catalog-screen .service-list-type-tabs {
        display: flex;
        width: 100%;
    }

    .service-catalog-screen .service-list-type-tabs > li {
        flex: 1 1 calc(50% - 4px);
    }

    .service-catalog-screen .service-list-type-tabs > li > a {
        padding-right: 8px;
        padding-left: 8px;
        text-align: center;
    }
}

.order-service-search-group td {
    padding: 9px 10px !important;
    color: #44546a;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    background: #eef3f8;
    border-top: 1px solid #dbe4ee !important;
    border-bottom: 1px solid #dbe4ee !important;
}

.order-service-search-badge {
    display: inline-block;
    margin-left: 8px;
    padding: 2px 6px;
    color: #2f6f9f;
    font-size: 11px;
    font-weight: 700;
    border: 1px solid #c7d8e8;
    border-radius: 4px;
    background: #f2f7fb;
}

.order-service-serial-form {
    margin-top: 10px;
    padding: 10px;
    border: 1px solid #dbe4ee;
    border-radius: 5px;
    background: #f7f9fb;
}

.order-service-serial-form label {
    display: block;
    margin-bottom: 6px;
    color: #44546a;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.order-service-serial-controls {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 6px;
}

.order-service-serial-controls .form-control {
    width: 260px;
    max-width: 100%;
    height: 30px;
}

.order-service-serial-controls.is-returned .form-control[disabled] {
    background: #fff5f5;
    color: #c9302c;
    cursor: default;
    opacity: 1;
}

.order-service-serial-returned {
    display: inline-block;
    padding: 1px 6px;
    border: 1px solid #c9302c;
    border-radius: 3px;
    background: #fff;
    color: #c9302c;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
}

.order-service-serial-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border: 1px solid #d5e0ea;
    border-radius: 50%;
    background: #fff;
    color: #44546a;
    font-size: 12px;
    font-weight: 700;
}

.order-service-serial-state {
    min-width: 82px;
    color: #6b7785;
    font-size: 12px;
}

.order-service-serial-state.is-saved {
    color: #2e7d32;
}

.order-service-serial-state.is-error {
    color: #b42318;
}

.order-service-serial-warning {
    margin-top: 6px;
    color: #b42318;
    font-size: 12px;
    font-weight: 600;
}

.contractor-finance-amount {
    font-weight: 700;
    white-space: nowrap;
}

.contractor-finance-amount-in {
    color: #2e6f3b;
}

.contractor-finance-amount-out {
    color: #8a2f2f;
}

.contractor-finance-amount-hold {
    color: #8a5b11;
}

.contractor-finance-amount-move_to_advance {
    color: #1f6fb2;
}

.contractor-finance-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 10px;
    margin: 0 0 12px;
}

.contractor-finance-summary-card {
    padding: 10px 12px;
    border: 1px solid #dbe2ea;
    border-radius: 4px;
    background: #fff;
}

.contractor-finance-summary-card span {
    display: block;
    margin-bottom: 4px;
    color: #607284;
    font-size: 12px;
}

.contractor-finance-summary-card strong {
    font-size: 16px;
}

.contractor-finance-history-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 12px;
}

.contractor-finance-filter-button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border: 1px solid #d3dde8;
    border-radius: 4px;
    background: #fff;
    color: #24384a;
    line-height: 1.2;
}

.contractor-finance-filter-button:hover,
.contractor-finance-filter-button.is-active {
    border-color: #2f7dbd;
    background: #2f7dbd;
    color: #fff;
}

.contractor-finance-filter-button span {
    color: inherit;
    font-size: 12px;
    opacity: .85;
}

.contractor-finance-operation {
    font-weight: 600;
}

.contractor-finance-operation-payment {
    color: #236b35;
}

.contractor-finance-operation-return {
    color: #7b2727;
}

.contractor-finance-operation-advance_in {
    color: #226a8a;
}

.contractor-finance-operation-move_to_advance {
    color: #1f6fb2;
}

.contractor-finance-operation-advance_out {
    color: #8a5b11;
}

.contractor-finance-operation-hold {
    color: #8a5b11;
}

.contractor-finance-history-row-problem > td {
    box-shadow: inset 3px 0 0 #d9902f;
}

.contractor-finance-paid-for-line + .contractor-finance-paid-for-line {
    margin-top: 6px;
}

.contractor-finance-paid-for-line .app-muted {
    margin-top: 2px;
    font-size: 12px;
}

.contractor-finance-history-filter-empty {
    display: none;
    margin-bottom: 12px;
}

.contractor-finance-history-filter-empty.is-visible {
    display: block;
}

.contractor-advance-card,
.contractor-finance-card {
    margin: 0 0 20px;
    padding: 0;
    color: #203246;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.45;
    border: 1px solid #d7e1ec;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(31, 49, 68, 0.05);
    overflow: hidden;
}

.contractor-advance-card *,
.contractor-finance-card * {
    font-family: inherit;
}

.contractor-advance-summary,
.contractor-finance-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin: 0;
    padding: 15px 18px;
    border-bottom: 1px solid #e1e8f0;
    background: #f7fafc;
}

.contractor-advance-form,
.contractor-finance-invoice-row {
    padding: 16px 18px;
}

.contractor-advance-label,
.contractor-finance-card-head strong {
    display: block;
    margin: 0 0 4px;
    color: #203246;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
}

.contractor-advance-caption,
.contractor-advance-hint,
.contractor-finance-group,
.contractor-finance-card-head .app-muted,
.contractor-finance-history-table .app-muted {
    color: #607284;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.45;
}

.contractor-finance-group {
    display: block;
    margin-top: 2px;
}

.contractor-advance-value {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    color: #12304a;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.contractor-advance-value-amount {
    font-size: inherit;
    line-height: inherit;
}

.contractor-advance-currency {
    color: #607284;
    font-size: 13px;
    font-weight: 600;
    line-height: inherit;
}

.contractor-advance-form label {
    display: block;
    margin: 0 0 7px;
    color: #203246;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
}

.contractor-advance-controls,
.contractor-finance-invoice-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.contractor-advance-controls .form-control,
.contractor-finance-invoice-row .form-control {
    width: 220px;
    max-width: 100%;
    height: 34px;
    font-size: 14px;
}

.contractor-finance-invoice-row .btn,
.contractor-advance-controls .btn {
    min-height: 34px;
    font-size: 14px;
}

.contractor-finance-summary-grid {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 10px;
    margin: 16px 18px 12px;
}

.contractor-finance-summary-card {
    padding: 12px 14px;
    border: 1px solid #dbe4ee;
    border-radius: 5px;
    background: #fbfdff;
}

.contractor-finance-summary-card span {
    display: block;
    margin: 0 0 5px;
    color: #607284;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.35;
}

.contractor-finance-summary-card strong {
    display: block;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
}

.contractor-finance-history-toolbar {
    gap: 8px;
    margin: 0 18px 14px;
}

.contractor-finance-filter-button {
    min-height: 32px;
    padding: 6px 10px;
    font-size: 14px;
    line-height: 1.25;
}

.contractor-finance-filter-button span {
    font-size: 13px;
    line-height: inherit;
}

.contractor-finance-card > .app-message {
    margin: 16px 18px;
}

.contractor-finance-history-table {
    width: 100%;
    margin: 0;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    background: #fff;
    font-size: 14px;
    line-height: 1.45;
}

.contractor-finance-history-table th,
.contractor-finance-history-table td {
    padding: 10px 12px !important;
    color: #203246;
    font-size: 14px;
    line-height: 1.45;
    vertical-align: top !important;
}

.contractor-finance-history-table th {
    color: #203246;
    font-weight: 700;
    background: #f1f5f9;
}

.contractor-finance-operation {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
}

.contractor-finance-tabs-nav {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 16px;
    padding: 0;
    border-bottom: 1px solid #ccd8e4;
}

.contractor-finance-tab-button {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    margin: 0 0 -1px;
    padding: 8px 14px;
    border: 1px solid transparent;
    border-bottom-color: #ccd8e4;
    border-radius: 5px 5px 0 0;
    background: transparent;
    color: #42566a;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.25;
}

.contractor-finance-tab-button:hover {
    color: #1f6fae;
    background: #f4f8fb;
}

.contractor-finance-tab-button.is-active {
    border-color: #ccd8e4;
    border-bottom-color: #fff;
    background: #fff;
    color: #173b5c;
}

.contractor-finance-tab-button > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 10px;
    background: #e7eef5;
    color: #52687c;
    font-size: 12px;
    font-weight: 700;
}

.contractor-finance-tab-button.is-active > span {
    background: #2f7dbd;
    color: #fff;
}

.contractor-finance-tab-panel {
    display: none;
}

.contractor-finance-tab-panel.is-active {
    display: block;
}

.contractor-cash-receipts-summary {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px 14px;
    color: #607284;
    font-size: 13px;
    white-space: nowrap;
}

.contractor-cash-receipts-summary strong {
    display: inline;
    margin: 0;
    color: inherit;
    font-size: inherit;
    font-weight: 700;
    line-height: inherit;
}

.contractor-cash-receipts-summary .is-printed {
    color: #2e6f3b;
}

.contractor-cash-receipts-summary .is-unprinted {
    color: #6c7783;
}

.contractor-cash-receipts-table-wrap {
    overflow-x: auto;
}

.contractor-cash-receipts-table {
    width: 100%;
    min-width: 900px;
    margin: 0;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    background: #fff;
}

.contractor-cash-receipts-table th,
.contractor-cash-receipts-table td {
    padding: 10px 12px !important;
    color: #203246;
    font-size: 14px;
    line-height: 1.4;
    vertical-align: middle !important;
}

.contractor-cash-receipts-table th {
    background: #f1f5f9;
}

.contractor-cash-receipt-type {
    display: block;
    margin-top: 3px;
    color: #2e6f3b;
    font-size: 12px;
    font-weight: 600;
}

.contractor-cash-receipt-type.is-return {
    color: #8a2f2f;
}

.contractor-cash-receipt-type.is-advance {
    color: #1f6fb2;
}

.contractor-cash-receipt-status {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.contractor-cash-receipt-status.is-printed {
    background: #e5f4e9;
    color: #256634;
}

.contractor-cash-receipt-status.is-unprinted {
    background: #edf0f3;
    color: #5f6b76;
}

.kassa-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 0 0 12px;
}

.kassa-tabs {
    border: 1px solid #d8e1ea;
    border-radius: 4px;
    background: #f6f8fa;
}

.kassa-tabs-nav {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 4px;
    padding: 10px 10px 0;
    margin: 0;
    list-style: none;
    border-bottom: 1px solid #d8e1ea;
}

.kassa-tab-button {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 14px;
    border: 1px solid #cbd6e2;
    border-bottom: 0;
    border-radius: 4px 4px 0 0;
    background: #e9eef3;
    color: #24384a;
    font-size: 14px;
    font-weight: 600;
}

.kassa-tab-button.active {
    background: #fff;
    color: #12263a;
}

.kassa-tab-button.kassa-tab-danger {
    color: #c92a2a;
}

.kassa-tab-button.kassa-tab-warning {
    color: #9a6a00;
}

.kassa-tabs-content {
    padding: 14px;
    background: #fff;
    min-height: 320px;
}

.kassa-panel {
    display: none;
    min-height: 260px;
}

.kassa-panel.active {
    display: block;
}

.kassa-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    margin-bottom: 10px;
    border: 1px solid #d8e1ea;
    border-radius: 4px;
    background: #f6f8fa;
}

.kassa-panel-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.kassa-panel-actions .btn-success {
    display: none !important;
}

.fn_status:empty,
.ofd_status:empty,
.infoAddKassa:empty {
    display: none;
}

.kassa-date-invalid {
    border-color: #d9534f;
    box-shadow: 0 0 0 1px #d9534f inset;
}

.kassa-save-error {
    border-color: #d9534f;
    box-shadow: 0 0 0 1px rgba(217, 83, 79, 0.35) inset;
}

li.picker-switch.accordion-toggle {
    display: none;
}

.text-end {
    text-align: right;
}

.kassa-save-state {
    min-width: 78px;
    color: #657789;
    font-size: 12px;
    line-height: 1.2;
    text-align: right;
}

.kassa-save-state-saving {
    color: #657789;
}

.kassa-save-state-saved {
    color: #2e7d43;
}

.kassa-save-state-error {
    color: #b02a2a;
}

.kassa-table,
.ofd_list {
    margin-bottom: 0;
}

.kassa-table > tbody > tr > td,
.ofd_list > tbody > tr > td {
    vertical-align: middle;
}

.kassa-autosize,
.contractor-autosize {
    min-height: 34px;
    overflow: hidden;
    resize: vertical;
}

.contractor-personal-card {
    padding: 18px;
    border: 1px solid #d8e2ec;
    border-radius: 6px;
    background: #f8fafc;
}

.contractor-personal-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 24px;
    margin-bottom: 14px;
}

.contractor-personal-row-full {
    grid-template-columns: minmax(0, 1fr);
}

.contractor-inline-field {
    display: grid;
    grid-template-columns: 105px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-width: 0;
}

.contractor-inline-field label {
    margin: 0;
    text-align: right;
}

.contractor-inline-field-top {
    align-items: start;
}

.contractor-inline-field-top label {
    padding-top: 7px;
}

.contractor-inn-help {
    margin: -7px 0 14px 115px;
}

.contractor-leader-section {
    margin: 20px 0 14px;
    padding-top: 16px;
    border-top: 1px solid #d8e2ec;
}

.contractor-leader-section h4 {
    margin: 0 0 14px;
    color: #263746;
    font-size: 16px;
    font-weight: 700;
}

.contractor-leader-section.is-hidden {
    display: none;
}

.contractor-contracts-placeholder {
    min-height: 150px;
    padding: 32px;
    border: 1px dashed #b9c8d6;
    border-radius: 6px;
    background: #f8fafc;
    color: #617181;
    text-align: center;
}

.contractor-contracts-placeholder h4 {
    margin: 0 0 8px;
    color: #34495e;
}

@media (max-width: 900px) {
    .contractor-personal-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .contractor-inline-field {
        grid-template-columns: 95px minmax(0, 1fr);
    }

    .contractor-inn-help {
        margin-left: 105px;
    }
}

.kassa-fns-upload {
    margin-top: 14px;
    padding: 14px;
    border: 1px solid #d8e2ec;
    border-radius: 6px;
    background: #f7f9fb;
}

.kassa-fns-upload-label {
    display: block;
    margin-bottom: 10px;
    color: #2f3a45;
    font-size: 14px;
    font-weight: 700;
}

.kassa-fns-dropzone {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 94px;
    margin-bottom: 12px;
    padding: 14px;
    border: 1px dashed #8eb6d8;
    border-radius: 6px;
    background: #fff;
    color: #2f5f86;
    text-align: center;
    cursor: pointer;
}

.kassa-fns-dropzone.is-over {
    border-color: #337ab7;
    background: #eaf4fc;
}

.kassa-fns-file-input {
    display: none !important;
}

.kassa-fns-upload-list {
    min-height: 20px;
    margin: 0 0 10px;
    color: #455767;
    font-size: 13px;
}

.kassa-fns-upload-button {
    min-width: 128px;
    min-height: 36px;
    padding: 8px 16px;
    border: 1px solid #2f6fa7;
    border-radius: 4px;
    background: #337ab7;
    color: #fff;
    font-size: 14px;
    cursor: pointer;
}

.kassa-fns-upload-button:disabled {
    opacity: .55;
    cursor: not-allowed;
}

.kassa-fns-upload-status {
    margin-top: 10px;
    color: #657789;
    font-size: 13px;
}

.kassa-fns-upload-status.is-success {
    color: #2e7d43;
}

.kassa-fns-upload-status.is-error {
    color: #b02a2a;
}

.order-doc-delivery {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 4px;
    color: #657789;
    font-size: 12px;
    line-height: 1.35;
    white-space: normal;
}

.order-doc-delivery-label {
    color: #657789;
}

.docs-doc-delivery {
    justify-content: flex-start;
    margin: 0 0 12px 0;
}

.order-doc-status {
    font-weight: 700;
    text-decoration: none;
}

button.order-doc-status {
    border: 0;
    background: transparent;
    padding: 0;
    font: inherit;
    line-height: inherit;
}

.order-doc-status:hover,
.order-doc-status:focus {
    text-decoration: none;
}

.order-doc-status-done {
    color: #2e7d43;
}

.order-doc-status-action {
    color: #1f6fb2;
    cursor: pointer;
}

.order-doc-status-pending {
    color: #9aa8b5;
    cursor: pointer;
}

.order-doc-status-stale {
    color: #c92a2a;
}

.order-doc-status-missing {
    color: #9aa8b5;
}

.cogroups-list-toolbar,
.cogroup-editor-toolbar {
    padding: 12px 14px;
    background: #f7f9fb;
    border: 1px solid #dbe2ea;
    border-left: 4px solid #2f6f9f;
    border-radius: 6px;
}

.cogroups-table > tbody > tr > td {
    padding: 10px 12px;
}

.cogroup-name-cell {
    min-width: 220px;
}

.cogroup-name-link {
    display: inline-block;
    margin-bottom: 4px;
    color: #1f6fb2;
    font-weight: 700;
}

.cogroup-clients-cell {
    color: #2f3a45;
    line-height: 1.45;
}

.cogroup-clients-text {
    max-width: 760px;
}

.cogroup-actions {
    white-space: nowrap;
    text-align: right;
}

.cogroup-actions .btn {
    margin-left: 4px;
    border-radius: 4px;
}

.cogroup-editor-panel,
.cogroup-notes-panel,
.cogroup-correction-panel {
    margin-bottom: 12px;
}

.cogroup-form-grid {
    display: grid;
    grid-template-columns: minmax(260px, 1.4fr) minmax(180px, .8fr) minmax(220px, 1fr);
    gap: 12px 14px;
}

.cogroup-form-grid .form-group {
    margin-bottom: 0;
}

.cogroup-form-main {
    grid-column: 1 / span 2;
}

.cogroup-advance-card {
    max-width: none;
}

.cogroup-correction-panel {
    border-left-color: #c92a2a;
}

.cogroup-field-note {
    margin-top: 6px;
    font-size: 12px;
}
label.simple{font-weight:normal;display:inline;margin-right:10px;}
label.simple input[type=radio]{width:10px;height:10px;display:inline;}

.btn-color-green{background-color:#0f0;color:#555;border:1px #ccc solid;}
.btn-color-yellow{background-color:#ff0;color:#555;border:1px #ccc solid;}
.btn-color-green:hover{background-color:#02BD03;}
.btn-color-yellow:hover{background-color:#EBEB0C;}

.shine{
  color: #fff;
  font-weight: 700;
  text-align: center;
  animation:blur 3s ease-out infinite;
  text-shadow:text-shadow: 0 0 5px #abc, 0 0 7px #abc;
}

@keyframes blur{
  from{
      text-shadow:0px 0px 10px #fff,
      0px 0px 10px #fff,
      0px 0px 25px #fff,
      0px 0px 25px #fff,
      0px 0px 25px #fff,
      0px 0px 25px #fff
      ;}
}


/* kwork_ivan */
.bg-green{
    background: #00FF00;
}
.orders-minus-btn{
    padding: 2px 8px;
    border-radius: 5px;
}
.bg-red{
    background: #FF0000;
} 
.orders-avans{
    margin: 14px 0;
    width: fit-content;
    padding: 2px 0px 2px 6px;
    border-radius: 5px;
    border: 1px solid #ccc;
    font-size: 14px;
}
.orders-avans span{
    background: #00FF00;
    padding: 1px 4px 2px 4px;
    border-bottom-right-radius: 3px;
    border-top-right-radius: 3px;
}
.orders-remain{
    float: left;
    margin: 0;
    font-size: 14px;
    line-height: 32px;
}
.orders-form{
    display: flex;
}
.orders-form .form-group{
    margin-right: 10px;
    margin-left: 10px;
    margin-bottom:0;
    max-width: 20%;
}
.group-search{
    cursor:pointer;
}
.group-search:hover{
    text-decoration:underline;
}
/* kwork_ivan end*/

/* Unified application interface */
.app-screen {
    color: #26323f;
}

.app-screen .form-control {
    border-color: #cfd7df;
    border-radius: 4px;
    box-shadow: none;
}

.app-screen .form-control:focus {
    border-color: #2f6f9f;
    box-shadow: 0 0 0 2px rgba(47, 111, 159, 0.12);
}

.app-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 12px;
}

.app-toolbar-title {
    color: #26323f;
    font-size: 16px;
    font-weight: 700;
}

.app-toolbar-actions,
.app-action-bar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}

.app-toolbar .btn,
.app-action-bar .btn,
.app-filter .btn {
    border-radius: 4px;
}

.app-primary-action {
    font-weight: 700;
}

.app-panel,
.app-filter {
    margin: 0 0 14px;
    padding: 12px 14px;
    background: #f7f9fb;
    border: 1px solid #dbe2ea;
    border-left: 4px solid #2f6f9f;
    border-radius: 6px;
}

.app-panel-success {
    background: #f7faf7;
    border-left-color: #5f8d4e;
}

.app-user-notices {
    display: grid;
    gap: 8px;
    margin: 10px 0 0;
}

.app-user-notice {
    display: block;
    padding: 10px 12px;
    color: #2f3a45;
    background: #f7f9fb;
    border: 1px solid #dbe2ea;
    border-left: 4px solid #2f6f9f;
    border-radius: 6px;
    text-decoration: none;
}

.app-user-notice:hover,
.app-user-notice:focus {
    color: #2f3a45;
    background: #f3f7fa;
    text-decoration: none;
}

.app-user-notice-title {
    display: block;
    margin-bottom: 2px;
    color: #2f6f9f;
    font-weight: 700;
}

.app-user-notice-text {
    display: block;
    font-size: 13px;
}

.app-user-notice-text small {
    color: #5f6c78;
}

.app-filter-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.app-filter-title {
    color: #26323f;
    font-size: 15px;
    font-weight: 700;
}

.app-filter-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(240px, 1fr));
    gap: 12px;
}

.app-filter-search {
    grid-column: 1 / -1;
}

.app-filter-group {
    min-width: 0;
}

.app-filter-label {
    display: block;
    margin-bottom: 6px;
    color: #5f6c78;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

.app-filter-options {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.app-filter-options-note {
    color: #697684;
    font-size: 12px;
}

.app-filter-check {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    margin: 0;
    padding: 5px 8px;
    background: #fff;
    border: 1px solid #d6dde5;
    border-radius: 4px;
    font-size: 12px;
    font-weight: normal;
    line-height: 1.2;
    white-space: nowrap;
}

.app-filter-check input {
    margin: 0 5px 0 0;
}

.app-date-range {
    display: flex;
    align-items: center;
    gap: 8px;
}

.app-date-range .input-date {
    width: 130px;
}

.app-table-form {
    margin-top: 6px;
}

.app-table {
    margin-bottom: 12px;
    background: #fff;
    border-collapse: separate;
    border-spacing: 0;
}

.app-table > thead > tr > th {
    color: #283746;
    font-weight: 700;
    vertical-align: middle;
    background: #f3f6f8;
    border-bottom: 1px solid #cbd5df;
}

.app-table > tbody > tr > td {
    vertical-align: top;
}

.app-table > tbody > tr:hover > td {
    background: #fbfcfd;
}

.app-status-line {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #2f3a45;
}

.app-status-active,
.app-money-danger {
    color: #8a2f2f;
}

.app-status-wait,
.app-money-warn {
    color: #8a5b11;
}

.app-status-wait-today {
    color: #0f5f6f;
}

.app-status-wait-overdue,
.app-status-payment-wait {
    color: #a12626;
}

.app-status-doc-stale {
    color: #b52b27;
}

.app-status-period-missing {
    color: #fff;
}

.app-status-offer {
    color: #315c9d;
}

.app-status-invoice {
    color: #8a5b11;
}

.app-status-done,
.app-money-good {
    color: #2e6f3b;
}

.app-muted {
    color: #5f6c78;
}

.app-page-head {
    margin: 8px 0 16px;
}

.app-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 20px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}

.app-title-link {
    color: #337ab7;
    font-size: 36px;
    font-weight: 400;
    line-height: 1.1;
    text-decoration: underline;
}

.app-title-link:hover,
.app-title-link:focus {
    color: #23527c;
}

.app-user-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
    color: #2f3a45;
    font-size: 14px;
}

.app-user-greeting {
    white-space: nowrap;
}

.app-user-pin {
    padding: 2px 7px;
    border: 1px solid #c8d8e5;
    border-radius: 4px;
    background: #fff;
    color: #38546a;
    font-size: 12px;
    white-space: nowrap;
}

.app-logout-icon {
    width: 28px;
    height: 24px;
    padding: 3px 0;
    text-align: center;
}

.app-user-toolbar .app-manager-switch {
    margin-left: 8px;
}

.app-page-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 12px;
}

.app-page-title {
    margin: 0;
    color: #253241;
    font-size: 28px;
    font-weight: 500;
    line-height: 1.2;
}

.app-manager-switch {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin: 0;
    color: #2f3a45;
    font-size: 14px;
    font-weight: normal;
}

#current-user.app-manager-switch {
    float: none;
    font-size: 14px;
}

.app-manager-switch label {
    margin: 0;
    font-weight: normal;
    white-space: nowrap;
}

.app-manager-switch .form-control {
    width: 200px;
    display: inline-block;
}

.app-client-card {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px;
    background: #f8fafc;
    border: 1px solid #dbe3ec;
    border-left: 4px solid #2f6f9f;
    border-radius: 6px;
}

.app-client-main {
    min-width: 0;
    flex: 1 1 38%;
}

.app-client-eyebrow,
.app-client-group-label,
.app-client-notice-label {
    display: block;
    margin-bottom: 4px;
    color: #6a7683;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

.app-client-title-line {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.app-client-name {
    color: #17324d;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.25;
    overflow-wrap: anywhere;
    text-decoration: none;
}

.app-client-name:hover,
.app-client-name:focus {
    color: #1f6fb2;
    text-decoration: none;
}

.app-client-notice {
    flex: 1 1 32%;
    min-width: 220px;
    padding: 0 16px;
    color: #8a2626;
    border-left: 1px solid #dbe3ec;
}

.app-client-notice-text {
    display: block;
    max-height: 58px;
    overflow: hidden;
    color: #a02727;
    font-size: 13px;
    line-height: 1.35;
    white-space: normal;
}

.app-client-notice-more {
    display: block;
    margin-top: 3px;
    color: #657789;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: uppercase;
}

.app-client-edit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    color: #2f6f9f;
    background: #fff;
    border: 1px solid #cfdbe6;
    border-radius: 50%;
    text-decoration: none;
}

.app-client-edit:hover,
.app-client-edit:focus {
    color: #1f587f;
    background: #eef5fa;
    text-decoration: none;
}

.app-client-edit-current {
    cursor: default;
}

.app-client-return {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 4px;
    white-space: nowrap;
}

.app-client-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: 9px;
    color: #2f3a45;
    font-size: 14px;
}

.app-client-meta-item {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
}

.app-client-meta-item span {
    color: #687481;
}

button.app-client-meta-item {
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    line-height: inherit;
    text-align: left;
}

.app-client-copy {
    cursor: pointer;
}

.app-client-copy:hover,
.app-client-copy:focus {
    color: #1f6fb2;
    outline: 0;
}

.app-client-copy:focus-visible {
    border-radius: 3px;
    box-shadow: 0 0 0 2px rgba(47, 111, 159, 0.22);
}

.app-client-copy::after {
    display: inline-block;
    min-width: 12px;
    color: #278548;
    font-size: 12px;
    font-weight: 700;
}

.app-client-copy.is-copied::after {
    content: "\2713";
}

.app-client-copy.is-copy-error::after {
    content: "!";
    color: #b43b3b;
}

.app-client-group {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-width: 190px;
    padding: 0 0 2px 16px;
    border-left: 1px solid #dbe3ec;
}

.app-client-group-name {
    color: #26323f;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
}

.app-section {
    margin-bottom: 10px;
    padding: 12px 14px;
    background: #fff;
    border: 1px solid #e1e6eb;
    border-radius: 6px;
}

/* Order editor/read screen */
.order-workspace {
    color: #26323f;
}

.order-workspace .form-control {
    border-color: #cfd7df;
    border-radius: 4px;
    box-shadow: none;
}

.order-workspace .form-control:focus {
    border-color: #2f6f9f;
    box-shadow: 0 0 0 2px rgba(47, 111, 159, 0.12);
}

.order-workspace textarea.form-control {
    min-height: 74px;
    resize: vertical;
}

.order-editor-form {
    max-width: 980px;
}

.order-editor-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
    padding: 14px 16px;
    background: #f6f8fa;
    border: 1px solid #dbe2ea;
    border-left: 4px solid #2f6f9f;
    border-radius: 6px;
}

.order-eyebrow {
    margin-bottom: 3px;
    color: #6b7785;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

.order-editor-title {
    color: #17324d;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
}

.order-primary-action {
    min-height: 34px;
    border-radius: 4px;
    white-space: nowrap;
}

.order-editor-form > .form-group,
.order-editor-form > .order-contact-line {
    margin-bottom: 10px;
    padding: 12px 14px;
    background: #fff;
    border: 1px solid #e1e6eb;
    border-radius: 6px;
}

.order-editor-form > .form-group > label:first-child {
    display: block;
    margin-bottom: 8px;
    color: #2e3e4e;
    font-weight: 700;
}

.order-editor-form label.values {
    display: inline-flex;
    align-items: center;
    margin: 0 14px 7px 0;
    font-weight: normal;
    line-height: 1.3;
}

.order-editor-form label.values input {
    margin: 0 5px 0 0;
}

.order-contact-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
}

.order-contact-line span {
    color: #27313b;
    font-size: 16px !important;
}

.order-hidden-field {
    display: none;
}

.order-attention-block {
    background: #fff9f1 !important;
    border-color: #efd1a5 !important;
}

.order-form-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #e5e9ef;
}

.order-status-panel {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 12px;
    padding: 12px 14px;
    color: #2f3a45;
    background: #f8f9fb;
    border: 1px solid #e4e9ef;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 400;
}

.order-status-panel .fl-r {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-left: auto;
}

.order-status-main-line {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 0;
}

.order-document-summary {
    display: flex;
    flex: 1 1 520px;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    min-width: 0;
}

.order-document-title-line {
    font-weight: 700;
    color: #26384a;
    line-height: 1.35;
}

.order-current-status {
    display: inline-flex;
    align-items: center;
    margin-left: 6px;
    padding: 2px 6px;
    border-radius: 4px;
    background: #eef8f0;
    border: 1px solid #c7e1cc;
    font-size: 12px;
    line-height: 1.25;
    vertical-align: middle;
}

.order-current-status.app-status-active {
    background: #fff1f1;
    border-color: #efc8c8;
}

.order-current-status.app-status-wait {
    background: #fff6df;
    border-color: #ead39a;
}

.order-current-status.app-status-wait-today {
    background: #e9f7fb;
    border-color: #b9ddea;
}

.order-current-status.app-status-wait-overdue,
.order-current-status.app-status-payment-wait {
    background: #fff0f0;
    border-color: #edbcbc;
}

.order-current-status.app-status-period-missing {
    color: #fff;
    background: #d9534f;
    border-color: #b52b27;
}

.order-current-status.app-status-doc-stale {
    color: #fff;
    background: #d9534f;
    border-color: #b52b27;
}

.order-current-status.app-status-offer {
    background: #eef4ff;
    border-color: #bfd0eb;
}

.order-current-status.app-status-invoice {
    background: #fff6df;
    border-color: #ead39a;
}

.order-wait-date-list {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    margin-left: 4px;
    vertical-align: middle;
}

.order-wait-date-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 5px 2px 7px;
    border: 1px solid #e4cd8e;
    border-radius: 12px;
    background: #fff8df;
    color: #725a20;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.25;
}

.order-wait-date-chip.is-empty {
    border-color: #d6dce1;
    background: #f2f4f6;
    color: #6b7781;
}

.order-wait-date-remove-form {
    display: inline-flex;
    margin: 0;
}

.order-wait-date-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #b34b42;
    font-size: 10px;
    line-height: 1;
}

.order-wait-date-remove:hover,
.order-wait-date-remove:focus {
    background: #f7d9d5;
    color: #8e241c;
    outline: 0;
}

.order-document-order-lines {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
}

.order-document-order-line {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 4px 8px;
    color: #5f6f80;
    line-height: 1.35;
}

.order-document-order-link {
    display: inline-block;
    padding: 1px 5px;
    border: 1px solid #d7e0e8;
    border-radius: 4px;
    background: #ffffff;
    color: #2b5d89;
    font-weight: 700;
    text-decoration: none;
}

.order-document-order-link:hover {
    border-color: #9fc2e2;
    background: #f4f9fd;
    text-decoration: none;
}

.order-document-order-line.is-current .order-document-order-link {
    border-color: #6aa1cf;
    background: #dceefa;
    color: #1d4f7a;
}

.order-document-order-meta {
    min-width: 0;
}

.doc-download-actions {
    white-space: normal;
}

.doc-download-actions > .CollapsiblePanelContent {
    display: block;
    width: auto;
}

.doc-download-actions > .CollapsiblePanelContent > p {
    margin: 0 0 8px;
}

.income-report-filter {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 12px;
    margin: 18px 0 20px;
}

.income-report-filter .form-group {
    width: 170px;
    margin: 0;
}

.income-report-filter .income-report-receipt-filter {
    width: 260px;
}

.income-report-filter .income-report-user-filter {
    width: 230px;
}

.income-report-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.income-report-card {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 14px 16px;
    background: #f7fafc;
    border: 1px solid #d8e1e9;
    border-radius: 6px;
}

.income-report-card-title {
    color: #536678;
    font-size: 13px;
}

.income-report-card strong {
    color: #1f4f75;
    font-size: 22px;
}

.income-report-card small {
    color: #71808e;
}

.income-report-return {
    color: #b34444 !important;
}

.income-report-card-total {
    background: #edf6ed;
    border-color: #bfd8c0;
}

.income-report-table th,
.income-report-table td {
    vertical-align: middle !important;
}

@media (max-width: 700px) {
    .income-report-filter,
    .income-report-filter .form-group,
    .income-report-filter .income-report-receipt-filter,
    .income-report-filter .income-report-user-filter,
    .income-report-filter .btn {
        width: 100%;
    }
}

.order-action-menu .dropdown-menu {
    min-width: 210px;
    padding: 6px 0;
    border-color: #d7e0e8;
    border-radius: 6px;
    box-shadow: 0 8px 22px rgba(30, 45, 60, 0.14);
}

.order-action-menu .dropdown-menu > li > a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    color: #2f3a45;
    font-size: 13px;
}

.order-action-menu .dropdown-menu > li > a:hover,
.order-action-menu .dropdown-menu > li > a:focus {
    color: #1f5f99;
    background: #f4f8fb;
}

.order-action-menu .dropdown-menu > li > a.order-action-danger {
    color: #b13636;
}

.order-action-menu .dropdown-menu > li > a.order-action-danger:hover,
.order-action-menu .dropdown-menu > li > a.order-action-danger:focus {
    color: #9f2727;
    background: #fff5f5;
}

.order-action-menu .dropdown-menu > .disabled > a,
.order-action-menu .dropdown-menu > .disabled > a:hover,
.order-action-menu .dropdown-menu > .disabled > a:focus {
    color: #9aa6b2;
    cursor: not-allowed;
    background: #fff;
}

.order-inline-message {
    margin: -6px 0 14px;
}

.order-payment-panel {
    margin: 14px 0 18px;
    padding: 14px 16px;
    color: #2f3a45;
    background: #f8f9fb;
    border: 1px solid #e4e9ef;
    border-radius: 6px;
    font-size: 14px;
}

.order-summary-row {
    display: grid;
    grid-template-columns: minmax(400px, 1fr) minmax(0, 2.1fr);
    gap: 4px;
    align-items: stretch;
    margin: 14px 0 18px;
}

.order-summary-payment-column,
.order-summary-document-column {
    display: flex;
    min-width: 0;
}

.order-summary-row .order-payment-panel,
.order-summary-row .order-status-panel {
    width: 100%;
    margin: 0;
}

@media (max-width: 1199px) {
    .order-summary-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }
}

.order-payment-panel p {
    margin-bottom: 10px;
}

.order-payment-layout {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px 28px;
}

.order-payment-main {
    flex: 1 1 360px;
    min-width: 0;
}

.order-payment-panel .orders-form {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 10px;
    margin: 10px 0 0;
    text-align: left;
}

.order-payment-panel .orders-form .form-group {
    margin: 0;
}

.order-payment-panel .orders-form .form-control {
    width: 90px;
}

.group-debt-payment-panel {
    margin: 0;
}

.group-debt-table {
    width: 96%;
    border-collapse: collapse;
    table-layout: fixed;
    background: #fff;
}

.group-debt-table > tbody > tr > td {
    padding: 20px;
    vertical-align: top;
    border: 1px solid #a7a7a7;
}

.group-debt-contractor-cell {
    width: 34%;
}

.group-debt-payment-cell {
    width: 66%;
}

.group-debt-contractor-name {
    margin-bottom: 4px;
    font-size: 16px;
    font-weight: 600;
}

.group-debt-contractor-inn {
    color: #6f7b86;
    font-size: 13px;
}

.group-payment-documents {
    display: flex;
    max-width: 560px;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
}

.group-payment-document {
    min-width: 330px;
    padding: 12px 14px;
    border: 1px solid #dce4ea;
    border-radius: 4px;
    background: #f7f9fb;
}

.group-payment-document-header {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin-bottom: 8px;
}

.group-payment-document-link,
.group-payment-document-title {
    color: #2f3a45;
    font-size: 15px;
    font-weight: 600;
}

.group-payment-document-link:hover,
.group-payment-document-link:focus {
    color: #1e6ea8;
}

.group-payment-document-status {
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    padding: 3px 9px;
    border: 1px solid transparent;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 600;
}

.group-payment-document-status.is-waiting {
    border-color: #efb7b7;
    color: #c45555;
    background: #fff2f2;
}

.group-payment-document-status.is-paid {
    border-color: #acd9bd;
    color: #277343;
    background: #eef9f2;
}

.group-payment-document-orders {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.group-payment-document-order {
    display: grid;
    grid-template-columns: minmax(78px, auto) minmax(110px, 1fr);
    align-items: center;
    column-gap: 12px;
    row-gap: 2px;
    min-height: 30px;
}

.group-payment-order-link {
    display: inline-flex;
    width: max-content;
    min-height: 28px;
    align-items: center;
    padding: 3px 8px;
    border: 1px solid #82bde2;
    border-radius: 4px;
    color: #2475aa;
    background: #edf7fd;
    font-weight: 600;
}

.group-payment-order-link:hover,
.group-payment-order-link:focus {
    color: #195f8e;
    background: #dff1fb;
}

.group-payment-order-debt {
    color: #222;
}

.group-payment-order-paid {
    width: max-content;
    padding: 3px 8px;
    border-radius: 4px;
    color: #277343;
    background: #eaf7ef;
    font-weight: 600;
}

.group-payment-order-partial {
    grid-column: 2;
    color: #2f3a45;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
}

.group-payment-order-partial strong {
    font-weight: 600;
}

.group-debt-payment-panel .group-debt-payment-debt {
    margin: 24px 0 12px;
    color: #222;
    font-size: 18px;
}

.group-debt-payment-panel .pay-block {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 10px;
}

.group-debt-payment-panel .selectPayment {
    min-width: 220px;
    height: 34px;
}

.group-debt-payment-panel .input-for-payment {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

@media (max-width: 820px) {
    .group-debt-table,
    .group-debt-table > tbody,
    .group-debt-table > tbody > tr,
    .group-debt-table > tbody > tr > td {
        display: block;
        width: 100%;
    }

    .group-debt-table > tbody > tr > td + td {
        border-top: 0;
    }

    .group-payment-document {
        width: 100%;
        min-width: 0;
    }
}

.order-payment-paid-block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin: 8px 0 12px;
}

.order-payment-paid-summary {
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 14px;
    white-space: nowrap;
}

.order-payment-paid-line {
    margin: 0;
    color: #2f3a45;
    font-size: 14px;
    font-weight: 400;
    line-height: 28px;
    white-space: nowrap;
}

.order-payment-paid-line strong {
    font-weight: 700;
}

.order-payment-blocked-list {
    display: flex;
    flex: 0 1 560px;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    margin-left: auto;
}

.order-payment-blocked-list .order-payment-blocked-line {
    justify-content: flex-end;
}

.order-payment-blocked-list .order-payment-blocked-line h5 {
    text-align: right;
}

.order-payment-blocked-number {
    display: inline-block;
    min-width: 22px;
    color: #111827;
    font-weight: 700;
}

.order-payment-blocked-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
    width: 100%;
    min-width: 0;
}

.order-payment-blocked-line h5 {
    margin: 0;
    color: #2f3a45 !important;
    font-size: 14px;
    font-weight: 400;
    line-height: 28px;
    white-space: normal;
}

.order-payment-blocked-line .form-select-blocked-amount,
.order-payment-blocked-line .form-blocked-payment-action,
.order-payment-paid-block .form-select-blocked-amount-all {
    margin: 0;
}

.order-payment-blocked-line .form-blocked-payment-action {
    display: inline-flex;
}

.order-payment-blocked-line .select-blocked-amount,
.order-payment-paid-block .select-blocked-amount {
    min-width: 170px;
    height: 28px;
}

.order-partial-payment {
    max-width: 620px;
    margin: -2px 0 10px;
}

.order-partial-payment-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    color: #2f3a45;
    background: transparent;
    border: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 24px;
}

.order-partial-payment-toggle:hover,
.order-partial-payment-toggle:focus {
    color: #1f5f99;
    outline: none;
}

.order-partial-payment-toggle .glyphicon {
    font-size: 11px;
    transition: transform 0.16s ease;
}

.order-partial-payment-toggle[aria-expanded="true"] .glyphicon {
    transform: rotate(180deg);
}

.order-partial-payment-details {
    padding-top: 6px;
}

.order-partial-payment-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
    padding: 7px 10px;
    background: #fff;
    border: 1px solid #dfe6ec;
    border-radius: 4px;
}

.order-partial-payment-row + .order-partial-payment-row {
    margin-top: 6px;
}

.order-partial-payment-amount {
    min-width: 205px;
}

.order-partial-payment-form {
    margin: 0;
}

.order-partial-payment-form .select-blocked-amount {
    min-width: 235px;
    height: 30px;
}

.order-payment-lock-note {
    margin: 0 0 12px;
    color: #d01818;
    font-size: 14px;
    font-weight: 700;
}

.order-reassign-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.order-comment-head {
    margin: 14px 0 0;
    padding: 12px 14px 0;
    background: #fff;
    border: 1px solid #e1e6eb;
    border-bottom: 0;
    border-radius: 6px 6px 0 0;
}

.order-comment-body {
    min-height: 42px;
    margin: 0 0 14px;
    padding: 8px 14px 12px;
    color: #2f3a45;
    background: #fff;
    border: 1px solid #e1e6eb;
    border-top: 0;
    border-radius: 0 0 6px 6px;
}

.order-anchor {
    display: block;
    height: 0;
    overflow: hidden;
}

.order-files-head {
    margin: 18px 0 8px;
}

.order-file-item {
    margin: 4px 0;
}

.order-services-table {
    background: #fff;
    border-collapse: separate;
    border-spacing: 0;
}

.order-services-table > thead > tr > th {
    color: #27313b;
    font-weight: 700;
    vertical-align: middle;
    background: #f3f6f8;
    border-bottom: 1px solid #ccd5df;
}

.order-services-table > tbody > tr > td {
    vertical-align: top;
}

.order-services-table > tbody > tr:hover > td {
    background: #fbfcfd;
}

.order-services-table > tbody > tr.order-service-parent-row > td {
    border-bottom-color: #a9d5b8;
}

.order-services-table > tbody > tr.order-service-related-row > td {
    background: #f7fbf8;
    border-top-color: #a9d5b8;
}

.order-services-table > tbody > tr.order-service-related-row > td:first-child {
    padding-left: 28px;
    box-shadow: inset 4px 0 0 #5cb85c;
}

.order-services-table > tbody > tr.order-service-group-row > td {
    background: #f7fbf8;
}

.order-services-table > tbody > tr.order-service-group-row:hover > td {
    background: #f1f8f3;
}

.order-services-table > tbody > tr.order-service-parent-group > td:first-child {
    border-left: 2px solid #5cb85c;
}

.order-services-table > tbody > tr.order-service-parent-group > td:last-child {
    border-right: 2px solid #5cb85c;
}

.order-services-table > tbody > tr.order-service-parent-group.is-group-start > td {
    border-top: 2px solid #5cb85c;
}

.order-services-table > tbody > tr.order-service-parent-group.is-group-end > td {
    border-bottom: 2px solid #5cb85c;
}

.order-services-table > tbody > tr.order-service-bundle-group > td {
    background: #f5f9fd;
}

.order-services-table > tbody > tr.order-service-bundle-group:hover > td {
    background: #edf5fb;
}

.order-services-table > tbody > tr.order-service-bundle-group > td:first-child {
    padding-left: 28px;
    border-left: 2px solid #4f91c7;
    box-shadow: inset 4px 0 0 #8dbbdf;
}

.order-services-table > tbody > tr.order-service-bundle-group > td:last-child {
    border-right: 2px solid #4f91c7;
}

.order-services-table > tbody > tr.order-service-bundle-group.is-group-start > td {
    border-top: 2px solid #4f91c7;
}

.order-services-table > tbody > tr.order-service-bundle-group.is-group-end > td {
    border-bottom: 2px solid #4f91c7;
}

.order-service-group-caption {
    margin: 0 0 7px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
}

.order-service-bundle-caption {
    color: #376f9d;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.order-service-bundle-caption-title {
    min-width: 0;
}

.order-service-bundle-actions {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 5px;
}

.order-service-bundle-actions form {
    display: inline-block;
    margin: 0;
}

.order-service-group-caption .glyphicon {
    margin-right: 5px;
}

.order-service-relation-note {
    margin: 0 0 4px;
    color: #617168;
    font-size: 14px;
    line-height: 1.35;
}

.order-service-relation-note .glyphicon {
    margin-right: 4px;
    color: #3c9a5f;
}

.order-services-table .btn-xs {
    margin-bottom: 4px;
}

.order-reporting-add-period {
    padding: 3px 0;
    font-weight: 700;
}

.order-reporting-period-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 8px;
}

.order-reporting-period-label {
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
}

.order-reporting-period-row.is-individual {
    margin-left: 8px;
    padding: 7px 8px;
    background: #fff8e8;
    border-left: 3px solid #f0ad4e;
    border-radius: 4px;
}

.order-reporting-period-unique-badge {
    display: inline-block;
    padding: 2px 7px;
    color: #8a5a00;
    background: #fff2cc;
    border: 1px solid #e9c46a;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.25;
}

.order-reporting-unavailable-notice {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    margin: 4px 0 8px;
    padding: 8px 10px;
    color: #8a5a00;
    background: #fff8e8;
    border: 1px solid #efcf82;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
}

.order-reporting-unavailable-notice .glyphicon {
    margin-top: 1px;
}

.order-reporting-period-actions {
    display: inline-grid;
    grid-template-columns: repeat(2, 24px);
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    gap: 5px;
    margin-left: auto;
}

.order-services-table .order-reporting-period-action,
.order-services-table .order-service-row-action,
.order-services-table .order-service-block-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    margin-bottom: 0;
    padding: 0;
}

.order-action-state-slot,
.order-action-state {
    grid-column: 1;
}

.order-action-delete {
    grid-column: 2;
}

.order-reporting-periods-modal .modal-dialog {
    max-width: 640px;
}

.order-reporting-single-service-name {
    margin-bottom: 14px;
    padding: 10px 12px;
    background: #f4f8fb;
    border-left: 3px solid #337ab7;
    border-radius: 4px;
}

.order-reporting-single-service-name span {
    display: block;
    color: #6b7785;
    font-size: 12px;
}

.order-reporting-single-service-name strong {
    display: block;
    margin-top: 2px;
    color: #1f3347;
}

.order-reporting-periods-help {
    margin-bottom: 18px;
    color: #53616f;
    line-height: 1.45;
}

.order-reporting-quarter-fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}

.order-reporting-quarter-fieldset legend {
    margin-bottom: 8px;
    border: 0;
    color: #333;
    font-size: 14px;
    font-weight: 700;
}

.order-reporting-quarter-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.order-reporting-quarter-choice {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 48px;
    margin: 0;
    padding: 10px 12px;
    cursor: pointer;
    color: #35414d;
    background: #f5f7f9;
    border: 1px solid #d2d9df;
    border-radius: 6px;
    transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.order-reporting-quarter-choice:hover {
    background: #edf3f8;
    border-color: #9ebbd2;
}

.order-reporting-quarter-choice.is-selected {
    color: #246b3a;
    background: #edf8f0;
    border-color: #5cb85c;
    box-shadow: inset 0 0 0 1px rgba(92, 184, 92, .2);
}

.order-reporting-quarter-choice.is-unavailable,
.order-reporting-quarter-choice.is-unavailable:hover {
    color: #8a8f94;
    background: #f2f2f2;
    border-color: #d9d9d9;
    box-shadow: none;
    cursor: not-allowed;
}

.order-reporting-quarter-choice-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.order-reporting-quarter-choice-text small {
    font-size: 11px;
    font-weight: 400;
}

.order-reporting-quarter-choice .glyphicon {
    display: none;
    color: #3b9b53;
}

.order-reporting-quarter-choice.is-selected .glyphicon {
    display: inline-block;
}

.order-reporting-quarter-choice input {
    margin: 0;
}

.order-reporting-periods-legend {
    margin: 12px 0 0;
}

.order-reporting-periods-legend-mark {
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-right: 4px;
    vertical-align: -1px;
    background: #edf8f0;
    border: 1px solid #5cb85c;
    border-radius: 3px;
}

@media (max-width: 600px) {
    .order-service-bundle-caption {
        align-items: flex-start;
        flex-direction: column;
    }

    .order-reporting-quarter-grid {
        grid-template-columns: 1fr;
    }
}

.order-service-price-line {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 5px;
}

.order-service-price-copy {
    flex: 0 0 auto;
    white-space: nowrap;
}

.order-service-price-value {
    font-weight: 400;
}

.order-service-count-line {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 4px;
}

.order-service-count-controls {
    display: inline-grid;
    grid-template-columns: 24px 28px 24px 22px;
    align-items: center;
    flex: 0 0 auto;
    column-gap: 4px;
    white-space: nowrap;
}

.order-service-count-form {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    margin: 0;
}

.order-service-count-form.is-hidden {
    visibility: hidden;
    pointer-events: none;
}

.order-service-count-btn {
    width: 24px;
    min-width: 24px;
    padding-left: 6px;
    padding-right: 6px;
    font-weight: 400;
}

.order-service-count-symbol {
    display: inline-block;
    font-family: Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
}

.order-service-count-value {
    display: inline-block;
    width: 28px;
    min-width: 0;
    font-weight: 400;
    text-align: center;
}

.order-price-menu {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
}

.order-price-menu-toggle,
.order-service-count-edit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    text-decoration: none;
}

.order-price-menu-toggle:hover,
.order-price-menu-toggle:focus,
.order-service-count-edit:hover,
.order-service-count-edit:focus {
    color: #20773a;
    background: #eef7f0;
    text-decoration: none;
}

.order-price-menu .dropdown-menu {
    min-width: 240px;
    padding: 6px 0;
    border-color: #d7e0e8;
    border-radius: 6px;
    box-shadow: 0 8px 22px rgba(30, 45, 60, 0.14);
}

.order-price-menu .dropdown-menu > li > a {
    padding: 8px 12px;
    color: #2f3a45;
    font-size: 13px;
}

.order-price-menu .dropdown-menu > li > a:hover,
.order-price-menu .dropdown-menu > li > a:focus {
    color: #1f5f99;
    background: #f4f8fb;
}

.order-price-menu .dropdown-menu > .disabled > a,
.order-price-menu .dropdown-menu > .disabled > a:hover,
.order-price-menu .dropdown-menu > .disabled > a:focus {
    color: #9aa6b2;
    cursor: not-allowed;
    background: #fff;
}

.app-sidebar-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #1f2937;
    text-decoration: none;
}

.app-sidebar-toggle:hover,
.app-sidebar-toggle:focus {
    color: #0f172a;
    text-decoration: none;
    background: #f8fafc;
}

.app-sidebar-toggle .glyphicon {
    color: #64748b;
    font-size: 11px;
    transition: transform .18s ease;
}

.app-sidebar-toggle[aria-expanded="false"] .glyphicon {
    transform: rotate(-90deg);
}

.app-sidebar-submenu {
    margin-bottom: 0;
}

.order-price-modal h3 {
    margin-top: 0;
}

.order-price-modal-info {
    margin: 0 0 14px;
    padding: 10px 12px;
    text-align: left;
    background: #f7f9fb;
    border: 1px solid #e1e7ed;
    border-radius: 6px;
}

.order-price-modal-info span,
.modal-field-label {
    display: block;
    margin-bottom: 5px;
    color: #6a7580;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
}

.order-price-modal-info strong {
    color: #26313d;
    font-size: 15px;
}

.order-add-service-row {
    padding: 12px !important;
    background: #f7f9fb;
}

.order-add-service-row > .btn,
.order-add-service-row > a.btn {
    margin: 0 6px 8px 0;
    border-radius: 4px;
}

.order-service-search-modal h3 {
    margin-top: 0;
    margin-bottom: 12px;
    font-size: 22px;
}

.order-service-search-modal .input-group-append {
    gap: 8px;
    margin-bottom: 12px !important;
}

.order-service-search-modal #search_service {
    min-width: 0;
}

.order-service-search-modal #search_body td {
    vertical-align: middle;
}

.order-service-search-title {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.service-favorite-toggle {
    display: inline-flex;
    align-items: center;
    border: 0;
    background: transparent;
    color: #b7c0cc;
    padding: 0;
    line-height: 1;
    cursor: pointer;
}

.service-favorite-toggle:hover,
.service-favorite-toggle.is-favorite {
    color: #f39c12;
}

.service-favorite-toggle[disabled] {
    cursor: wait;
    opacity: .6;
}

.service-favorite-static {
    display: inline-flex;
    align-items: center;
    color: #b7c0cc;
    line-height: 1;
}

.service-favorite-static.is-favorite {
    color: #f39c12;
}

.service-favorite-static.is-muted {
    opacity: .85;
}

/* Contractor orders list */
.orders-list-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 10px;
}

.orders-list-actions .btn {
    border-radius: 4px;
}

.orders-list-main-action {
    font-weight: 700;
}

.orders-list-filter {
    margin: 0 0 14px;
    padding: 12px 14px;
    background: #f7f9fb;
    border: 1px solid #dbe2ea;
    border-left: 4px solid #2f6f9f;
    border-radius: 6px;
}

.orders-list-filter-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.orders-list-filter-head strong {
    color: #26323f;
    font-size: 15px;
}

.orders-list-filter-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.orders-list-filter-grid {
    display: block;
    background: #fff;
    border: 1px solid #dbe4ee;
    border-radius: 5px;
    overflow: hidden;
}

.orders-list-filter-card {
    display: grid;
    grid-template-columns: 165px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    min-width: 0;
    padding: 10px 12px;
    background: #fff;
    border: 0;
    border-top: 1px solid #e6ebf0;
    border-radius: 0;
}

.orders-list-filter-card:first-child {
    border-top: 0;
}

.orders-list-filter-card-title {
    display: block;
    margin: 6px 0 0;
    color: #5d6875;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.25;
}

.orders-list-filter-docs {
    grid-column: auto;
}

.orders-list-filter-downloads {
    grid-column: auto;
}

.orders-list-filter-doc-count {
    grid-column: auto;
}

.orders-list-filter-checks {
    grid-column: auto;
}

.orders-list-filter-label {
    display: block;
    margin-bottom: 6px;
    color: #5f6c78;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

.orders-filter-options {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 8px;
}

.orders-filter-check {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    margin: 0;
    padding: 5px 8px;
    background: #fbfcfe;
    border: 1px solid #d6dde5;
    border-radius: 4px;
    font-size: 12px;
    font-weight: normal;
    line-height: 1.2;
}

.orders-filter-check input {
    margin: 0 6px 0 0;
}

.orders-date-range {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.orders-date-range .input-date {
    width: 110px;
}

.orders-list-form {
    margin-top: 6px;
}

.orders-list-table {
    margin-bottom: 12px;
    background: #fff;
    border-collapse: separate;
    border-spacing: 0;
}

.orders-list-table > thead > tr > th {
    color: #283746;
    font-weight: 700;
    vertical-align: middle;
    background: #f3f6f8;
    border-bottom: 1px solid #cbd5df;
}

.orders-list-table > tbody > tr > td {
    vertical-align: top;
}

.orders-list-table > tbody > tr:hover > td {
    background: #fbfcfd;
}

.orders-list-status,
.orders-list-payment {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 5px;
    padding: 3px 6px;
    border-radius: 4px;
    font-size: 12px;
    line-height: 1.2;
    white-space: nowrap;
}

.orders-list-status-active {
    color: #8a2f2f;
    background: #fff1f1;
    border: 1px solid #efc8c8;
}

.orders-list-status-wait {
    color: #8a5b11;
    background: #fff6df;
    border: 1px solid #ead39a;
}

.orders-list-status-wait-today {
    color: #0f5f6f;
    background: #e9f7fb;
    border: 1px solid #b9ddea;
}

.orders-list-status-wait-overdue,
.orders-list-status-payment-wait {
    color: #a12626;
    background: #fff0f0;
    border: 1px solid #edbcbc;
}

.orders-list-status.orders-list-status-period-missing {
    padding: 5px 8px;
    color: #fff;
    background: #d9534f;
    border: 1px solid #b52b27;
    border-radius: 3px;
    font-weight: 600;
}

.orders-list-status.orders-list-status-doc-stale {
    color: #fff;
    background: #d9534f;
    border: 1px solid #b52b27;
    font-weight: 600;
    white-space: normal;
}

.orders-list-status-offer {
    color: #315c9d;
    background: #eef4ff;
    border: 1px solid #bfd0eb;
}

.orders-list-status-invoice {
    color: #8a5b11;
    background: #fff6df;
    border: 1px solid #ead39a;
}

.orders-list-status-done {
    color: #2e6f3b;
    background: #eef8f0;
    border: 1px solid #c7e1cc;
}

.orders-list-payment-debt,
.orders-list-payment-over,
.orders-list-payment-empty {
    color: #8a2f2f;
    background: #fff5f5;
    border: 1px solid #efcccc;
}

.orders-list-payment-partial {
    color: #8a5b11;
    background: #fff8e8;
    border: 1px solid #ecd69f;
}

.orders-list-payment-debt.app-money-warn {
    color: #8a5b11;
    background: #fff8e6;
    border-color: #f1d28a;
}

.orders-list-payment-paid {
    color: #2e6f3b;
    background: #eef8f0;
    border: 1px solid #c7e1cc;
}

.orders-list-docs {
    color: #2f3a45;
}

.orders-list-docs nobr {
    white-space: normal;
}

.orders-list-table > tbody > tr > td.orders-list-docs[rowspan] {
    vertical-align: middle;
}

.orders-list-document-count {
    display: block;
    margin-top: 3px;
    color: #7a8793;
    font-size: calc(12px + 1pt);
    font-weight: 400;
    line-height: 1.25;
}

.orders-list-table > tbody > tr.is-document-group-hover > td {
    background: #f7f9fb;
}

.orders-list-table > tbody > tr.is-document-group-hover > td.orders-list-docs[rowspan] {
    background: #f3f7fa;
}

.orders-list-document-link,
.orders-list-service-link {
    color: #000;
}

.orders-list-document-link:hover,
.orders-list-document-link:focus,
.orders-list-service-link:hover,
.orders-list-service-link:focus {
    color: #337ab7;
}

.orders-list-document-editable-icon {
    margin-left: 5px;
    color: #7b8793;
    font-size: 11px;
}

.orders-list-document-link:hover .orders-list-document-editable-icon,
.orders-list-document-link:focus .orders-list-document-editable-icon {
    color: #337ab7;
}

.orders-list-services {
    line-height: 1.45;
}

.orders-list-bundle-title,
.orders-list-service-line {
    display: grid;
    grid-template-columns: 18px 20px minmax(0, 1fr);
    column-gap: 3px;
    align-items: start;
    min-width: 0;
}

.orders-list-bundle-title {
    color: #000;
    font-weight: 600;
}

.orders-list-service-status,
.orders-list-service-relation {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.45em;
    text-align: center;
}

.orders-list-service-status {
    grid-column: 1;
}

.orders-list-service-relation {
    grid-column: 2;
    position: relative;
    align-self: stretch;
}

.orders-list-service-content {
    grid-column: 3;
    min-width: 0;
}

.orders-list-service-link.orders-list-service-period-missing {
    color: #d32f2f;
    font-weight: 600;
}

.orders-list-service-link.orders-list-service-period-missing:hover,
.orders-list-service-link.orders-list-service-period-missing:focus {
    color: #b71c1c;
}

.orders-list-service-relation-icon {
    width: auto;
    margin: 0;
    text-align: center;
}

.orders-list-bundle-icon {
    z-index: 1;
    width: auto;
    margin: 0;
    background: inherit;
    text-align: center;
}

.orders-list-service-marker {
    position: relative;
    z-index: 1;
    display: inline-block;
    width: 11px;
    height: 11px;
    border: 1px solid #111;
    border-radius: 50%;
    box-sizing: border-box;
    background: #fff;
}

.orders-list-service-marker.is-with-addons {
    background: #337ab7;
}

.orders-list-service-tree-trunk,
.orders-list-service-tree-branch::before,
.orders-list-service-tree-branch::after {
    position: absolute;
    display: block;
    content: "";
    pointer-events: none;
}

.orders-list-service-tree-trunk {
    left: 50%;
    top: calc(.725em + 5px);
    bottom: -1px;
    border-left: 2px solid #337ab7;
    transform: translateX(-1px);
}

.orders-list-bundle-title .orders-list-service-tree-trunk {
    top: calc(.725em + 7px);
}

.orders-list-service-tree-branch {
    position: absolute;
    inset: 0;
    display: block;
}

.orders-list-service-tree-branch::before {
    left: 50%;
    top: -1px;
    bottom: -1px;
    border-left: 2px solid #337ab7;
    transform: translateX(-1px);
}

.orders-list-service-tree-branch::after {
    left: 50%;
    right: -3px;
    top: 50%;
    border-top: 2px solid #337ab7;
    transform: translateY(-1px);
}

.orders-list-service-line.is-tree-end .orders-list-service-tree-branch::before {
    bottom: 50%;
}

.orders-list-service-clock {
    margin-right: 3px;
}

.orders-list-service-line.is-block-end,
.orders-list-bundle-title.is-block-end {
    margin-bottom: 8px;
}

.orders-list-services > a,
.orders-list-services a {
    font-weight: 600;
}

.orders-list-comment-title {
    margin: 12px 0 4px;
    color: #5f6c78;
    font-size: calc(12px + 1pt);
}

.orders-list-comment {
    margin: 0;
    padding: 8px 10px;
    background: #f8f9fb;
    border: 1px solid #e1e6eb;
    border-radius: 4px;
}

.orders-list-pagination .pagination {
    margin-top: 4px;
}

/* Contractors overview */
.contractors-filter {
    margin: 0 0 14px;
    padding: 12px 14px;
    background: #f7f9fb;
    border: 1px solid #dbe2ea;
    border-left: 4px solid #2f6f9f;
    border-radius: 6px;
}

.contractors-filter-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.contractors-filter-head strong {
    color: #26323f;
    font-size: 15px;
}

.contractors-filter-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.contractors-filter-grid {
    display: block;
    background: #fff;
    border: 1px solid #dbe4ee;
    border-radius: 5px;
    overflow: hidden;
}

.contractors-filter-search {
    grid-column: auto;
}

.contractors-filter-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    padding: 8px 10px;
    color: #2f6f9f;
    background: #fbfcfe;
    border: 0;
    border-top: 1px solid #e6ebf0;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
}

.contractors-filter-toggle:hover,
.contractors-filter-toggle:focus {
    color: #235b83;
    background: #eef5fb;
    outline: none;
}

.contractors-filter-toggle .glyphicon {
    font-size: 11px;
    transition: transform .15s ease;
}

.contractors-filter-toggle[aria-expanded="true"] .glyphicon {
    transform: rotate(180deg);
}

.contractors-filter-advanced[hidden] {
    display: none;
}

.contractors-filter-advanced .contractors-filter-group:first-child {
    border-top: 1px solid #e6ebf0;
}

.contractors-filter-scope,
.contractors-filter-payment {
    grid-column: auto;
}

.contractors-filter-group {
    display: grid;
    grid-template-columns: 165px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    min-width: 0;
    padding: 10px 12px;
    background: #fff;
    border-top: 1px solid #e6ebf0;
}

.contractors-filter-group:first-child {
    border-top: 0;
}

.contractors-filter-label {
    display: block;
    margin: 6px 0 0;
    color: #5d6875;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.25;
}

.contractors-search-options,
.contractors-type-options,
.contractors-status-options,
.contractors-payment-options {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 7px 8px;
}

.contractors-search-options > span {
    color: #697684;
    font-size: 12px;
}

.contractors-filter-check {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    margin: 0;
    padding: 5px 8px;
    background: #fbfcfe;
    border: 1px solid #d6dde5;
    border-radius: 4px;
    font-size: 12px;
    font-weight: normal;
    line-height: 1.2;
}

.contractors-filter-check input {
    margin: 0 5px 0 0;
}

.contractors-date-range {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.contractors-date-range .input-date {
    width: 110px;
}

.app-sidebar-tools {
    margin-top: 14px;
}

.app-sidebar-tools .contractors-filter-sidebar {
    margin-bottom: 18px;
    padding: 12px;
    border-left-width: 3px;
}

.app-sidebar-tools .contractors-filter-head {
    display: block;
    margin-bottom: 10px;
}

.app-sidebar-tools .contractors-filter-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 10px;
}

.app-sidebar-tools .contractors-filter-actions .btn {
    width: 100%;
    padding-left: 8px;
    padding-right: 8px;
}

.app-sidebar-tools .contractors-filter-grid {
    border-radius: 4px;
}

.app-sidebar-tools .contractors-filter-toggle {
    justify-content: flex-start;
}

.app-sidebar-tools .contractors-filter-group {
    display: block;
    padding: 10px;
}

.app-sidebar-tools .contractors-filter-label {
    margin: 0 0 7px;
}

.app-sidebar-tools .contractors-search-options,
.app-sidebar-tools .contractors-type-options,
.app-sidebar-tools .contractors-status-options,
.app-sidebar-tools .contractors-payment-options {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
}

.app-sidebar-tools .contractors-filter-check {
    width: 100%;
}

.app-sidebar-tools .contractors-date-range {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 6px;
}

.app-sidebar-tools .contractors-date-range .input-date {
    width: 100%;
    min-width: 0;
}

.app-sidebar-tools .orders-list-filter-sidebar {
    margin-bottom: 18px;
    padding: 12px;
    border-left-width: 3px;
}

.app-sidebar-tools .orders-list-filter-head {
    display: block;
    margin-bottom: 10px;
}

.app-sidebar-tools .orders-list-filter-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 10px;
}

.app-sidebar-tools .orders-list-filter-actions .btn {
    width: 100%;
    padding-left: 8px;
    padding-right: 8px;
}

.app-sidebar-tools .orders-list-filter-grid {
    border-radius: 4px;
}

.app-sidebar-tools .orders-list-filter-card {
    display: block;
    padding: 10px;
}

.app-sidebar-tools .orders-list-filter-card-title {
    margin: 0 0 7px;
}

.app-sidebar-tools .orders-filter-options {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
}

.app-sidebar-tools .orders-filter-check {
    width: 100%;
}

.app-sidebar-tools .orders-date-range {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 6px;
}

.app-sidebar-tools .orders-date-range .input-date {
    width: 100%;
    min-width: 0;
}

@media (max-width: 900px) {
    .contractors-filter-group {
        grid-template-columns: 1fr;
    }

    .contractors-filter-label {
        margin-top: 0;
    }
}

.contractors-list-form {
    display: flex;
    flex-direction: column;
    margin-top: 6px;
}

.contractors-list-table {
    margin-bottom: 12px;
    background: #fff;
    border-collapse: separate;
    border-spacing: 0;
}

.contractors-list-table > thead > tr > th {
    color: #283746;
    font-weight: 700;
    vertical-align: middle;
    background: #f3f6f8;
    border-bottom: 1px solid #cbd5df;
}

.contractors-list-table > tbody > tr > td {
    vertical-align: top;
}

.contractors-list-table > tbody > tr:hover > td {
    background: #fbfcfd;
}

.contractor-select-cell {
    width: 70px;
    text-align: center;
    color: #5f6c78;
}

.contractor-select-stack {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
    min-width: 34px;
}

.contractor-select-stack-head {
    gap: 4px;
}

.contractor-row-number {
    display: block;
    line-height: 1.1;
}

.contractor-select-cell .contractors-checkbox,
.contractors-list-table #all-checkbox {
    width: 18px;
    height: 18px;
    margin: 0;
    cursor: pointer;
}

.contractor-name-link {
    font-weight: 700;
}

.contractor-meta {
    display: inline-block;
    margin-top: 3px;
    color: #5f6c78;
}

.contractor-archive-label {
    margin-left: 6px;
    vertical-align: middle;
}

.contractor-create-order-label,
.contractor-dadata-closed-label {
    margin-left: 6px;
    vertical-align: middle;
}

.contractor-registration-status {
    display: inline-block;
    margin-left: 6px;
    vertical-align: middle;
}

.contractors-list-table > tbody > .contractor-dadata-row > td {
    background: #f5fbff;
}

.contractors-list-table > tbody > .contractor-dadata-row:not([data-registration-status="ACTIVE"]) > td {
    background: #fff7f7;
}

.contractors-list-table > tbody > .contractor-dadata-row.is-created > td {
    background: #f2faf3;
}

.contractor-dadata-main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px 12px;
    flex-wrap: wrap;
}

.contractor-dadata-identity {
    min-width: 0;
    flex: 1 1 360px;
}

.contractor-dadata-name {
    display: block;
    color: #1f4f78;
    font-weight: 700;
}

.contractor-dadata-details,
.contractor-dadata-status {
    display: block;
    margin-top: 4px;
    color: #657483;
    font-weight: 400;
    line-height: 1.35;
}

.contractor-dadata-actions {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
}

.contractor-dadata-actions .btn {
    white-space: nowrap;
}

.contractor-ecp-manual-grid {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 0;
    padding: 0;
}

.contractor-ecp-manual-kind,
.contractor-ecp-manual-date {
    padding: 14px;
    border-bottom: 1px solid #ddd;
}

.contractor-ecp-manual-kind {
    border-right: 1px solid #ddd;
}

.contractor-ecp-manual-kind strong,
.contractor-ecp-manual-date strong {
    display: block;
    margin-bottom: 8px;
    font-size: 15px;
}

.contractor-ecp-manual-kind label {
    display: block;
    margin: 6px 0;
    font-weight: normal;
}

.contractor-ecp-manual-date input {
    margin-top: 22px;
}

.contractor-orders-summary {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
}

.contractor-orders-line {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 5px;
    color: #1f2d3d;
    font-size: 12px;
    line-height: 1.3;
}

.contractor-orders-label {
    color: #1f2d3d;
    font-weight: 400;
}

.contractor-orders-count {
    display: inline;
    min-width: 0;
    min-height: 0;
    padding: 0;
    border-radius: 0;
    font-weight: 700;
}

.contractor-orders-active {
    color: #8a2f2f;
}

.contractor-orders-wait {
    color: #8a5b11;
}

.contractor-orders-done {
    color: #2e6f3b;
}

.group-payment-undo-form {
    display: inline-block;
    margin-left: 10px;
}

.contractor-balance {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.contractor-balance-debt,
.contractor-balance-advance {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 8px;
    border-radius: 4px;
    font-weight: 700;
}

.contractor-balance-debt {
    color: #8a2f2f;
    background: #fff1f1;
    border: 1px solid #efc8c8;
}

.contractor-balance-advance {
    color: #2e6f3b;
    background: #eef8f0;
    border: 1px solid #c7e1cc;
}

.contractor-balance-separator {
    color: #8a96a3;
}

.contractor-balance-error {
    display: inline-flex;
    flex-direction: column;
    gap: 2px;
    padding: 6px 8px;
    color: #8a2f2f;
    background: #fff1f1;
    border: 1px solid #efc8c8;
    border-radius: 4px;
}

.contractor-balance-error span {
    font-size: 12px;
}

.contractor-critical-debt {
    display: table;
    clear: both;
    margin-top: 6px;
    padding: 4px 8px;
    border: 1px solid #d9534f;
    border-radius: 4px;
    background: #fbe7e7;
    color: #8a1f1f;
    font-size: 12px;
    font-weight: 700;
}

.contractors-bulk-actions {
    order: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 10px;
}

.contractors-bulk-actions .btn {
    border-radius: 4px;
}

.contractors-group-more-note {
    order: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 12px;
    padding: 10px 12px;
    color: #31465a;
    background: #f4f8fb;
    border: 1px solid #d7e3ee;
    border-left: 4px solid #2f6f9f;
    border-radius: 4px;
}

.contractors-group-more-note .btn {
    flex: 0 0 auto;
}

.contractors-list-form > .contractors-list-table,
.contractors-list-form > .alert {
    order: 2;
}

.contractors-list-form > .contractors-list-pagination {
    order: 3;
}

.contractors-list-pagination .pagination {
    margin-top: 4px;
}

/* Plain table values: keep semantic colors, remove badge backgrounds. */
.orders-list-status,
.orders-list-payment,
.contractor-orders-count,
.contractor-balance-debt,
.contractor-balance-advance {
    min-width: 0;
    min-height: 0;
    margin-bottom: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    font-weight: 700;
}

.orders-list-status,
.orders-list-payment {
    display: inline-flex;
    gap: 4px;
}

.orders-list-status,
.orders-list-payment {
    align-items: flex-start;
    max-width: 100%;
    white-space: normal;
}

.orders-list-status-text {
    min-width: 0;
    overflow-wrap: anywhere;
    white-space: normal;
}

.orders-list-payment-partial .orders-list-status-text {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
}

.contractor-orders-summary {
    gap: 12px;
}

.contractor-balance {
    gap: 7px;
}

.contractor-balance-error {
    padding: 0;
    color: #8a2f2f;
    background: transparent;
    border: 0;
}

@media (max-width: 767px) {
    .app-toolbar,
    .app-toolbar-actions,
    .app-action-bar,
    .app-page-title-row,
    .app-manager-switch,
    .app-filter-head,
    .app-date-range {
        display: block;
    }

    .app-page-title {
        font-size: 24px;
    }

    .app-title-link {
        font-size: 30px;
    }

    .app-user-toolbar {
        justify-content: flex-start;
    }

    .app-user-toolbar .app-manager-switch {
        margin-left: 0;
        width: 100%;
    }

    .app-manager-switch .form-control {
        width: 100%;
        margin-top: 6px;
    }

    .app-client-card {
        display: block;
    }

    .app-client-notice {
        min-width: 0;
        margin-top: 12px;
        padding: 12px 0 0;
        border-left: 0;
        border-top: 1px solid #dbe3ec;
    }

    .app-client-notice-text {
        max-height: none;
    }

    .app-client-group {
        min-width: 0;
        margin-top: 12px;
        padding: 12px 0 0;
        border-left: 0;
        border-top: 1px solid #dbe3ec;
    }

    .app-toolbar .btn,
    .app-toolbar input.btn,
    .app-action-bar .btn,
    .app-filter-head .btn {
        width: 100%;
        margin-top: 8px;
    }

    .app-filter-grid {
        display: block;
    }

    .app-filter-group {
        margin-bottom: 12px;
    }

    .app-date-range .input-date {
        width: 100%;
        margin-bottom: 8px;
    }

    .order-editor-head,
    .order-status-panel {
        display: block;
    }

    .order-editor-head .order-primary-action {
        width: 100%;
        margin-top: 12px;
    }

    .order-status-panel .fl-r {
        float: none;
        margin: 10px 0 0;
    }

    .order-payment-layout {
        display: block;
    }

    .order-payment-blocked-list {
        align-items: flex-start;
        width: 100%;
        margin: 12px 0 0;
    }

    .order-payment-blocked-list .order-payment-blocked-line {
        justify-content: flex-start;
    }

    .order-payment-blocked-list .order-payment-blocked-line h5 {
        text-align: left;
    }

    .order-payment-paid-block,
    .order-payment-blocked-line {
        display: block;
    }

    .order-payment-paid-summary {
        display: inline-flex;
        flex-wrap: wrap;
        white-space: normal;
    }

    .order-payment-panel .orders-form {
        display: block;
    }

    .order-payment-panel .orders-form .form-control {
        width: 100%;
    }

    .order-payment-blocked-line .select-blocked-amount,
    .order-payment-paid-block .select-blocked-amount {
        width: 100%;
        margin-top: 8px;
    }

    .order-add-service-row > .btn,
    .order-add-service-row > a.btn {
        width: 100%;
        margin-right: 0;
    }

    .orders-list-actions,
    .orders-list-filter-head,
    .orders-date-range {
        display: block;
    }

    .orders-list-actions .btn,
    .orders-list-actions input.btn,
    .orders-list-filter-head .btn {
        width: 100%;
        margin-top: 8px;
    }

    .orders-list-filter-grid {
        display: block;
    }

    .orders-list-filter-group {
        margin-bottom: 12px;
    }

    .orders-list-filter-card {
        margin-bottom: 12px;
    }

    .orders-date-range .input-date {
        width: 100%;
        margin-bottom: 8px;
    }

    .contractors-filter-head,
    .contractors-filter-actions,
    .contractors-date-range {
        display: block;
    }

    .contractors-filter-actions .btn {
        width: 100%;
        margin-top: 8px;
    }

    .contractors-filter-grid {
        display: block;
    }

    .contractors-filter-group {
        margin-bottom: 12px;
    }

    .contractors-date-range .input-date {
        width: 100%;
        margin-bottom: 8px;
    }

    .contractors-bulk-actions .btn {
        width: 100%;
    }

    .cogroup-form-grid {
        display: block;
    }

    .cogroup-form-grid .form-group {
        margin-bottom: 12px;
    }

    .contractor-advance-summary,
    .contractor-advance-controls {
        display: block;
    }

    .contractor-advance-value {
        display: block;
        margin-top: 8px;
    }

    .contractor-finance-card-head,
    .contractor-finance-invoice-row {
        display: block;
    }

    .contractor-finance-invoice-row .form-control,
    .contractor-finance-invoice-row .btn {
        width: 100%;
        max-width: none;
        margin-top: 8px;
    }

    .contractor-finance-history-toolbar,
    .contractor-finance-summary-grid {
        display: block;
    }

    .contractor-finance-filter-button,
    .contractor-finance-summary-card {
        width: 100%;
        margin-top: 8px;
    }

    .contractor-finance-tabs-nav {
        display: block;
        border-bottom: 0;
    }

    .contractor-finance-tab-button {
        width: 100%;
        margin: 0 0 6px;
        border: 1px solid #ccd8e4;
        border-radius: 4px;
        text-align: left;
    }

    .contractor-finance-tab-button.is-active {
        border-color: #2f7dbd;
        background: #2f7dbd;
        color: #fff;
    }

    .contractor-cash-receipts-summary {
        display: block;
        margin-top: 10px;
        white-space: normal;
    }

    .contractor-cash-receipts-summary > span {
        display: block;
        margin-top: 4px;
    }
}
.contractor-rutoken-cell {
    min-width: 240px;
}

.contractor-rutoken-current {
    margin-bottom: 6px;
}

.contractor-rutoken-current-taken strong {
    color: #c9302c;
}

.contractor-rutoken-form {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.contractor-rutoken-form select {
    width: 95px;
}

.contractor-rutoken-form input {
    width: 135px;
}

.contractor-rutoken-history {
    margin-top: 6px;
    color: #777;
    font-size: 12px;
    line-height: 1.35;
}
/* Main orders screen: requested normal text weight. */
.contractor-name-link,
.contractor-orders-label,
.contractor-orders-count,
.contractor-balance-debt,
.contractor-balance-advance,
.orders-list-status,
.orders-list-payment,
.orders-list-services > a,
.orders-list-services a {
    font-weight: 400;
}
/* Main client-list row text increased by two points. */
.contractor-select-cell,
.contractor-balance-cell {
    font-size: calc(14px + 2pt);
}

.contractor-name-link {
    font-size: calc(16px + 2pt);
}
/* Main list badges requested normal text weight. */
.contractor-archive-label,
.contractor-critical-debt {
    font-weight: 400;
}
/* Main balance column two-line layout. */
.contractor-balance {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.contractor-balance-row {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.contractor-critical-debt {
    display: inline-flex;
    clear: none;
    margin-top: 0;
    white-space: nowrap;
}
/* Main orders column font size matches balance column. */
.contractor-orders-line {
    font-size: calc(14px + 2pt);
}
/* Compact home and orders list columns. */
.orders-list-table,
.contractors-list-table {
    table-layout: fixed;
    width: 100%;
}

.orders-list-col-number {
    width: 46px;
}

.orders-list-col-date {
    width: 82px;
}

.orders-list-col-status {
    width: 150px;
}

.orders-list-col-docs {
    width: 210px;
}

.orders-list-col-cash {
    width: 240px;
}

.orders-list-date-cell {
    font-size: calc(14px + 1pt);
    line-height: 1.25;
    white-space: nowrap;
}

.orders-list-date-day,
.orders-list-date-time {
    display: block;
}

.orders-list-date-time {
    margin-top: 2px;
    color: #667482;
}

.orders-list-table > tbody > tr > td,
.orders-list-status,
.orders-list-payment,
.orders-list-services,
.orders-list-comment {
    font-size: calc(14px + 1pt);
}

.orders-list-table > thead > tr > th {
    font-size: calc(14px + 1pt);
}

.orders-list-table small {
    font-size: calc(11.9px + 1pt);
}

.orders-list-table .order-return-badge {
    font-size: calc(11px + 1pt);
}

.orders-list-table > thead > tr > th,
.orders-list-cash-cell {
    white-space: nowrap;
}

.orders-list-cash-cell {
    color: #1f2933;
    line-height: 1.45;
}

.orders-list-table > tbody > tr > td.orders-list-cash-cell[rowspan] {
    vertical-align: middle;
}

.orders-list-cash-row {
    display: block;
    width: fit-content;
    max-width: 100%;
    cursor: default;
    transition: color 0.15s ease;
}

.orders-list-cash-row.is-sale:hover {
    color: #218838;
}

.orders-list-cash-row.is-return:hover {
    color: #c62828;
}

.orders-list-cash-label,
.orders-list-cash-amount {
    font-weight: 600;
}

.orders-list-services {
    word-break: normal;
    overflow-wrap: anywhere;
}

.contractors-list-col-select {
    width: 60px;
}

.contractors-list-col-orders {
    width: 220px;
}

.contractors-list-col-balance {
    width: 280px;
}

.contractor-orders-cell,
.contractor-balance-cell {
    width: auto;
}

.contractor-balance-row {
    flex-wrap: nowrap;
}

@media (max-width: 1199px) {
    .orders-list-col-docs {
        width: 180px;
    }

    .orders-list-col-cash {
        width: 220px;
    }

    .contractors-list-col-orders {
        width: 190px;
    }

    .contractors-list-col-balance {
        width: 240px;
    }
}
/* Order card: requested normal text weight. */
.order-document-title-line,
.order-document-order-link,
.order-document-order-meta,
.order-document-order-meta strong,
.order-services-table > tbody > tr > td:first-child > p:not(.order-service-relation-note) strong {
    font-weight: 400;
}

/* Order view: primary content is 16px. */
.order-view {
    font-size: 16px;
}

.order-view .order-document-summary,
.order-view .order-payment-panel,
.order-view .order-payment-paid-line,
.order-view .order-comment-head,
.order-view .order-comment-body,
.order-view .order-services-table > thead > tr > th:not(:last-child),
.order-view .order-services-table > tbody > tr > td:not(:last-child) {
    font-size: 16px;
}

.order-view .order-document-summary .order-current-status,
.order-view .order-document-summary .order-wait-date-chip {
    font-size: 16px;
}

.order-view .order-payment-panel .input-sm,
.order-view .order-payment-panel .btn-xs,
.order-view .order-services-table > tbody > tr > td:not(:last-child) .btn-xs,
.order-view .order-services-table > tbody > tr > td:not(:last-child) .order-service-serial-form label,
.order-view .order-services-table > tbody > tr > td:not(:last-child) .order-service-serial-index,
.order-view .order-services-table > tbody > tr > td:not(:last-child) .order-service-serial-state,
.order-view .order-services-table > tbody > tr > td:not(:last-child) .order-service-serial-warning {
    font-size: calc(12px + 1pt);
}

.order-view .order-document-summary .order-wait-date-remove {
    font-size: calc(10px + 1pt);
}

.order-view .order-payment-panel .form-control,
.order-view .order-payment-panel .btn:not(.btn-xs),
.order-view .order-payment-panel select,
.order-view .order-services-table > tbody > tr > td:not(:last-child) .order-service-group-caption,
.order-view .order-services-table > tbody > tr > td:not(:last-child) .order-service-relation-note,
.order-view .order-services-table > tbody > tr > td:not(:last-child) .order-service-serial-controls .form-control {
    font-size: 16px;
}

.order-view .order-services-table > tbody > tr > td:not(:last-child) .order-price-menu .dropdown-menu > li > a {
    font-size: calc(13px + 1pt);
}

.order-view .order-services-table > tbody > tr > td:not(:last-child) .order-return-badge,
.order-view .order-services-table > tbody > tr > td:not(:last-child) .order-service-serial-returned {
    font-size: calc(11px + 1pt);
}

.order-view #edit-comment .app-drawer-kicker,
.order-view #edit-comment .app-drawer-head h3,
.order-view #edit-comment .app-drawer-body,
.order-view #edit-comment .form-control {
    font-size: 16px;
}

.order-view .order-action-menu > .js-order-actions-open {
    font-size: 18px;
}
/* Order action dropdown submit button matches menu items. */
.order-action-menu .dropdown-menu > li > .app-dropdown-action-button {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 8px 12px;
    border: 0;
    background: transparent;
    color: #2f3a45;
    font-family: inherit;
    font-size: 13px;
    line-height: 1.42857143;
    text-align: left;
    white-space: nowrap;
}

.order-action-menu .dropdown-menu > li > .app-dropdown-action-button:hover,
.order-action-menu .dropdown-menu > li > .app-dropdown-action-button:focus {
    color: #1f5f99;
    background: #f4f8fb;
    outline: none;
}

.order-action-menu .dropdown-menu > li > .app-dropdown-action-button.order-action-danger {
    color: #b13636;
}

.order-action-menu .dropdown-menu > li > .app-dropdown-action-button.order-action-danger:hover,
.order-action-menu .dropdown-menu > li > .app-dropdown-action-button.order-action-danger:focus {
    color: #9f2727;
    background: #fff5f5;
}
/* Sidebar attention block placeholder. */
.app-attention-panel {
    margin: 0 0 16px;
    border: 1px solid #2f2f2f;
    background: #fff;
}

.app-attention-title {
    min-height: 24px;
    padding: 4px 8px;
    border-bottom: 1px solid #2f2f2f;
    background: #d9d9d9;
    color: #1f2d3d;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
}

.app-attention-body {
    height: 165px;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 8px;
    background: #fff;
}
/* Persistent client header and compact open-orders column. */
.app-client-card-empty {
    min-height: 82px;
}

.app-client-name-empty {
    min-width: 160px;
}

.contractors-list-col-open {
    width: 44px;
}

.contractor-open-cell {
    vertical-align: middle !important;
}

.contractor-open-orders {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: #17324d;
    border: 1px solid #c8d4df;
    border-radius: 4px;
    background: #fff;
    text-decoration: none;
}

.contractor-open-orders:hover,
.contractor-open-orders:focus {
    color: #1f6fb2;
    border-color: #9fc2e2;
    background: #eef5fa;
    text-decoration: none;
}

/* Client proposal drawer and active-offer edit lock. */
.order-offer-drawer-shell {
    position: fixed;
    z-index: 1075;
    inset: 0;
    visibility: hidden;
    pointer-events: none;
}

.order-offer-drawer-shell.is-open {
    visibility: visible;
    pointer-events: auto;
}

.order-offer-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(18, 38, 52, .34);
    opacity: 0;
    transition: opacity 180ms ease;
}

.order-offer-drawer-shell.is-open .order-offer-backdrop {
    opacity: 1;
}

.order-offer-drawer {
    position: absolute;
    top: 0;
    right: 0;
    width: min(390px, 94vw);
    height: 100%;
    background: #fff;
    border-left: 1px solid #d9e2ea;
    box-shadow: -14px 0 36px rgba(25, 43, 59, 0.16);
    transform: translateX(102%);
    transition: transform 230ms ease;
}

.order-offer-drawer-shell.is-open .order-offer-drawer {
    transform: translateX(0);
}

.order-offer-drawer-head {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 76px;
    padding: 14px 18px;
    border-bottom: 1px solid #e2e8ee;
    background: #f7f9fb;
}

.order-offer-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid #cfd9e2;
    border-radius: 50%;
    background: #fff;
    color: #315f84;
}

.order-offer-close:hover,
.order-offer-close:focus {
    color: #174e79;
    border-color: #87afd0;
    outline: none;
}

.order-offer-drawer-title {
    color: #20394e;
    font-size: 17px;
    font-weight: 700;
}

.order-offer-drawer-subtitle {
    margin-top: 2px;
    color: #738392;
    font-size: 12px;
}

.order-offer-drawer-body {
    padding: 16px;
}

.order-offer-drawer-action {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    margin: 0 0 10px;
    padding: 14px;
    border: 1px solid #d8e2ea;
    border-radius: 7px;
    background: #fff;
    color: #285c85;
    text-align: left;
    transition: border-color 140ms ease, background 140ms ease, transform 140ms ease;
}

.order-offer-drawer-action:hover,
.order-offer-drawer-action:focus {
    border-color: #8bb4d5;
    background: #f4f9fd;
    outline: none;
    transform: translateX(-2px);
}

.order-offer-drawer-action:disabled {
    cursor: wait;
    opacity: 0.65;
}

.order-offer-drawer-action > .glyphicon {
    margin-top: 2px;
    font-size: 17px;
}

.order-offer-drawer-action span:last-child {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.order-offer-drawer-action strong {
    font-size: 14px;
    font-weight: 600;
}

.order-offer-drawer-action small {
    color: #748493;
    font-size: 12px;
    line-height: 1.4;
}

.order-offer-drawer-action.order-offer-revoke {
    color: #b13a3a;
}

.order-offer-drawer-action.order-offer-revoke:hover,
.order-offer-drawer-action.order-offer-revoke:focus {
    border-color: #e0a6a6;
    background: #fff7f7;
}

.order-offer-drawer-action.is-hidden {
    display: none;
}

.order-offer-expired-note {
    margin: 0 0 10px;
    padding: 12px 13px;
    border: 1px solid #e4c56f;
    border-radius: 7px;
    background: #fff6cf;
    color: #6e5613;
    font-size: 12px;
    line-height: 1.45;
}

.order-offer-readiness {
    margin: 0 0 10px;
    padding: 11px 13px;
    border: 1px solid #cbd7e0;
    border-radius: 7px;
    background: #f7fafc;
    color: #425466;
    font-size: 12px;
    line-height: 1.4;
}

.order-offer-readiness-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 7px;
}

.order-offer-readiness-head button {
    padding: 0;
    border: 0;
    background: transparent;
    color: #1672a8;
    font-size: 12px;
    text-decoration: underline;
    cursor: pointer;
}

.order-offer-readiness-head button:disabled {
    color: #8a99a6;
    cursor: wait;
}

.order-offer-readiness-item {
    position: relative;
    padding-left: 15px;
}

.order-offer-readiness-item + .order-offer-readiness-item {
    margin-top: 5px;
}

.order-offer-readiness-item::before {
    position: absolute;
    top: .42em;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #95a3ad;
    content: "";
}

.order-offer-readiness-item.is-ready {
    color: #28733f;
}

.order-offer-readiness-item.is-ready::before {
    background: #39a65b;
}

.order-offer-readiness-item.is-warning {
    color: #8a6112;
}

.order-offer-readiness-item.is-warning::before {
    background: #e5a72c;
}

.order-offer-public-link {
    margin: 0 0 10px;
    padding: 13px 14px;
    border: 1px solid #a9cce7;
    border-radius: 7px;
    background: #f3f9fd;
}

.order-offer-public-link.is-hidden {
    display: none;
}

.order-offer-public-link-label {
    display: block;
    margin-bottom: 7px;
    color: #63788a;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.order-offer-public-link a {
    display: flex;
    flex-direction: column;
    gap: 4px;
    color: #176da6;
    text-decoration: none;
}

.order-offer-public-link a:hover,
.order-offer-public-link a:focus {
    color: #0d4f7a;
    text-decoration: underline;
    outline: none;
}

.order-offer-public-link strong {
    font-size: 16px;
}

.order-offer-public-link small {
    color: #52738c;
    font-size: 12px;
    line-height: 1.45;
    overflow-wrap: anywhere;
    user-select: all;
}

.order-offer-drawer-message {
    min-height: 20px;
    padding: 5px 3px 0;
    color: #327044;
    font-size: 13px;
}

.order-offer-drawer-message.is-error {
    color: #b33b3b;
}

.order-offer-drawer-open {
    overflow: hidden;
}

.order-offer-lock-alert,
.order-offer-lock-note {
    border-color: #ebcf91;
    background: #fff8e7;
    color: #76561c;
}

.order-services-offer-locked a,
.order-services-offer-locked button,
.order-services-offer-locked input,
.order-services-offer-locked select,
.order-services-offer-locked textarea,
.order-offer-lock-active .order-services-table a,
.order-offer-lock-active .order-services-table button,
.order-offer-lock-active .order-services-table input,
.order-offer-lock-active .order-services-table select,
.order-offer-lock-active .order-services-table textarea {
    pointer-events: none;
    opacity: 0.55;
}

@media (prefers-reduced-motion: reduce) {
    .order-offer-backdrop,
    .order-offer-drawer,
    .order-offer-drawer-action {
        transition: none;
    }
}

/* 2026 workspace and filters redesign */
.app-topbar {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 18px;
    min-height: 44px;
    margin: 0 0 14px;
    border-bottom: 1px solid #dce4eb;
    background: #fff;
}

.app-main-nav {
    display: flex;
    align-items: stretch;
    min-width: 0;
}

.app-main-nav-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 43px;
    padding: 8px 15px;
    border: 0;
    border-left: 1px solid #e1e6eb;
    border-radius: 0;
    background: #fff;
    color: #243746;
    font: inherit;
    text-decoration: none;
    white-space: nowrap;
}

.app-main-nav > :last-child .app-main-nav-item,
.app-main-nav > .app-main-nav-item:last-child {
    border-right: 1px solid #e1e6eb;
}

.app-main-nav-item:hover,
.app-main-nav-item:focus,
.app-main-nav-dropdown.open > .app-main-nav-item {
    background: #f3f7fa;
    color: #176497;
    text-decoration: none;
    outline: none;
}

.app-main-nav-dropdown {
    display: inline-flex;
}

.app-main-nav-dropdown .dropdown-menu {
    margin-top: 0;
}

.app-user-toolbar {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    padding-right: 2px;
}

.app-client-card-empty {
    min-height: 72px;
    align-items: center;
}

.app-client-card-empty .app-client-eyebrow,
.app-client-card-empty .app-client-meta,
.app-client-card-empty .app-client-group {
    display: none;
}

.app-client-card-empty .app-client-name-empty {
    color: #172f43;
    font-size: 26px;
    font-weight: 500;
}

.app-body-row {
    display: flex;
    align-items: stretch;
}

.app-sidebar-column {
    flex: 0 0 25%;
    width: 25%;
    max-width: 25%;
}

.app-content-column {
    flex: 0 0 75%;
    width: 75%;
    max-width: 75%;
}

.app-work-panel {
    display: flex;
    flex-direction: column;
    min-height: 650px;
    height: calc(100vh - 190px);
    border: 1px solid #bac6cf;
    background: #edf1f4;
    overflow: hidden;
}

.app-work-panel-title {
    flex: 0 0 auto;
    padding: 9px 12px;
    border-bottom: 1px solid #8997a2;
    background: #e8edf1;
    color: #182c3c;
    font-size: 22px;
    line-height: 1.2;
    text-align: center;
}

.app-work-section {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    min-height: 0;
    border-bottom: 1px solid #8b98a1;
    background: #fff;
}

.app-work-section:last-child {
    border-bottom: 0;
}

.app-work-section + .app-work-section {
    border-top: 7px solid #edf1f4;
}

.app-work-section.app-work-bottom {
    margin-top: 7px;
    border-top: 0;
}

.app-work-section.is-empty {
    flex: 0 0 auto;
}

.app-work-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 0 0 auto;
    min-height: 34px;
    padding: 6px 10px;
    border-top: 4px solid #1c8c50;
    border-bottom: 1px solid #c9d2d9;
    background: #fff;
    color: #152b3c;
    font-size: 17px;
}

.app-work-new .app-work-section-head {
    border-top-color: #df3b32;
}

.app-work-bottom .app-work-section-head {
    border-top-color: #e2c624;
}

.app-work-section-refresh {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.app-work-section-refresh:hover,
.app-work-section-refresh:focus {
    color: #286d9f;
    outline: 0;
}

.app-work-section-body {
    flex: 1 1 auto;
    min-height: 0;
    padding: 2px 9px 8px;
    overflow-y: auto;
}

.app-work-empty {
    padding: 18px 8px;
    color: #87939c;
    font-size: 13px;
    text-align: center;
}

.app-work-item {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr) 24px;
    gap: 7px;
    align-items: center;
    padding: 9px 3px;
    border-bottom: 1px solid #d7dde2;
}

.app-work-item.is-recent {
    margin: 2px -5px;
    padding-right: 8px;
    padding-left: 8px;
    border-radius: 5px;
    background: #fff6bf;
    animation: app-work-highlight 4s ease-out both;
}

.app-work-item.has-document-error .app-work-item-icon {
    color: #b52b27;
}

.app-work-item.has-document-error .app-work-state {
    padding: 5px 7px;
    overflow: visible;
    border: 1px solid #edbcbc;
    border-radius: 4px;
    background: #fff0f0;
    color: #b52b27;
    font-weight: 600;
    line-height: 1.3;
    text-overflow: clip;
    white-space: normal;
}

.app-work-item.has-document-error .app-work-state span {
    color: #6a7884;
    font-weight: 400;
}

@keyframes app-work-highlight {
    from { background: #f8e25a; }
    to { background: #fff6bf; }
}

.app-work-item-icon {
    color: #536779;
    text-align: center;
}

button.app-work-item-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 24px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: transparent;
    font: inherit;
    line-height: 1;
    cursor: pointer;
}

button.app-work-item-icon:hover,
button.app-work-item-icon:focus {
    background: #e8f1f7;
    color: #225eaa;
    outline: 0;
}

button.app-work-item-icon:active {
    transform: translateY(1px);
}

.app-work-item-copy {
    min-width: 0;
}

.app-work-item.is-current {
    background: #e3f4e8;
    box-shadow: inset 4px 0 0 #2a8f5b;
}

.app-work-item.is-current .app-work-item-copy {
    margin: -4px 0;
    padding: 4px 7px;
    border: 1px solid #78b98b;
    border-radius: 4px;
    background: #d5eddd;
}

.app-work-client {
    display: block;
    overflow: hidden;
    color: #225eaa;
    font-size: 15px;
    font-weight: 400;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-work-state {
    margin-top: 2px;
    overflow: hidden;
    color: #263b4b;
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-work-state span {
    color: #6a7884;
}

.app-work-offer-countdown {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    max-width: 100%;
    margin-top: 6px;
    padding: 4px 7px;
    border: 1px solid #b9d6e9;
    border-radius: 5px;
    background: #f2f8fc;
    color: #4d6d83;
    font-size: 12px;
    line-height: 1.2;
}

.app-work-offer-countdown > i {
    color: #2c82ba;
}

.app-work-offer-countdown > strong {
    color: #176da6;
    font: 700 13px/1.2 "Courier New", monospace;
    font-variant-numeric: tabular-nums;
    letter-spacing: .01em;
}

.app-work-offer-countdown.is-expired {
    border-color: #e2bbbb;
    background: #fff5f5;
    color: #a14343;
}

.app-work-offer-countdown.is-expired > i,
.app-work-offer-countdown.is-expired > strong {
    color: #b33f3f;
}

.app-work-state .app-work-overdue {
    display: inline-block;
    padding: 2px 7px;
    border-radius: 3px;
    background: #e9ecef;
    color: #4f5b66;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .2px;
}

.app-work-comment {
    position: relative;
    display: flex;
    gap: 6px;
    align-items: flex-start;
    margin-top: 8px;
    padding: 7px 9px;
    border: 1px solid #efbbc8;
    border-radius: 9px;
    background: #fff0f4;
    color: #7d3547;
    font-size: 13px;
    line-height: 1.35;
    overflow-wrap: anywhere;
    white-space: normal;
}

.app-work-comment::before {
    position: absolute;
    top: -5px;
    left: 14px;
    width: 9px;
    height: 9px;
    border-top: 1px solid #efbbc8;
    border-left: 1px solid #efbbc8;
    background: #fff0f4;
    content: "";
    transform: rotate(45deg);
}

.app-work-comment > i {
    flex: 0 0 auto;
    margin-top: 1px;
    color: #c65f79;
}

.app-work-comment > span {
    min-width: 0;
}

.app-work-comment.is-client {
    border-color: #e0bd52;
    background: #fff4bd;
    color: #5f4a0a;
}

.app-work-comment.is-client::before {
    border-color: #e0bd52;
    background: #fff4bd;
}

.app-work-comment.is-client > i {
    color: #9a7500;
}

.app-work-open {
    color: #8a969f;
    font-size: 16px;
    text-align: center;
}

.app-work-open:hover,
.app-work-open:focus {
    color: #69767f;
}

.app-work-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    flex: 0 0 auto;
    border-bottom: 1px solid #c6d0d8;
    background: #f7f9fb;
}

.app-work-tab {
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr) auto;
    gap: 5px;
    align-items: center;
    min-width: 0;
    padding: 6px 7px;
    border-top: 4px solid #e1c620;
    border-bottom: 1px solid #e0e5e9;
    color: #2b3d4a;
    font-size: 12px;
    text-decoration: none;
}

.app-work-tab span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-work-tab.is-active,
.app-work-tab:hover,
.app-work-tab:focus {
    background: #fff8c9;
    color: #173b55;
    text-decoration: none;
}

.app-list-filter-form {
    margin-bottom: 12px;
}

.app-list-toolbar,
.orders-list-actions {
    display: flex;
    align-items: center;
    gap: 9px;
    width: 100%;
    margin-bottom: 8px;
}

.app-search-box {
    display: flex;
    align-items: stretch;
    flex: 1 1 540px;
    max-width: 720px;
}

.contractors-main-toolbar .app-search-box {
    flex: 0 1 auto;
    max-width: none;
}

.contractors-main-toolbar .app-search-scope {
    flex: 0 0 auto;
    align-self: center;
    min-height: 30px;
    margin-right: 9px;
    border-color: #c5cdd3;
    background: #f7f8f9;
    color: #52616c;
    white-space: nowrap;
}

.contractors-main-toolbar #contractors-search-input {
    flex: 0 1 260px;
    width: 260px;
    min-width: 180px;
}

.contractors-main-toolbar .app-toolbar-divider {
    flex: 0 0 1px;
    width: 1px;
    height: 34px;
    margin: 0 8px;
    background: #31414c;
}

.contractors-main-toolbar .contractors-active-filters {
    flex: 1 1 auto;
    flex-wrap: nowrap;
    min-width: 0;
    margin-bottom: 0;
    overflow-x: auto;
    white-space: nowrap;
}

.contractors-main-toolbar .contractors-active-filters .app-filter-chip {
    flex: 0 0 auto;
}

.app-search-box .form-control {
    height: 34px;
    border-radius: 4px 0 0 4px;
}

.app-search-box .btn {
    margin-left: -1px;
    border-radius: 0;
}

.app-search-box .btn:last-child {
    border-radius: 0 4px 4px 0;
}

.app-search-scope.is-active {
    position: relative;
    z-index: 1;
    border-color: #2472a4;
    background: #e6f3fb;
    color: #155d8e;
    box-shadow: inset 0 0 0 1px #2472a4;
}

.app-search-scope-remove {
    display: none;
    font-weight: 700;
    line-height: 1;
}

.app-search-scope.is-active .app-search-scope-remove {
    display: inline;
}

.app-list-action-dropdown {
    margin-left: auto;
}

.app-action-button {
    color: #173c55;
    font-weight: 600;
    text-transform: none;
}

.app-list-action-dropdown .dropdown-menu {
    min-width: 245px;
    padding: 5px 0;
}

.app-list-action-dropdown .dropdown-menu > li > button {
    display: block;
    width: 100%;
    padding: 7px 20px;
    border: 0;
    background: transparent;
    color: #333;
    line-height: 1.42857143;
    text-align: left;
    white-space: nowrap;
}

.app-list-action-dropdown .dropdown-menu > li > button:hover,
.app-list-action-dropdown .dropdown-menu > li > button:focus {
    background: #f5f5f5;
    outline: none;
}

.orders-list-actions-spacer {
    flex: 1 1 auto;
}

.orders-list-toolbar-row {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    width: 100%;
    margin-bottom: 8px;
}

.orders-list-filter-form {
    flex: 1 1 auto;
    min-width: 0;
}

.orders-list-filter-line {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
}

.orders-list-filter-line > .btn {
    flex: 0 0 auto;
}

.orders-list-filter-line .app-active-filters {
    flex: 1 1 auto;
    flex-wrap: nowrap;
    min-width: 0;
    margin-bottom: 0;
    overflow-x: auto;
    white-space: nowrap;
}

.orders-list-filter-line .app-filter-chip {
    flex: 0 0 auto;
}

.orders-list-filter-line .app-filter-found {
    flex: 0 0 auto;
    margin-left: 0;
}

.orders-list-toolbar-row .orders-list-primary-actions {
    flex: 0 0 auto;
    width: auto;
    margin-bottom: 0;
}

.app-active-filters {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    min-height: 30px;
    margin-bottom: 8px;
    color: #415666;
    font-size: 12px;
}

.app-active-filter-summary {
    font-weight: 600;
}

.app-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 25px;
    padding: 3px 8px;
    border: 1px solid #7da8c6;
    border-radius: 13px;
    background: #f2f8fc;
    color: #245c82;
    font: inherit;
}

button.app-filter-chip:hover {
    border-color: #c85c58;
    background: #fff5f4;
    color: #a23d39;
}

.app-filter-chip-fixed {
    border-color: #c5cdd3;
    background: #f7f8f9;
    color: #52616c;
}

.app-filter-found {
    margin-left: auto;
    font-weight: 600;
}

.app-drawer-backdrop {
    position: fixed;
    z-index: 1075;
    inset: 0;
    border: 0;
    background: rgba(18, 38, 52, .34);
    opacity: 0;
    transition: opacity .2s ease;
}

.app-drawer-backdrop.is-visible {
    opacity: 1;
}

.app-side-drawer {
    position: fixed;
    z-index: 1080;
    top: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    width: min(650px, 92vw);
    border-left: 1px solid #c8d2da;
    background: #fff;
    box-shadow: -14px 0 36px rgba(16, 38, 54, .18);
    transform: translateX(104%);
    transition: transform .24s ease-out;
}

.app-side-drawer.is-open {
    transform: translateX(0);
}

body.app-drawer-open {
    overflow: hidden;
}

.app-drawer-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex: 0 0 auto;
    padding: 20px 23px 16px;
    border-bottom: 1px solid #dce3e8;
}

.app-drawer-head h3 {
    margin: 1px 0 0;
    color: #173349;
    font-size: 24px;
}

.app-drawer-title-group {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    min-width: 0;
}

.app-drawer-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 35px;
    height: 35px;
    padding: 0;
    border: 1px solid #ced9e1;
    border-radius: 50%;
    background: #fff;
    color: #356985;
}

.app-drawer-back:hover,
.app-drawer-back:focus {
    border-color: #91b4ca;
    background: #f1f7fa;
    color: #1f5572;
    outline: 0;
}

.app-drawer-kicker {
    color: #6e8190;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.app-drawer-close {
    width: 35px;
    height: 35px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #eef3f6;
    color: #425a6b;
    font-size: 26px;
    line-height: 33px;
}

.app-drawer-body {
    flex: 1 1 auto;
    min-height: 0;
    padding: 10px 23px 24px;
    overflow-y: auto;
}

.app-drawer-footer {
    display: flex;
    gap: 9px;
    flex: 0 0 auto;
    padding: 13px 23px;
    border-top: 1px solid #dce3e8;
    background: #f7f9fa;
}

.app-order-action-drawer .app-drawer-body {
    padding-top: 22px;
}

.app-order-actions-menu-drawer .app-drawer-body {
    padding-top: 18px;
}

.app-order-action-choices {
    display: grid;
    gap: 9px;
}

.app-order-action-message {
    margin-bottom: 12px;
    padding: 10px 12px;
    border: 1px solid #cfdde6;
    border-radius: 5px;
    background: #f4f8fb;
    color: #39566a;
}

.app-order-action-message.is-error {
    border-color: #e3bcbc;
    background: #fff4f4;
    color: #9a3434;
}

.app-order-action-choice {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    min-height: 58px;
    margin: 0;
    padding: 11px 13px;
    border: 1px solid #d5e0e7;
    border-radius: 6px;
    background: #fff;
    color: #285c7d;
    font: inherit;
    line-height: 1.25;
    text-align: left;
    text-decoration: none;
}

.app-order-action-choice:hover,
.app-order-action-choice:focus {
    border-color: #8eb8d1;
    background: #f4f9fc;
    color: #194d6e;
    outline: 0;
    text-decoration: none;
}

.app-order-action-choice > .glyphicon {
    flex: 0 0 auto;
    width: 20px;
    margin-top: 3px;
    text-align: center;
}

.app-order-action-choice > span:not(.glyphicon) {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
}

.app-order-action-choice strong {
    font-size: 18px;
}

.app-order-action-choice small {
    color: #71818d;
    font-size: 12px;
    font-weight: 400;
}

.app-order-action-choice.is-disabled,
.app-order-action-choice:disabled {
    border-color: #e1e6ea;
    background: #f7f8f9;
    color: #96a0a8;
    cursor: not-allowed;
    opacity: 1;
}

.app-order-action-choice.is-disabled small,
.app-order-action-choice:disabled small {
    color: #9ba4ab;
}

.app-order-action-choice.is-danger {
    border-color: #e5c8c8;
    color: #a33c3c;
}

.app-order-action-choice.is-danger:hover,
.app-order-action-choice.is-danger:focus {
    border-color: #d89595;
    background: #fff5f5;
    color: #8d2929;
}

.app-order-action-choice-divider {
    height: 1px;
    margin: 3px 0;
    background: #dce3e8;
}

.app-order-action-drawer .app-drawer-footer {
    justify-content: flex-end;
}

.app-order-action-drawer .form-group:last-child {
    margin-bottom: 0;
}

.app-order-action-drawer textarea {
    min-height: 150px;
    resize: vertical;
}

.app-order-action-drawer #order-wait-add-dates {
    display: block;
}

.app-order-action-drawer #order-wait-add-dates .form-control {
    margin-top: 8px;
}

.app-order-wait-add-date {
    display: inline-block;
    margin-top: 9px;
    font-weight: 600;
    text-decoration: none;
}

.app-order-wait-add-date:hover,
.app-order-wait-add-date:focus {
    text-decoration: none;
}

.app-order-file-input {
    height: auto;
    padding: 7px 10px;
}

.order-offer-drawer.app-side-drawer .order-offer-drawer-body {
    padding-top: 22px;
}

.app-document-drawer-delete {
    margin-left: auto;
}

.app-document-drawer-loading,
.app-document-drawer-error {
    margin-top: 18px;
    padding: 14px 16px;
    border-radius: 5px;
    background: #f3f6f8;
    color: #536776;
}

.app-document-drawer-error {
    border: 1px solid #efc7c7;
    background: #fff3f3;
    color: #9a3030;
}

.app-document-drawer-client {
    margin: 14px 0 2px;
    color: #173349;
    font-size: 16px;
    font-weight: 700;
}

.app-document-drawer-section {
    padding: 18px 0;
    border-bottom: 1px solid #d6dfe5;
}

.app-document-drawer-section:last-child {
    border-bottom: 0;
}

.app-document-drawer-section h4 {
    margin: 0 0 11px;
    color: #1d3343;
    font-size: 15px;
    font-weight: 700;
}

.app-document-drawer-orders {
    display: grid;
    gap: 9px;
}

.app-document-drawer-order {
    padding: 11px 13px;
    border: 1px solid #d3dde4;
    border-radius: 5px;
    background: #fff;
}

.app-document-drawer-order.is-current {
    border-color: #8db8d6;
    background: #f4f9fc;
}

.app-document-drawer-order-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

.app-document-drawer-order-head a {
    font-weight: 700;
}

.app-document-drawer-order-head span,
.app-document-drawer-order-amount {
    color: #6b7d89;
    font-size: 12px;
}

.app-document-drawer-order-services {
    margin-top: 5px;
    color: #2b3f4d;
}

.app-document-drawer-order-amount {
    margin-top: 5px;
}

.app-document-drawer-downloads {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.app-document-drawer-download {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid #b9cfdd;
    border-radius: 5px;
    background: #f5fafd;
    color: #17699c;
    font-size: 18px;
    font-weight: 600;
}

.app-document-drawer-download:hover,
.app-document-drawer-download:focus {
    border-color: #6ea7ca;
    background: #edf7fc;
    text-decoration: none;
}

.app-document-drawer-download.is-downloaded,
.app-document-drawer-download.is-downloaded:hover,
.app-document-drawer-download.is-downloaded:focus {
    border-color: #6fba86;
    background: #f0faf3;
    color: #27934d;
}

.app-document-drawer-download.is-stale,
.app-document-drawer-download.is-stale:hover,
.app-document-drawer-download.is-stale:focus {
    border-color: #d87575;
    background: #fff1f1;
    color: #c92a2a;
}

.app-document-drawer-download.is-disabled {
    display: block;
    border-color: #d9dfe3;
    background: #f5f6f7;
    color: #7b878f;
}

.app-document-drawer-download small,
.app-document-drawer-download.is-disabled a {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    font-weight: 400;
}

@media (max-width: 520px) {
    .app-document-drawer-downloads {
        grid-template-columns: 1fr;
    }
}

.app-filter-section {
    padding: 13px 0 15px;
    border-bottom: 1px solid #cad4db;
}

.app-filter-section:last-child {
    border-bottom: 0;
}

.app-filter-section h4 {
    margin: 0 0 9px;
    color: #1d3343;
    font-size: 15px;
    font-weight: 700;
}

.app-filter-subtitle {
    margin-top: 17px !important;
}

.app-filter-small-title {
    display: block;
    margin: 9px 0 5px;
    color: #405767;
    font-size: 12px;
}

.app-filter-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 8px;
}

.app-filter-pill {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    margin: 0;
    padding: 5px 10px;
    border: 1px solid #b9c5cd;
    border-radius: 5px;
    background: #fff;
    color: #314856;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.35;
    cursor: pointer;
}

button.app-filter-pill {
    font-family: inherit;
}

.app-filter-pill input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.app-filter-pill:has(input:checked),
.app-filter-pill.is-selected {
    border-color: #2473a5;
    background: #e9f5fc;
    color: #155f90;
    box-shadow: inset 0 0 0 1px #2473a5;
}

.app-filter-pill:hover:not(.is-disabled) {
    border-color: #5b91b5;
    background: #f4f9fc;
}

.app-filter-pill.is-disabled {
    border-color: #d8dde1;
    background: #f5f6f7;
    color: #a3abb1;
    cursor: not-allowed;
    box-shadow: none;
}

.app-filter-date-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    color: #526673;
    font-size: 12px;
}

.app-filter-date-row .form-control {
    width: 112px;
    height: 31px;
}

.app-filter-columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 20px;
    border-bottom: 1px solid #cad4db;
}

.app-filter-columns .app-filter-section {
    border-bottom: 0;
}

.app-filter-columns .app-filter-section + .app-filter-section {
    padding-left: 20px;
    border-left: 1px solid #cad4db;
}

.app-filter-unavailable {
    color: #9aa4ab;
}

.app-filter-unavailable h4,
.app-filter-unavailable p {
    color: #909ba3;
}

.contractors-empty-filter-note {
    margin-top: 5px;
    font-size: 13px;
}

/* Fixed application chrome with independently scrolling client/order lists. */
.contractors-list-table > thead > tr > th,
.orders-list-table > thead > tr > th {
    padding: 5px 7px;
    line-height: 1.2;
}

.contractors-list-table > tbody > tr > td,
.orders-list-table > tbody > tr > td {
    padding: 5px 7px;
    line-height: 1.25;
}

.contractor-select-stack {
    gap: 2px;
}

.contractor-meta,
.orders-list-date-time {
    margin-top: 1px;
}

.contractor-balance {
    gap: 2px;
}

.contractor-row.is-selected > td {
    background: #edf6fc !important;
}

.app-client-card {
    transition: opacity .12s ease;
}

body.app-client-switching .app-client-card {
    opacity: .58;
}

@media (min-width: 1200px) {
    html.app-workspace-layout,
    body.app-workspace-layout {
        height: 100%;
        overflow: hidden;
    }

    body.app-workspace-layout > .app-main-shell {
        display: flex;
        flex-direction: column;
        height: 100vh;
        min-height: 0 !important;
        margin-bottom: 0 !important;
        padding-bottom: 12px;
        overflow: hidden;
    }

    body.app-workspace-layout > .app-main-shell > .row:first-child {
        flex: 0 0 auto;
    }

    body.app-workspace-layout .app-body-row {
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden;
    }

    body.app-workspace-layout .app-sidebar-column,
    body.app-workspace-layout .app-content-column {
        min-height: 0;
        height: 100%;
    }

    body.app-workspace-layout .app-sidebar-column {
        overflow: hidden;
    }

    body.app-workspace-layout .app-content-column {
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-gutter: stable;
    }

    body.app-list-layout .app-content-column {
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    body.app-workspace-layout .app-work-panel {
        min-height: 0;
        height: 100%;
    }

    body.app-list-layout .app-screen-contractors,
    body.app-list-layout .app-screen-orders {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
        min-height: 0;
        height: 100%;
        overflow: hidden;
    }

    body.app-list-contractors .contractors-list-form,
    body.app-list-orders .orders-list-form {
        flex: 1 1 auto;
        min-height: 0;
        margin-bottom: 0;
        padding-right: 2px;
        overflow-x: auto;
        overflow-y: scroll;
        overscroll-behavior: contain;
        scrollbar-gutter: stable;
    }

    body.app-list-contractors .contractors-list-table,
    body.app-list-orders .orders-list-table {
        margin-bottom: 0;
    }

    body.app-list-contractors .contractors-list-table > thead > tr > th,
    body.app-list-orders .orders-list-table > thead > tr > th {
        position: sticky;
        z-index: 5;
        top: 0;
        background: #f3f6f8;
        box-shadow: 0 1px 0 #cbd5df;
    }

    body.app-workspace-layout .app-footer-shell {
        display: none;
    }
}

@media (max-width: 1199px) {
    .app-topbar { flex-direction: column; gap: 6px; }
    .app-user-toolbar { justify-content: flex-end; }
    .app-main-nav { overflow-x: auto; }
    .app-work-panel { min-height: 620px; height: auto; }
}

.new-order-service-modal .modal-dialog {
    width: 880px;
    max-width: calc(100% - 30px);
}

.new-order-service-modal .modal-body {
    max-height: calc(100vh - 190px);
    overflow-y: auto;
}

.new-order-save-note {
    margin-bottom: 16px;
}

.new-order-service-search {
    margin-bottom: 16px;
}

.new-order-service-empty {
    padding: 24px 12px;
    color: #687782;
    text-align: center;
}

.new-order-service-results {
    margin-bottom: 0;
}

.new-order-service-row {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: space-between;
}

@media (max-width: 767px) {
    .app-body-row { display: block; }
    .app-sidebar-column,
    .app-content-column { width: 100%; max-width: none; }
    .app-sidebar-column { margin-bottom: 14px; }
    .app-work-panel { min-height: 480px; }
    .app-list-toolbar,
    .orders-list-actions { flex-wrap: wrap; }
    .app-search-box { flex-basis: 100%; max-width: none; }
    .contractors-main-toolbar .app-search-box { flex: 1 1 100%; }
    .contractors-main-toolbar #contractors-search-input { flex: 1 1 auto; width: auto; min-width: 0; }
    .contractors-main-toolbar .contractors-active-filters { flex-basis: 100%; flex-wrap: wrap; overflow-x: visible; white-space: normal; }
    .orders-list-toolbar-row { flex-direction: column; }
    .orders-list-filter-form,
    .orders-list-toolbar-row .orders-list-primary-actions { width: 100%; }
    .orders-list-filter-line { flex-wrap: wrap; }
    .orders-list-filter-line .app-active-filters { flex-basis: 100%; flex-wrap: wrap; overflow-x: visible; white-space: normal; }
    .app-list-action-dropdown { margin-left: 0; }
    .app-filter-found { width: 100%; margin-left: 0; }
    .app-filter-columns { grid-template-columns: 1fr; gap: 0; }
    .app-filter-columns .app-filter-section + .app-filter-section { padding-left: 0; border-left: 0; border-top: 1px solid #cad4db; }
}

/* Service catalog: new-order workspace */
body.service-catalog-modal-open {
    overflow: hidden;
}

.service-catalog-modal-backdrop {
    position: fixed;
    z-index: 1035;
    inset: 0;
    background: rgba(24, 36, 43, .5);
    backdrop-filter: blur(2px);
}

.service-catalog-order {
    --service-catalog-drawer-gap: 4px;
    --service-catalog-drawer-width: clamp(330px, 39vw, 585px);
    --service-catalog-drawer-shift: clamp(165px, 19.5vw, 292.5px);
    position: fixed;
    z-index: 1040;
    top: 50%;
    left: 50%;
    display: flex;
    width: min(756px, 51vw);
    height: min(780px, calc(100vh - 48px));
    flex-direction: column;
    overflow: visible;
    color: #1f2d35;
    border: 1px solid rgba(255, 255, 255, .78);
    border-radius: 18px;
    background: #f4f7f8;
    box-shadow: 0 26px 80px rgba(16, 28, 35, .38);
    transform: translate(-50%, -50%);
    transition: left .2s ease;
}

.service-catalog-order.has-tree-drawer {
    left: calc(50% + var(--service-catalog-drawer-shift) + 2px);
}

.service-catalog-order.has-selected-drawer {
    left: calc(50% - var(--service-catalog-drawer-shift) - 2px);
}

.service-catalog-order.has-tree-drawer.has-selected-drawer {
    --service-catalog-drawer-width: clamp(240px, 25vw, 380px);
    left: 50%;
    width: min(756px, 48vw);
}

.service-catalog-card,
.service-selected-item {
    border: 1px solid #dce4e9;
    border-radius: 12px;
    background: #fff;
}

.service-catalog-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 20px;
    border-bottom: 1px solid #dce4e9;
    background: #fff;
    box-shadow: 0 4px 16px rgba(31, 45, 53, .05);
}

.service-catalog-header h1 {
    max-width: 650px;
    margin: 2px 0 0;
    overflow: hidden;
    font-size: 24px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.service-catalog-header h2,
.service-catalog-drawer-header h2,
.service-catalog-drawer-header h3 {
    margin: 2px 0 0;
}

.service-catalog-drawer-header h2,
.service-catalog-drawer-header h3 {
    font-size: 24px;
}

.order-eyebrow {
    color: #7a8992;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.service-catalog-header-actions {
    display: flex;
    gap: 8px;
    white-space: nowrap;
}

.service-catalog-toolbar {
    display: grid;
    grid-template-columns: auto minmax(240px, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 12px;
    margin: 12px 12px 0;
    border: 1px solid #dce4e9;
    border-radius: 12px;
    background: #fff;
}

.service-catalog-order > .service-catalog-error,
.service-catalog-order > .alert {
    flex: 0 0 auto;
    margin: 10px 12px 0;
}

.service-catalog-search {
    width: 100%;
}

.catalog-selected-toggle .badge {
    margin-left: 5px;
    background: #2a8f5b;
}

.service-catalog-workspace {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    overflow: visible;
    padding: 12px;
}

.service-catalog-order [hidden] {
    display: none !important;
}

.service-catalog-main {
    height: 100%;
    overflow-y: auto;
    padding: 4px 4px 20px;
    scrollbar-gutter: stable;
}

.service-catalog-empty {
    display: flex;
    height: 100%;
    min-height: 260px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 30px;
    color: #74838c;
    text-align: center;
    border: 2px dashed #dce4e9;
    border-radius: 14px;
    background: #fbfcfd;
}

.service-catalog-empty .glyphicon {
    margin-bottom: 14px;
    color: #b7c3ca;
    font-size: 34px;
}

.service-catalog-empty-compact,
.service-catalog-loading {
    padding: 18px 10px;
    color: #7a8992;
    text-align: center;
}

.service-catalog-results-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 2px 2px 12px;
}

.service-catalog-results-heading h3 {
    margin: 0;
}

.service-catalog-results {
    display: grid;
    gap: 10px;
}

.service-catalog-card {
    padding: 14px 16px;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.service-catalog-card:hover,
.service-catalog-card.is-active {
    border-color: #8eb8a5;
    box-shadow: 0 5px 18px rgba(42, 143, 91, .11);
}

.service-catalog-card.is-active {
    box-shadow: inset 4px 0 0 #2a8f5b, 0 5px 18px rgba(42, 143, 91, .11);
}

.service-catalog-card-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
}

.service-catalog-card-title {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    align-items: center;
    margin-bottom: 4px;
    color: #18262e;
    font-size: 18px;
    font-weight: 700;
}

.service-catalog-card-title-toggle {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 0;
    color: inherit;
    border: 0;
    background: transparent;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.service-catalog-card-title-toggle:hover,
.service-catalog-card-title-toggle:focus {
    color: #176d48;
    outline: 0;
}

.service-catalog-card-title-toggle:hover > span,
.service-catalog-card-title-toggle:focus > span {
    text-decoration: underline;
}

.service-catalog-card-info {
    margin-top: 7px;
    color: #596a74;
    font-size: 14px;
    line-height: 1.45;
}

.service-catalog-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-top: 8px;
    color: #7a8992;
    font-size: 16px;
}

.service-catalog-favorite {
    padding: 0;
    color: #bcc5ca;
    border: 0;
    background: transparent;
}

.service-catalog-favorite:hover,
.service-catalog-favorite:focus,
.service-catalog-favorite.is-favorite {
    color: #f2b600;
    outline: 0;
}

.service-catalog-stock {
    padding: 2px 7px;
    color: #2a7551;
    border-radius: 9px;
    background: #eaf6ef;
}

.service-catalog-addon-badge {
    padding: 2px 7px;
    color: #7b5f00;
    border-radius: 9px;
    background: #fff4bf;
}

.service-catalog-period-badge {
    display: inline-block;
    padding: 2px 7px;
    margin-left: 7px;
    color: #6a4d15;
    border-radius: 9px;
    background: #fff0d2;
    font-size: 12px;
    font-weight: 600;
    vertical-align: middle;
}

.service-catalog-variant-badge {
    display: inline-block;
    padding: 2px 7px;
    margin-left: 7px;
    color: #315f81;
    border-radius: 9px;
    background: #e8f3fb;
    font-size: 12px;
    font-weight: 600;
    vertical-align: middle;
}

.service-catalog-card .service-catalog-price:not(.is-selected),
.service-catalog-addon-row .btn:not(.is-selected),
.service-catalog-variant-row .btn:not(.is-selected) {
    color: #56646c;
    border-color: #cbd5db;
    background: #edf1f3;
}

.service-catalog-card .btn.is-selected,
.service-catalog-addon-row .btn.is-selected,
.service-catalog-variant-row .btn.is-selected {
    color: #fff;
    border-color: #3f984f;
    background: #4caf60;
}

.service-catalog-card .btn.is-selected:hover,
.service-catalog-card .btn.is-selected:focus,
.service-catalog-addon-row .btn.is-selected:hover,
.service-catalog-addon-row .btn.is-selected:focus,
.service-catalog-variant-row .btn.is-selected:hover,
.service-catalog-variant-row .btn.is-selected:focus {
    color: #fff;
    border-color: #327c40;
    background: #3e914f;
}

.service-catalog-addons,
.service-catalog-choices,
.service-catalog-variants {
    margin-top: 13px;
    padding-top: 12px;
    border-top: 1px solid #e5ebee;
}

.service-catalog-addons.is-attached-to-parent {
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 7px;
    border-top: 0;
    border-bottom: 1px solid #e5ebee;
}

.service-catalog-variant-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 10px 0;
}

.service-catalog-variant-price {
    min-width: 86px;
    justify-self: start;
}

.service-catalog-variant-row + .service-catalog-variant-row {
    border-top: 1px dashed #e2e8eb;
}

.service-catalog-variant-copy {
    display: grid;
    gap: 3px;
}

.service-catalog-variant-copy span,
.service-catalog-variant-copy small {
    color: #708089;
    font-size: 13px;
}

.service-catalog-variant-title {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 7px;
    align-items: center;
}

.service-catalog-variant-title .service-catalog-addon-badge,
.service-catalog-variant-title .service-catalog-period-badge {
    display: inline-flex;
    width: auto;
    margin-left: 0;
    color: #7b5f00;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
}

.service-catalog-variant-row.is-muted {
    margin-right: -8px;
    margin-left: -8px;
    padding-right: 8px;
    padding-left: 8px;
    color: #a7b0b5;
    border-radius: 6px;
    background: #f7f8f9;
    transition: color .15s ease, background-color .15s ease;
}

.service-catalog-variant-row.is-muted .service-catalog-variant-copy strong,
.service-catalog-variant-row.is-muted .service-catalog-variant-copy span,
.service-catalog-variant-row.is-muted .service-catalog-variant-copy small {
    color: #a7b0b5;
    transition: color .15s ease;
}

.service-catalog-variant-row.is-muted .service-catalog-addon-badge,
.service-catalog-variant-row.is-muted .service-catalog-period-badge {
    background: #eceff1;
}

.service-catalog-variant-row.is-muted > .btn {
    color: #9ca7ad;
    border-color: #e0e5e7;
    background: #f5f7f8;
    transition: color .15s ease, border-color .15s ease, background-color .15s ease;
}

.service-catalog-variant-row.is-muted:hover,
.service-catalog-variant-row.is-muted:focus-within {
    color: #53636b;
    background: #eef2f4;
}

.service-catalog-variant-row.is-muted:hover .service-catalog-variant-copy strong,
.service-catalog-variant-row.is-muted:focus-within .service-catalog-variant-copy strong {
    color: #34434b;
}

.service-catalog-variant-row.is-muted:hover .service-catalog-variant-copy span,
.service-catalog-variant-row.is-muted:hover .service-catalog-variant-copy small,
.service-catalog-variant-row.is-muted:focus-within .service-catalog-variant-copy span,
.service-catalog-variant-row.is-muted:focus-within .service-catalog-variant-copy small {
    color: #63737c;
}

.service-catalog-variant-row.is-muted:hover > .btn,
.service-catalog-variant-row.is-muted:focus-within > .btn {
    color: #3f5058;
    border-color: #b6c2c8;
    background: #e5ebee;
}

.service-catalog-addon-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 7px 0;
}

.service-catalog-addon-row + .service-catalog-addon-row {
    border-top: 1px dashed #e2e8eb;
}

.service-catalog-addon-copy {
    display: grid;
    gap: 3px;
}

.service-catalog-addon-copy span,
.service-catalog-addon-copy small {
    color: #708089;
    font-size: 13px;
    line-height: 1.4;
}

.service-catalog-choices {
    display: grid;
    grid-template-columns: minmax(120px, auto) minmax(220px, 1fr);
    gap: 10px;
    align-items: center;
}

.service-catalog-drawer {
    position: absolute;
    z-index: 30;
    top: 0;
    bottom: 0;
    width: var(--service-catalog-drawer-width);
    overflow-y: auto;
    padding: 18px;
    visibility: hidden;
    pointer-events: none;
    opacity: 0;
    border: 1px solid #dce4e9;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 0 30px rgba(25, 40, 48, .24);
    transition: transform .2s ease, opacity .16s ease, visibility .2s ease;
}

.service-catalog-tree-drawer {
    left: 0;
    transform: translateX(0);
}

.service-catalog-selected-drawer {
    right: 0;
    transform: translateX(0);
}

.service-catalog-drawer.is-open {
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
}

.service-catalog-tree-drawer.is-open {
    transform: translateX(calc(-100% - var(--service-catalog-drawer-gap)));
}

.service-catalog-selected-drawer.is-open {
    transform: translateX(calc(100% + var(--service-catalog-drawer-gap)));
}

.service-catalog-drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding-bottom: 13px;
    margin-bottom: 10px;
    border-bottom: 1px solid #e1e8ec;
}

.service-catalog-close,
.service-selected-remove {
    padding: 3px 8px;
    color: #65747c;
    border: 0;
    background: transparent;
    font-size: 22px;
    line-height: 1;
}

.service-tree-favorites,
.service-tree-group-button,
.service-tree-subgroup {
    display: block;
    width: 100%;
    padding: 10px 11px;
    color: #263840;
    font-size: 18px;
    text-align: left;
    border: 0;
    border-radius: 8px;
    background: transparent;
}

.service-tree-favorites {
    margin-bottom: 6px;
    color: #725900;
    background: #fff8d8;
}

.service-tree-group-button {
    position: relative;
    padding-right: 32px;
    font-weight: 700;
}

.service-tree-group-button:hover,
.service-tree-subgroup:hover,
.service-tree-group-button.is-active,
.service-tree-subgroup.is-active {
    color: #17683f;
    background: #eaf6ef;
}

.service-tree-chevron {
    position: absolute;
    top: 11px;
    right: 11px;
    transition: transform .15s ease;
}

.service-tree-group.is-open .service-tree-chevron {
    transform: rotate(90deg);
}

.service-tree-subgroups {
    display: none;
    padding: 2px 0 7px 14px;
}

.service-tree-group.is-open .service-tree-subgroups {
    display: block;
}

.service-tree-subgroup {
    padding-top: 7px;
    padding-bottom: 7px;
    color: #5d6c74;
}

.service-tree-subgroup small {
    font-size: 14px;
}

.service-selected-item {
    padding: 12px;
    margin-bottom: 9px;
}

.service-selected-item.is-active {
    border-color: #7eb398;
    box-shadow: inset 3px 0 0 #2a8f5b;
}

.service-selected-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: start;
}

.service-selected-title {
    padding: 0;
    color: #22343c;
    font-size: 16px;
    text-align: left;
    border: 0;
    background: transparent;
    font-weight: 700;
}

.service-selected-details {
    margin-top: 5px;
    color: #6c7c84;
    font-size: 14px;
}

.service-selected-variant-source {
    margin-top: 2px;
    color: #6c7c84;
    font-size: 12px;
}

.service-selected-period-note {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 10px;
    margin-top: 9px;
    color: #6a4d15;
    border-left: 3px solid #e7b85b;
    background: #fff8e9;
}

.service-selected-period-note strong {
    color: #523a0d;
}

.service-selected-quantity {
    display: flex;
    gap: 7px;
    align-items: center;
    margin-top: 9px;
}

.service-selected-quantity button {
    min-width: 27px;
    height: 27px;
    padding: 0 7px;
    color: #52636b;
    border: 1px solid #bdcbd2;
    border-radius: 3px;
    background: #fff;
    line-height: 25px;
}

.service-selected-quantity strong {
    min-width: 18px;
    color: #33454d;
    text-align: center;
}

.service-selected-quantity input {
    width: 72px;
}

.service-selected-child {
    padding: 7px 8px;
    margin-top: 7px;
    color: #56666e;
    border-left: 3px solid #d7e2e7;
    background: #f7f9fa;
    font-size: 14px;
}

.service-selected-child-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 7px;
    align-items: center;
}

.service-selected-child-heading small {
    display: block;
}

.service-selected-child-heading > button {
    padding: 0 3px;
    color: #65747c;
    border: 0;
    background: transparent;
    font-size: 20px;
    line-height: 1;
}

.service-selected-child-quantity {
    margin-top: 7px;
}

.service-catalog-total {
    position: sticky;
    bottom: -18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 16px 4px 18px;
    margin-top: 10px;
    border-top: 2px solid #dbe4e8;
    background: #fff;
    font-size: 18px;
}

@media (max-width: 991px) {
    .service-catalog-order {
        top: 8px;
        right: 8px;
        bottom: 8px;
        left: 8px !important;
        width: auto;
        height: auto;
        overflow: hidden;
        border-radius: 14px;
        transform: none;
    }

    .service-catalog-workspace {
        overflow: hidden;
    }

    .service-catalog-drawer {
        width: calc(100% - 28px);
    }

    .service-catalog-tree-drawer {
        transform: translateX(-105%);
    }

    .service-catalog-selected-drawer {
        transform: translateX(105%);
    }

    .service-catalog-tree-drawer.is-open,
    .service-catalog-selected-drawer.is-open {
        transform: translateX(0);
    }

    .service-catalog-header,
    .service-catalog-toolbar {
        display: flex;
        flex-wrap: wrap;
    }

    .service-catalog-header {
        padding: 14px;
    }

    .service-catalog-header h1 {
        max-width: calc(100vw - 60px);
        font-size: 20px;
    }

    .service-catalog-header-actions {
        width: 100%;
    }

    .service-catalog-header-actions .btn {
        flex: 1 1 auto;
    }

    .service-catalog-search {
        order: 3;
        flex: 1 1 100%;
    }

    .service-catalog-workspace {
        padding: 9px;
    }

    .service-catalog-drawer {
        padding: 14px;
    }

    .service-catalog-card-main,
    .service-catalog-addon-row,
    .service-catalog-choices {
        grid-template-columns: 1fr;
    }

    .service-catalog-card-main > .btn,
    .service-catalog-addon-row > .btn {
        width: 100%;
    }
}

@media (max-width: 1100px) {
    .contractor-reporting-proposal-groups {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 760px) {
    .reporting-tariff-report-head,
    .contractor-reporting-section-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .contractor-reporting-proposal-groups {
        grid-template-columns: 1fr;
    }
}

/* Order card: compact service blocks. */
.order-services-layout {
    display: inline-block;
    min-width: 760px;
    max-width: 100%;
    vertical-align: top;
}

.order-services-global-actions {
    display: flex;
    width: 100%;
    margin: 0 0 5px;
    align-items: center;
    justify-content: flex-end;
}

.order-services-complete-all {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
}

.order-view .order-services-table {
    width: 100%;
    min-width: 760px;
    max-width: 100%;
    margin: 0 0 14px;
    border: 0;
    background: transparent;
}

.order-view .order-services-table > thead {
    display: none;
}

.order-view .order-services-table > tbody.order-service-block-body > tr > td {
    background: #fff;
    border-color: #8f98a1;
}

.order-view .order-services-table > tbody.order-service-block-body > tr.order-service-block-heading-row > td {
    padding: 18px 0 0;
    border: 0 !important;
    background: transparent !important;
}

.order-view .order-services-table > tbody.order-service-block-body + tbody.order-service-block-body > tr.order-service-block-heading-row > td {
    padding-top: 0;
}

.order-service-block-heading {
    position: relative;
    display: flex;
    min-height: 31px;
    padding: 5px 8px;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
    color: #26323d;
    background: #f3f6f8;
    border: 1px solid #8f98a1;
    border-bottom: 0;
}

.order-service-block-title {
    font-size: 16px;
}

.order-service-block-title .glyphicon {
    margin-right: 6px;
    color: #2d7fb8;
}

.order-view .order-services-table > tbody.order-service-block-body > tr:not(.order-service-block-heading-row):not(.order-service-block-total-row) > td:first-child {
    position: relative;
    width: 52%;
    min-width: 410px;
    padding-right: 206px;
}

.order-view .order-services-table > tbody.order-service-block-body > tr:not(.order-service-block-heading-row):not(.order-service-block-total-row) > td:nth-child(2) {
    position: relative;
    width: 38%;
    min-width: 255px;
    padding-right: 112px;
}

.order-view .order-services-table > tbody.order-service-block-body > tr:not(.order-service-block-heading-row):not(.order-service-block-total-row) > td:last-child {
    width: 76px;
    min-width: 76px;
    padding: 9px 7px;
    white-space: nowrap;
}

.order-view .order-services-table .order-service-price-line {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 196px;
    margin: 0;
    padding: 9px 7px;
    align-items: flex-start;
    border-left: 1px solid #8f98a1;
    white-space: nowrap;
}

.order-service-row-actions {
    display: grid;
    grid-template-columns: repeat(2, 24px);
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.order-service-row-actions .orderse-state-form {
    display: inline-flex;
    margin: 0;
}

.order-view .order-services-table .order-service-line-total {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 102px;
    padding: 9px 7px;
    border-left: 1px solid #8f98a1;
    font-weight: 700;
    white-space: nowrap;
}

.order-view .order-services-table .order-service-group-caption {
    display: none;
}

.order-service-addon-name .order-service-addon-prefix {
    margin-right: 5px;
    color: #5d6872;
    white-space: nowrap;
}

.order-service-addon-name .order-service-addon-prefix .glyphicon {
    margin-right: 0;
    color: #2e9b59;
}

.order-view .order-services-table > tbody.order-service-block-body > tr.order-service-bundle-group > td,
.order-view .order-services-table > tbody.order-service-block-body > tr.order-service-parent-group > td {
    border-width: 1px;
    background: #fff;
}

.order-view .order-services-table > tbody.order-service-block-body > tr.order-service-bundle-group > td:first-child,
.order-view .order-services-table > tbody.order-service-block-body > tr.order-service-related-row > td:first-child {
    padding-left: 31px;
    box-shadow: inset 7px 0 0 #4b48c5;
}

.order-view .order-services-table > tbody.order-service-block-body > tr.order-service-block-total-row > td {
    padding: 6px 10px;
    text-align: right;
    background: #f8fafb;
    border-color: #8f98a1;
}

.order-view .order-services-table > tbody.order-service-block-body > tr.order-service-block-total-row > td:last-child {
    border-left: 0;
}

.order-view .order-services-table > tbody.order-add-service-body > tr > td {
    padding: 12px 0 0;
    border: 0;
    background: transparent;
}

@media (max-width: 900px) {
    .order-services-layout {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .order-view .order-services-table {
        min-width: 0;
        width: 100%;
    }

    .order-service-count-line {
        align-items: flex-start;
        flex-direction: column;
    }

    .order-view .order-services-table > tbody.order-service-block-body > tr:not(.order-service-block-heading-row):not(.order-service-block-total-row) > td:first-child,
    .order-view .order-services-table > tbody.order-service-block-body > tr:not(.order-service-block-heading-row):not(.order-service-block-total-row) > td:nth-child(2) {
        min-width: 0;
        padding-right: 8px;
    }

    .order-view .order-services-table .order-service-price-line,
    .order-view .order-services-table .order-service-line-total {
        position: static;
        width: auto;
        margin-top: 7px;
        padding: 6px 0 0;
        border: 0;
        border-top: 1px solid #d8dde2;
    }
}
