:root { --topbar-height: 62px; color-scheme: light; font-family: Inter, "Segoe UI", Arial, sans-serif; color: #17202a; background: #f4f6f8; }
* { box-sizing: border-box; }
body { margin: 0; }
a { color: #135f9b; text-decoration: none; }
a:hover { text-decoration: underline; }
.topbar { position: sticky; top: 0; z-index: 100; min-height: 62px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 0 20px; background: #152637; color: white; box-shadow: 0 2px 10px rgba(8, 22, 35, .2); }
.topbar a { color: white; }
.brand { font-size: 22px; font-weight: 800; letter-spacing: .08em; }
.main-nav { min-width: 0; display: flex; align-items: center; gap: 3px; }
.nav-toggle { display: none; min-height: 36px; color: white; border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.08); }
.nav-group { position: relative; }
.nav-group > summary, .nav-direct { display: flex; align-items: center; min-height: 40px; padding: 8px 10px; border-radius: 6px; white-space: nowrap; cursor: pointer; font-size: 14px; }
.nav-group > summary { list-style: none; color: white; }
.nav-group > summary::-webkit-details-marker { display: none; }
.nav-group > summary::after { content: "▾"; margin-left: 6px; color: #aebdca; font-size: 10px; transition: transform .15s ease; }
.nav-group[open] > summary::after { transform: rotate(180deg); }
.nav-group > summary:hover, .nav-group[open] > summary, .nav-group.has-active > summary, .nav-direct:hover, .nav-direct.active { background: rgba(255,255,255,.13); text-decoration: none; }
.nav-group > summary:focus-visible, .nav-direct:focus-visible, .nav-toggle:focus-visible { outline: 2px solid #79c5f5; outline-offset: 2px; }
.nav-dropdown { position: absolute; top: calc(100% + 7px); left: 0; z-index: 30; display: grid; min-width: 235px; padding: 7px; border: 1px solid #cfd8e0; border-radius: 8px; background: white; box-shadow: 0 12px 32px rgba(12, 28, 43, .24); }
.nav-group-right .nav-dropdown { right: 0; left: auto; }
.topbar .nav-dropdown a { display: block; padding: 9px 11px; border-radius: 5px; color: #263746; font-size: 14px; }
.topbar .nav-dropdown a:hover, .topbar .nav-dropdown a.active { background: #eaf3f9; color: #0d598e; text-decoration: none; }
.nav-notifications { gap: 6px; }
.notification-badge { display: inline-flex; min-width: 20px; height: 20px; align-items: center; justify-content: center; padding: 0 6px; border-radius: 10px; background: #e94848; color: white; font-size: 12px; font-weight: 700; }
.logout-form { min-width: 0; display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.header-exchange-rate { display: grid; gap: 1px; padding: 5px 8px; border: 1px solid rgba(255,255,255,.22); border-radius: 6px; background: rgba(255,255,255,.08); color: white; text-align: center; white-space: nowrap; line-height: 1.1; font-size: 12px; }
.header-exchange-rate strong { font-size: 14px; }
.header-exchange-rate small { color: #bfcbd5; font-size: 10px; }
a.header-exchange-rate:hover { background: rgba(255,255,255,.15); text-decoration: none; }
.header-exchange-rate.missing { border-color: rgba(255,190,82,.45); color: #ffd992; }
.user-name { max-width: 135px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #c8d3dc; font-size: 13px; }
.link-button { color: white; background: transparent; border: 0; cursor: pointer; font: inherit; }
.page { padding: 26px; }
.page-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
h1 { margin: 0 0 5px; font-size: 28px; }
.request-summary-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 7px 12px; margin-bottom: 5px; }
.request-summary-heading h1 { margin-bottom: 0; }
.request-price-summary { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: 13px; }
.request-price-summary > span { display: inline-flex; align-items: baseline; gap: 5px; padding: 4px 8px; border: 1px solid #cfd8e0; border-radius: 999px; background: #eef2f5; color: #526271; white-space: nowrap; }
.request-price-summary strong { color: #243746; font-size: 14px; }
.request-price-summary .request-price-filled { border-color: #b9dfc2; background: #eaf7ed; color: #27693a; }
.request-price-summary .request-price-filled strong { color: #17662c; }
.request-price-summary .request-price-missing { border-color: #efd5a3; background: #fff5df; color: #795815; }
.request-price-summary .request-price-missing strong { color: #6e4b00; }
.wang-status-cell { min-width: 250px; }
.wang-status-funnel { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 2px; min-width: 230px; }
.wang-funnel-stage { display: inline-flex; min-height: 29px; align-items: center; gap: 6px; padding: 5px 10px; border: 1px solid #b8d3e5; border-radius: 5px; background: #eaf4fa; color: #26485f; font-size: 11px; line-height: 1.15; white-space: nowrap; }
.wang-funnel-stage + .wang-funnel-stage::before { content: "›"; margin-left: -8px; color: #7990a0; font-size: 15px; font-weight: 800; }
.wang-funnel-stage strong { min-width: 20px; padding: 2px 5px; border-radius: 9px; background: rgba(255,255,255,.8); color: #123f5d; text-align: center; font-size: 12px; }
.wang-funnel-requested { border-color: #ccd4db; background: #f1f3f5; color: #66737e; }
.wang-funnel-cart { border-color: #e0b96d; background: #fff3d8; color: #73510d; }
.wang-funnel-confirmed { border-color: #9ec8e4; background: #dceefa; }
.wang-funnel-prepaid { border-color: #c9b8e6; background: #f0eafa; color: #59417e; }
.wang-funnel-supplier_sent { border-color: #9ecfc9; background: #e2f4f1; color: #24645c; }
.wang-funnel-ready { border-color: #e8c47b; background: #fff1cf; color: #76530d; }
.wang-funnel-client_sent { border-color: #90b7dd; background: #dfecf8; color: #245987; }
.wang-funnel-issued { border-color: #9bcda6; background: #e3f4e7; color: #286437; }
.wang-funnel-fully_paid { border-color: #75b78a; background: #d4eedc; color: #165c2d; }
.wang-funnel-stage.negative { border-color: #e4aaaa; background: #fbe4e4; color: #8a2b2b; }
p { margin: 0; color: #607080; }
.button, button { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 8px 14px; border: 1px solid #b8c2cc; border-radius: 6px; background: white; color: #17202a; cursor: pointer; font: inherit; }
.primary { background: #176fa9; border-color: #176fa9; color: white; }
.search-form { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.search-form input { width: min(620px, 70vw); }
.multi-filter-form { align-items: flex-start; flex-wrap: wrap; }
.multi-filter-form > input[name="q"] { flex: 1 1 320px; }
.multi-select-filter { position: relative; flex: 0 0 auto; }
.multi-select-filter > summary { display: inline-flex; min-height: 38px; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid #aeb8c2; border-radius: 5px; background: white; color: #17202a; cursor: pointer; list-style: none; white-space: nowrap; }
.multi-select-filter > summary::-webkit-details-marker { display: none; }
.multi-select-filter > summary::after { content: "▾"; margin-left: 2px; color: #607080; font-size: 11px; }
.multi-select-filter[open] > summary { border-color: #176fa9; box-shadow: 0 0 0 2px rgba(23, 111, 169, .12); }
.multi-select-filter.has-selection > summary { border-color: #75a9ca; background: #eef7fd; color: #0d598e; }
.multi-select-filter-count { display: inline-flex; min-width: 25px; min-height: 21px; align-items: center; justify-content: center; padding: 2px 7px; border-radius: 11px; background: #e4e9ed; color: #526271; font-size: 12px; font-weight: 750; }
.multi-select-filter.has-selection .multi-select-filter-count { background: #176fa9; color: white; }
.multi-select-filter-menu { position: absolute; top: calc(100% + 7px); left: 0; z-index: 98; display: grid; min-width: 245px; max-height: min(480px, calc(100vh - 140px)); overflow: auto; padding: 10px; border: 1px solid #cfd8e0; border-radius: 8px; background: white; box-shadow: 0 12px 32px rgba(12, 28, 43, .2); }
.multi-select-filter-menu > p { margin: 2px 5px 7px; font-size: 12px; }
.multi-select-filter-options { display: grid; gap: 2px; }
.multi-select-filter-options label { display: flex; align-items: center; gap: 9px; min-height: 34px; padding: 5px 7px; border-radius: 5px; cursor: pointer; white-space: nowrap; }
.multi-select-filter-options label:hover { background: #eef7fd; }
.multi-select-filter-options input { width: 18px; height: 18px; min-height: 18px; margin: 0; padding: 0; }
.multi-select-filter-actions { display: flex; gap: 7px; margin-top: 8px; padding-top: 9px; border-top: 1px solid #e2e6ea; }
.multi-select-filter-actions button { flex: 1; min-height: 34px; padding: 6px 8px; font-size: 12px; white-space: nowrap; }
input, select, textarea { min-height: 38px; padding: 8px 10px; border: 1px solid #aeb8c2; border-radius: 5px; background: white; font: inherit; }
.table-wrap { overflow: auto; background: white; border: 1px solid #d7dde3; border-radius: 7px; }
.table-wrap.sticky-table-ready { position: relative; overflow: visible; background: transparent; border: 0; }
.table-scroll { overflow: auto; background: white; border: 1px solid #d7dde3; border-radius: inherit; }
.adaptive-table-wrap { width: 100%; max-width: 100%; min-width: 0; }
.adaptive-table-wrap.sticky-table-ready { width: 100%; max-width: 100%; min-width: 0; }
.adaptive-table-wrap .table-scroll { width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; }
.adaptive-table-wrap .adaptive-table { width: max-content; min-width: 100%; max-width: none; }
.sticky-table-scrollbar { position: fixed; bottom: 0; z-index: 89; height: 18px; overflow-x: auto; overflow-y: hidden; border: 1px solid #b8c6d1; border-bottom: 0; border-radius: 7px 7px 0 0; background: #eef3f7; box-shadow: 0 -3px 9px rgba(8, 22, 35, .16); }
.sticky-table-scrollbar[hidden] { display: none; }
.sticky-table-scrollbar-content { height: 1px; }
.table-scroll th { top: 0; }
.sticky-table-head { position: sticky; top: var(--topbar-height); z-index: 90; overflow: visible; }
.sticky-table-head-viewport { width: 100%; overflow: hidden; border: 1px solid #d7dde3; border-radius: 7px 7px 0 0; background: #eaf0f5; box-shadow: 0 2px 7px rgba(8, 22, 35, .16); }
.sticky-table-head-table { min-width: 0; margin: 0; table-layout: fixed; will-change: transform; }
.sticky-table-head-table th { position: relative; top: auto; }
table { width: 100%; border-collapse: collapse; min-width: 850px; }
th, td { padding: 9px 11px; border-bottom: 1px solid #e2e6ea; text-align: left; vertical-align: top; }
th { position: sticky; top: var(--topbar-height); z-index: 1; background: #eaf0f5; color: #34495e; font-size: 13px; }
th.sortable-column { padding-right: 28px; cursor: pointer; user-select: none; }
th.sortable-column::after { content: "⇅"; position: absolute; right: 9px; color: #7c8b99; font-size: 12px; }
th.filterable-column { position: relative; padding-right: 36px; }
th.sortable-column.filterable-column { padding-right: 56px; }
th.sortable-column.filterable-column::after { right: 33px; }
.table-filter-button { position: absolute; top: 50%; right: 5px; width: 25px; min-width: 25px; height: 25px; min-height: 25px; padding: 0; transform: translateY(-50%); border-color: #9eacb8; border-radius: 4px; background: rgba(255,255,255,.78); color: #526271; font-size: 14px; line-height: 1; }
.table-filter-button:hover { border-color: #176fa9; background: white; color: #135f9b; }
.table-filter-button.active { border-color: #176fa9; background: #176fa9; color: white; }
.table-filter-dialog { width: min(520px, calc(100vw - 28px)); max-height: min(720px, calc(100vh - 28px)); padding: 0; overflow: hidden; border: 0; border-radius: 11px; background: white; box-shadow: 0 24px 70px rgba(12, 28, 43, .35); }
.table-filter-dialog::backdrop { background: rgba(12, 28, 43, .5); backdrop-filter: blur(2px); }
.table-filter-dialog-shell { display: grid; max-height: min(720px, calc(100vh - 28px)); grid-template-rows: auto minmax(0, 1fr) auto; }
.table-filter-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 18px 20px 13px; border-bottom: 1px solid #d7dde3; }
.table-filter-heading small { display: block; margin-bottom: 3px; color: #607080; }
.table-filter-heading h2 { margin: 0; font-size: 21px; }
.table-filter-close { flex: 0 0 auto; width: 36px; min-width: 36px; min-height: 36px; padding: 0; border-radius: 50%; font-size: 24px; line-height: 1; }
.table-filter-fields { display: grid; gap: 13px; padding: 18px 20px; overflow: auto; }
.table-filter-fields > label, .table-filter-range label { display: grid; gap: 6px; color: #526271; font-size: 13px; font-weight: 650; }
.table-filter-range { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.table-filter-choice-block { display: grid; gap: 9px; }
.table-filter-choice-actions { display: flex; gap: 7px; }
.table-filter-choice-actions button { flex: 1; min-height: 34px; padding: 6px 9px; font-size: 12px; }
.table-filter-options { display: grid; max-height: 330px; gap: 2px; overflow: auto; padding: 5px; border: 1px solid #d7dde3; border-radius: 6px; }
.table-filter-options label { display: flex; align-items: center; gap: 9px; min-height: 32px; padding: 4px 7px; border-radius: 4px; cursor: pointer; }
.table-filter-options label:hover { background: #eef7fd; }
.table-filter-options input { width: 17px; height: 17px; min-height: 17px; margin: 0; }
.table-filter-actions { display: flex; justify-content: flex-end; gap: 9px; padding: 13px 20px 17px; border-top: 1px solid #d7dde3; }
th.sortable-column.sort-ascending::after { content: "▲"; color: #135f9b; }
th.sortable-column.sort-descending::after { content: "▼"; color: #135f9b; }
th.sortable-column:focus-visible { outline: 2px solid #176fa9; outline-offset: -2px; }
tbody tr:hover { background: #f7fbff; }
.article { font-weight: 650; white-space: nowrap; }
.tag { display: inline-block; padding: 2px 7px; border-radius: 12px; background: #d9f1df; color: #17662c; font-size: 12px; }
.tag.warning { background: #fff0cc; color: #7b5700; }
.empty { padding: 40px; text-align: center; color: #71808e; }
.pagination-bar { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-top: 18px; padding: 12px 14px; border: 1px solid #d7dde3; border-radius: 7px; background: white; }
.page-size-form label { display: flex; align-items: center; gap: 8px; color: #526271; white-space: nowrap; }
.page-size-form select { min-height: 36px; padding: 6px 28px 6px 9px; }
.pagination-block { display: grid; justify-items: end; gap: 7px; }
.pagination { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 5px; }
.pagination a, .pagination-page, .pagination-ellipsis { display: inline-flex; min-width: 36px; min-height: 36px; align-items: center; justify-content: center; padding: 6px 9px; border: 1px solid #c8d2db; border-radius: 5px; background: white; }
.pagination a:hover { border-color: #176fa9; background: #eef7fd; text-decoration: none; }
.pagination .pagination-step { padding-right: 12px; padding-left: 12px; }
.pagination .current-page { border-color: #176fa9; background: #176fa9; color: white; font-weight: 700; }
.pagination-ellipsis { border-color: transparent; background: transparent; color: #71808e; }
.pagination-summary { color: #607080; font-size: 13px; }
.summary-grid { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 14px; margin: 20px 0 28px; }
.summary-card { display: grid; gap: 8px; padding: 16px; background: white; border: 1px solid #d7dde3; border-radius: 7px; }
.summary-card span { color: #607080; font-size: 13px; }
.summary-card strong { font-size: 20px; }
.today-summary-grid { grid-template-columns: repeat(5, minmax(145px, 1fr)); }
.today-summary-critical { border-color: #e7b1ad; background: #fff8f7; }
.today-summary-critical strong { color: #a92828; }
.today-summary-warning { border-color: #ead09d; background: #fffaf0; }
.today-summary-warning strong { color: #8b5d00; }
.today-section { margin: 0 0 28px; }
.today-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin: 0 0 12px; }
.today-section-heading h2 { margin: 0 0 4px; }
.today-action-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.today-action-card { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 82px; padding: 13px 15px; border: 1px solid #d7dde3; border-left-width: 5px; border-radius: 8px; background: white; color: #17202a; }
.today-action-card:hover { border-color: #8dbbd8; text-decoration: none; box-shadow: 0 5px 18px rgba(12, 28, 43, .08); }
.today-action-critical { border-left-color: #c9362b; }
.today-action-warning { border-left-color: #d89413; }
.today-action-info { border-left-color: #2b7cae; }
.today-action-complete { border-left-color: #59a16a; opacity: .72; }
.today-action-count { display: inline-grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; background: #edf2f6; color: #243746; font-size: 18px; font-weight: 800; }
.today-action-critical .today-action-count { background: #fde8e8; color: #a92828; }
.today-action-warning .today-action-count { background: #fff0cc; color: #7b5700; }
.today-action-copy { display: grid; gap: 4px; min-width: 0; }
.today-action-copy small { color: #607080; line-height: 1.35; }
.today-action-open { color: #71808e; font-size: 20px; }
.today-source-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.today-source-card { display: grid; min-width: 0; gap: 8px; padding: 14px; border: 1px solid #d7dde3; border-radius: 8px; background: white; color: #17202a; }
.today-source-card:hover { border-color: #8dbbd8; text-decoration: none; }
.today-source-card .tag { justify-self: start; }
.today-source-card > span:not(.tag), .today-source-card small { overflow: hidden; color: #607080; text-overflow: ellipsis; white-space: nowrap; }
.today-source-attention, .today-source-missing { border-color: #ead09d; background: #fffaf0; }
.today-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.today-detail-card { min-width: 0; padding: 16px; border: 1px solid #d7dde3; border-radius: 8px; background: white; }
.today-detail-card .today-section-heading { align-items: flex-start; }
.today-detail-card .today-section-heading a { flex: 0 0 auto; white-space: nowrap; }
.today-compact-list { display: grid; }
.today-compact-list > a { display: grid; min-width: 0; gap: 3px; padding: 10px 2px; border-bottom: 1px solid #e2e6ea; color: #17202a; }
.today-compact-list > a:last-child { border-bottom: 0; }
.today-compact-list > a:hover { color: #135f9b; text-decoration: none; }
.today-compact-list span, .today-compact-list small { overflow: hidden; color: #607080; text-overflow: ellipsis; white-space: nowrap; }
.today-compact-list .empty { padding: 24px 8px; }
.exception-inline-summary { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 14px 0; }
.exception-compact-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
.compact-list { margin: 0; padding-left: 18px; }
.note { margin-top: 10px; }
.login-card, .form-card { max-width: 720px; margin: 7vh auto 0; padding: 28px; background: white; border: 1px solid #d7dde3; border-radius: 9px; box-shadow: 0 8px 28px rgba(27, 45, 64, .08); }
.form-grid { display: grid; gap: 16px; margin-top: 22px; }
.form-grid label { display: grid; gap: 6px; font-weight: 600; }
.form-grid .errorlist { margin: 0; color: #a92828; font-weight: 400; }
.gw-assignment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-bottom: 28px; }
.gw-assignment-card { max-width: none; margin: 0; }
.gw-assignment-card h2 { margin-top: 0; }
.compact-result-list { display: grid; gap: 8px; margin-top: 15px; }
.compact-result-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px; border: 1px solid #d7dde3; border-radius: 7px; background: #f8fafc; }
.gw-assignment-actions { position: sticky; top: 66px; z-index: 20; margin-bottom: 10px; padding: 10px; border: 1px solid #d7dde3; border-radius: 7px; background: rgba(255,255,255,.96); }
.gw-assignment-table { min-width: 1320px; }
.gw-assignment-table td { vertical-align: top; }
.gw-classification-input { width: 160px; }
.gw-assignment-table small { display: block; max-width: 300px; margin-top: 4px; color: #617080; }
.gw-line-conflict, .gw-line-error, .gw-line-not_found { background: #fff3f3; }
.gw-line-existing, .gw-line-confirmed { background: #f1fbf3; }
.gw-line-needs_classification { background: #fff9ea; }
.gw-evidence-row td { padding-top: 7px; background: #f5f8fb; font-size: 13px; }
.gw-evidence-row ul { margin: 8px 0 0; }
.inline-check { display: inline-flex; align-items: center; gap: 7px; font-weight: 500; }
.error, .message { padding: 10px 12px; margin: 10px 0; border-radius: 5px; background: #fff0f0; color: #8b2323; }
.message.success { background: #e5f6e9; color: #17662c; }
.message.info { background: #e9f3fb; color: #135f9b; }
.message.warning { background: #fff0cc; color: #7b5700; }
.order-cart-feedback { position: fixed; right: 22px; bottom: 22px; z-index: 410; max-width: min(520px, calc(100vw - 28px)); margin: 0; border: 1px solid #a8d5b4; box-shadow: 0 10px 30px rgba(12, 28, 43, .2); font-weight: 700; }
.order-cart-feedback[hidden] { display: none; }
[data-copy-article] { cursor: pointer; }
[data-copy-article].article-copied { color: #17662c; text-decoration-color: #17662c; }
[data-copy-article].article-copy-failed { color: #a92828; text-decoration-color: #a92828; }
.article-copy-feedback { position: fixed; right: 22px; bottom: 22px; z-index: 400; max-width: min(520px, calc(100vw - 28px)); padding: 11px 15px; border: 1px solid #a8d5b4; border-radius: 7px; background: #e5f6e9; color: #17662c; box-shadow: 0 10px 30px rgba(12, 28, 43, .2); font-weight: 700; overflow-wrap: anywhere; }
.article-copy-feedback.error { border-color: #edb4b4; background: #fff0f0; color: #8b2323; }
.article-copy-feedback[hidden] { display: none; }
.button-row { display: flex; flex-wrap: wrap; gap: 10px; }
.column-picker { position: relative; }
.column-picker > summary { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; padding: 8px 14px; border: 1px solid #b8c2cc; border-radius: 6px; background: white; color: #17202a; cursor: pointer; list-style: none; white-space: nowrap; }
.column-picker > summary::-webkit-details-marker { display: none; }
.column-picker > summary::after { content: "▾"; margin-left: 8px; color: #607080; font-size: 11px; }
.column-picker[open] > summary { border-color: #176fa9; box-shadow: 0 0 0 2px rgba(23, 111, 169, .12); }
.column-picker-menu { position: absolute; top: calc(100% + 7px); right: 0; z-index: 95; display: grid; min-width: 250px; gap: 3px; padding: 10px; border: 1px solid #cfd8e0; border-radius: 8px; background: white; box-shadow: 0 12px 32px rgba(12, 28, 43, .2); }
.column-picker-menu label { display: flex; align-items: center; gap: 9px; min-height: 34px; padding: 5px 7px; border-radius: 5px; cursor: pointer; }
.column-picker-menu label:hover { background: #eef7fd; }
.column-picker-menu input { width: 18px; height: 18px; min-height: 18px; margin: 0; }
.column-picker-actions { display: flex; gap: 7px; margin-top: 7px; padding-top: 9px; border-top: 1px solid #e2e6ea; }
.column-picker-actions button { flex: 1; min-height: 34px; padding: 6px 8px; font-size: 12px; }
.confirm-panel { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 20px 0 28px; padding: 16px; background: #eef7fd; border: 1px solid #b9d8ec; border-radius: 7px; }
.inline-card { max-width: none; margin: 20px 0; }
.coefficient-settings-form { max-width: none; margin: 0 0 28px; }
.coefficient-grid { display: grid; grid-template-columns: repeat(3, minmax(220px, 1fr)); gap: 14px; }
.coefficient-field, .coefficient-reason { display: grid; gap: 7px; padding: 15px; border: 1px solid #d7dde3; border-radius: 7px; background: #f8fafc; font-weight: 700; }
.coefficient-field small, .coefficient-reason small { color: #607080; font-weight: 400; line-height: 1.35; }
.coefficient-reason { margin: 14px 0; }
.inline-form { display: inline-flex; align-items: center; gap: 7px; margin: 5px 7px 5px 0; }
.inline-form input { width: 150px; }
.gw-article-links { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: 8px 0; }
.gw-article-link { display: inline-flex; align-items: center; gap: 5px; padding: 3px 5px 3px 9px; border: 1px solid #cad3dc; border-radius: 6px; background: #f8fafc; }
.gw-unlink-form { display: inline-flex; margin: 0; }
.gw-unlink-button { min-height: 26px; padding: 2px 7px; border-color: #e0aaaa; color: #a92828; font-size: 12px; }
.small-check { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 400; }
.small-check input { min-height: auto; width: auto; }
.offer-block { padding: 7px 0; border-bottom: 1px solid #e2e6ea; }
.offer-block:last-child { border-bottom: 0; }
.offer-version { margin-top: 6px; }
.target-price { color: #8b4f00; margin-top: 5px; }
.action-panel { display: flex; gap: 12px; margin-top: 20px; }
.selection-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0 0 10px; }
.selection-toolbar span { color: #607080; }
.selection-toolbar strong { color: #17202a; }
.cart-selection-toolbar { margin: 0 0 12px; }
.cart-select-column { width: 44px; text-align: center; }
.cart-row-selector, [data-cart-select-page] { width: 18px; height: 18px; min-height: 18px; cursor: pointer; }
.buyer-cart-table .cart-quantity-input { width: 105px; }
.buyer-cart-table .cart-comment-input { width: min(300px, 28vw); min-width: 210px; resize: vertical; }
.cart-row-actions { min-width: 120px; }
.cart-row-actions button { width: 100%; margin: 3px 0; }
.cart-row-actions .danger { border-color: #e0aaaa; color: #a92828; }
.recent-jobs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0 0 16px; }
.job-status-card { margin: 16px 0 20px; padding: 18px; border: 1px solid #d7e0e8; border-radius: 8px; background: #fff; }
.job-status-heading, .job-counters { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px 18px; }
.job-progress { height: 14px; margin: 12px 0; overflow: hidden; border-radius: 999px; background: #e7edf2; }
.job-progress span { display: block; height: 100%; border-radius: inherit; background: #2c7be5; transition: width .2s ease; }
.cross-row-selector, #select-page-crosses { width: 18px; min-height: 18px; height: 18px; cursor: pointer; }
.unread { background: #eef7fd; font-weight: 600; }
.best-price { background: #e5f6e9; border-radius: 5px; padding: 5px; }
.price-difference { display: inline-block; min-width: 52px; padding: 3px 7px; border-radius: 5px; text-align: center; font-weight: 750; }
.price-difference.better { background: #e5f6e9; color: #17662c; }
.price-difference.worse { background: #fde8e8; color: #a92828; }
.gw-price-editor { min-width: 62px; }
.gw-price-editor[hidden], .purchase-order-checks[hidden], .purchase-order-fields [hidden] { display: none; }
.gw-price-editor > summary { display: inline-flex; min-height: 34px; align-items: center; padding: 5px 8px; border: 1px dashed transparent; border-radius: 5px; color: #135f9b; cursor: pointer; font-weight: 750; list-style: none; white-space: nowrap; }
.gw-price-editor > summary::-webkit-details-marker { display: none; }
.gw-price-editor > summary::after { content: "✎"; margin-left: 6px; color: #7c8b99; font-size: 12px; }
.gw-price-editor > summary:hover, .gw-price-editor[open] > summary { border-color: #b9d8ec; background: #eef7fd; }
.gw-price-edit-form { display: inline-flex; align-items: center; gap: 5px; margin-top: 5px; white-space: nowrap; }
.gw-price-edit-form input[name="price_cny"] { width: 96px; min-height: 34px; padding: 6px 8px; }
.gw-price-edit-form button { min-width: 34px; min-height: 34px; padding: 5px 8px; color: #17662c; font-weight: 800; }
.gw-quantity-editor .gw-price-edit-form { display: flex; flex-wrap: wrap; max-width: 340px; white-space: normal; }
.gw-quantity-editor label { display: grid; gap: 3px; font-size: 12px; }
.gw-quantity-editor input[name="new_quantity"] { width: 140px; }
.gw-quantity-editor input[name="reason"] { width: 200px; }
.gw-quantity-editor small, .quantity-edit-reason { display: block; max-width: 340px; white-space: normal; }
.order-cart-link { display: inline-flex; width: 38px; height: 38px; align-items: center; justify-content: center; border: 1px solid #b9d8ec; border-radius: 7px; background: #eef7fd; font-size: 20px; line-height: 1; }
.order-cart-link:hover { border-color: #176fa9; background: #dceefa; text-decoration: none; }
.request-add-button { min-width: 126px; white-space: nowrap; }
.nomenclature-request-form { max-width: 760px; }
.nomenclature-request-form > label { display: grid; gap: 6px; }
.purchase-option-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; margin: 18px 0; }
.purchase-option { position: relative; display: grid; gap: 7px; min-height: 150px; padding: 16px; border: 2px solid #d7dde3; border-radius: 8px; background: white; cursor: pointer; }
.purchase-option:has(input:checked) { border-color: #176fa9; box-shadow: 0 0 0 3px rgba(23, 111, 169, .12); }
.purchase-option.disabled { opacity: .62; cursor: default; background: #f1f3f5; }
.purchase-option input { position: absolute; top: 12px; right: 12px; min-height: auto; }
.purchase-option strong { padding-right: 25px; font-size: 20px; }
.purchase-option-price { color: #17662c; font-size: 19px; font-weight: 750; }
.purchase-option-meta { color: #607080; font-size: 13px; }
.purchase-order-form { max-width: none; margin: 0; }
.purchase-order-fields { display: grid; grid-template-columns: minmax(180px, 280px) 1fr; align-items: end; gap: 16px; }
.purchase-order-fields > label { display: grid; gap: 6px; font-weight: 600; }
.purchase-order-checks { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 16px 0; }
.purchase-order-checks label { display: inline-flex; align-items: center; gap: 7px; color: #526271; }
.purchase-order-checks input { min-height: auto; }
.order-choice-dialog { width: min(1180px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 0; overflow: hidden; border: 0; border-radius: 12px; background: white; box-shadow: 0 24px 70px rgba(12, 28, 43, .35); }
.order-choice-dialog::backdrop { background: rgba(12, 28, 43, .58); backdrop-filter: blur(2px); }
.order-choice-dialog-body { max-height: calc(100vh - 32px); padding: 24px; overflow: auto; }
.order-choice-dialog .table-wrap th { position: static; }
.order-dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.order-dialog-heading h2 { margin: 0 0 5px; font-size: 24px; }
.order-dialog-close { flex: 0 0 auto; width: 40px; min-height: 40px; padding: 0; border-radius: 50%; font-size: 26px; line-height: 1; }
.order-dialog-loading { padding: 42px 12px; text-align: center; }
.order-choice-dialog[aria-busy="true"] { cursor: wait; }
.order-choice-dialog[aria-busy="true"] .purchase-order-form { opacity: .7; pointer-events: none; }
.rrp-link { display: inline-flex; align-items: center; gap: 5px; font-weight: 750; white-space: nowrap; }
.rrp-icon { display: inline-grid; place-items: center; width: 22px; height: 22px; border: 1px solid currentColor; border-radius: 50%; font-size: 13px; line-height: 1; }
.rrp-value { font-weight: 800; }
.rrp-red { color: #b42318; }
.rrp-orange { color: #b45309; }
.rrp-black { color: #17202a; }
.rrp-summary { display: grid; gap: 7px; margin: 0 0 18px; padding: 14px; border-radius: 8px; background: #f5f8fb; }
.rrp-confirm-form { display: flex; align-items: end; gap: 12px; flex-wrap: wrap; margin-bottom: 22px; }
.rrp-confirm-form label { display: grid; gap: 5px; min-width: min(340px, 100%); }
.rrp-history { margin: 20px 0; }
.rrp-history > summary { cursor: pointer; font-weight: 750; }
@media (max-width: 1480px) {
    .topbar { grid-template-columns: auto auto minmax(0, 1fr); gap: 10px; min-height: 58px; padding: 8px 14px; }
    .topbar.navigation-ready .nav-toggle { display: inline-flex; }
    .main-nav { grid-column: 1 / -1; width: 100%; display: grid; gap: 4px; padding: 6px 0 8px; }
    .topbar.navigation-ready .main-nav { display: none; }
    .topbar.navigation-ready.nav-open .main-nav { display: grid; }
    .nav-group, .nav-direct { width: 100%; }
    .nav-group > summary, .nav-direct { min-height: 42px; padding: 9px 12px; }
    .nav-group > summary::after { margin-left: auto; }
    .nav-dropdown, .nav-group-right .nav-dropdown { position: static; min-width: 0; margin: 3px 0 7px; padding: 6px; border: 0; box-shadow: none; }
    .topbar .nav-dropdown a { padding: 10px 12px; }
    .logout-form { grid-column: 3; grid-row: 1; }
    .coefficient-grid { grid-template-columns: 1fr; }
    .today-summary-grid, .today-source-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .today-detail-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
    .page { padding: 14px; }
    .page-heading { align-items: flex-start; flex-direction: column; }
    .gw-assignment-grid { grid-template-columns: 1fr; }
    .compact-result-row { align-items: stretch; flex-direction: column; }
    .summary-grid { grid-template-columns: 1fr 1fr; }
    .today-action-grid, .today-source-grid { grid-template-columns: 1fr; }
    .user-name { display: none; }
    .header-exchange-rate small { display: none; }
    .pagination-bar { align-items: stretch; flex-direction: column; }
    .pagination-block { justify-items: start; }
    .pagination { justify-content: flex-start; }
    .purchase-order-fields { grid-template-columns: 1fr; }
    .table-filter-range { grid-template-columns: 1fr; }
}
