/* Searchable company picker */
.search-combobox { position: relative; }
.search-combobox .form-control { padding-right: 42px; }
.search-combobox-toggle { position: absolute; right: 1px; top: 1px; width: 40px; height: 40px; border: 0; border-left: 1px solid var(--line); border-radius: 0 8px 8px 0; background: #fff; color: #66748a; font-size: 20px; z-index: 2; }
.search-combobox-menu { display: none; position: absolute; left: 0; right: 0; top: calc(100% + 6px); max-height: 260px; overflow-y: auto; background: #fff; border: 1px solid #d8dee8; border-radius: 10px; box-shadow: 0 14px 36px #172b4d26; padding: 6px; z-index: 1060; }
.search-combobox.open .search-combobox-menu { display: block; }
.search-combobox-menu button { display: block; width: 100%; padding: 10px 12px; border: 0; border-radius: 7px; background: #fff; color: var(--ink); text-align: left; }
.search-combobox-menu button strong,
.search-combobox-menu button small { display: block; }
.search-combobox-menu button small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.search-combobox-menu button:hover,
.search-combobox-menu button.active { background: #eaf2ff; color: #155dbd; }
.search-combobox-empty { padding: 16px; text-align: center; color: var(--muted); font-size: 13px; }
.incoming-number-group .input-group-text { min-width: 90px; justify-content: center; color: #244d83; background: #edf4ff; border-color: #dce1e8; font-weight: 800; }
.file-picker { padding: 12px; border: 1px solid #dfe6ef; border-radius: 10px; background: #fbfcfe; }
.file-picker-toolbar { display: flex; align-items: center; gap: 12px; }
.file-picker-toolbar > small { color: var(--muted); font-size: 11px; }
.selected-files { display: grid; gap: 6px; }
.selected-files > span { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 7px 9px; border: 1px solid #e1e7ef; border-radius: 7px; background: #f8fafc; }
.selected-file-main { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; flex: 1; }
.selected-files b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.selected-files small { color: var(--muted); white-space: nowrap; font-size: 10px; }
.file-remove { width: 27px; height: 27px; flex: 0 0 auto; display: grid; place-items: center; padding: 0; color: #bd3246; border: 1px solid #efbcc4; border-radius: 50%; background: #fff; font-size: 19px; line-height: 1; }
.file-remove:hover { color: #fff; border-color: #bd3246; background: #bd3246; }
.alternative-check { padding: 13px 14px 13px 38px; border: 1px solid #dce7f5; border-radius: 10px; background: #f6f9fd; }
.alternative-check label strong,
.alternative-check label small { display: block; }
.alternative-check label small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.alternative-fields { padding: 16px; border: 1px solid #cfe5e2; border-radius: 11px; background: #f3fbfa; }
.attachment-group-title { margin: 3px 0 8px; color: #566176; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.attachment-group-title.alternative { margin-top: 22px; color: #087f82; }
.alternative-file { padding-left: 10px; border-left: 3px solid #2facaa; background: #f7fcfb; }
.file-actions { display: flex; gap: 6px; }

/* Dashboard charts without external scripts */
.daily-chart { height: 250px; display: grid; grid-template-columns: repeat(30, minmax(14px, 1fr)); align-items: end; gap: 4px; padding: 25px 2px 26px; border-bottom: 1px solid var(--line); overflow-x: auto; }
.daily-chart-column { height: 100%; min-width: 14px; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; position: relative; }
.daily-chart-bar { display: block; width: min(100%, 20px); min-height: 4px; border-radius: 5px 5px 2px 2px; background: linear-gradient(180deg, #4e8fe8, #2168c7); transition: .2s; }
.daily-chart-column:hover .daily-chart-bar { background: #154f9f; }
.daily-chart-value { font-size: 10px; font-weight: 700; color: #2464b9; margin-bottom: 3px; min-height: 15px; }
.daily-chart-column small { position: absolute; top: calc(100% + 7px); font-size: 9px; color: #8993a4; white-space: nowrap; display: none; }
.daily-chart-column:nth-child(5n+1) small,
.daily-chart-column:last-child small { display: block; }
.chart-empty-note { text-align: center; color: var(--muted); font-size: 12px; margin: 12px 0 0; }
.status-chart { display: flex; flex-direction: column; gap: 15px; }
.status-chart-row > div:first-child { display: flex; justify-content: space-between; gap: 10px; font-size: 12px; margin-bottom: 6px; }
.status-chart-row strong { color: #315f9d; }
.status-chart-track { height: 8px; background: #edf1f6; border-radius: 999px; overflow: hidden; }
.status-chart-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #3978d1, #6ca2ec); }
.status-chart-created .status-chart-track span { background: linear-gradient(90deg, #3978d1, #6ca2ec); }
.status-chart-review .status-chart-track span { background: linear-gradient(90deg, #e88918, #f7ad45); }
.status-chart-approved .status-chart-track span { background: linear-gradient(90deg, #188a55, #39b979); }
.status-chart-warehouse .status-chart-track span { background: linear-gradient(90deg, #078a8c, #2fc0ba); }
.status-chart-created strong { color: #315f9d; }
.status-chart-review strong { color: #d97508; }
.status-chart-approved strong { color: #137a49; }
.status-chart-warehouse strong { color: #087f82; }

/* Pagination */
.pagination-wrap { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 4px; }
.pagination-summary { color: var(--muted); font-size: 12px; }
.pagination { display: flex; gap: 4px; }
.pagination .page-link { min-width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 7px !important; color: #3568a9; text-decoration: none; }
.pagination .page-link.active { background: #2168c7; border-color: #2168c7; color: #fff; }
.pagination .page-link.disabled { pointer-events: none; color: #aab1bc; background: #f4f6f9; }

/* Live register filters */
.quick-view-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin: -2px 0 16px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.quick-view-label { margin-right: 4px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.quick-view-chip { padding: 7px 11px; color: #536176; border: 1px solid #dce3ec; border-radius: 999px; background: #f8fafc; text-decoration: none; font-size: 11px; font-weight: 700; }
.quick-view-chip:hover { color: #2168c7; border-color: #94b8e7; background: #eef5ff; }
.quick-view-chip.active { color: #fff; border-color: #2168c7; background: #2168c7; box-shadow: 0 3px 9px #2168c72e; }
.quick-view-danger:not(.active) { color: #b93649; background: #fff7f8; }
.quick-view-action:not(.active) { color: #9a620c; background: #fff9ef; }
.request-summary-grid { display: grid; grid-template-columns: repeat(7, minmax(135px, 1fr)); gap: 12px; margin-bottom: 18px; }
.request-summary-card { --summary-color: #3978d1; position: relative; overflow: hidden; min-height: 112px; padding: 15px 16px; color: var(--ink); border: 1px solid var(--line); border-top: 3px solid var(--summary-color); border-radius: 12px; background: #fff; text-decoration: none; box-shadow: 0 3px 12px #17335a08; transition: transform .15s, box-shadow .15s; }
.request-summary-card::after { content: ""; position: absolute; right: -22px; top: -22px; width: 68px; height: 68px; border-radius: 50%; background: var(--summary-color); opacity: .09; }
.request-summary-card:hover { color: var(--ink); transform: translateY(-2px); box-shadow: 0 8px 20px #17335a15; }
.request-summary-card small,
.request-summary-card span { display: block; }
.request-summary-card small { min-height: 29px; color: var(--muted); font-size: 11px; font-weight: 700; }
.request-summary-card strong { display: block; margin: 3px 0 6px; color: var(--summary-color); font-size: 25px; line-height: 1; }
.request-summary-card span { color: var(--muted); font-size: 9px; }
.summary-waiting { --summary-color: #3978d1; }
.summary-review { --summary-color: #df8615; }
.summary-director { --summary-color: #9b6a16; }
.summary-approved { --summary-color: #188a55; }
.summary-warehouse { --summary-color: #078a8c; }
.summary-rejected { --summary-color: #c83d4d; }
[data-auto-filter] { position: relative; }
[data-auto-filter]::after { content: "Обновление…"; position: fixed; right: 22px; bottom: 22px; z-index: 1100; padding: 8px 12px; color: #fff; border-radius: 8px; background: #173d70; box-shadow: 0 8px 24px #172b4d38; font-size: 11px; font-weight: 700; opacity: 0; transform: translateY(8px); pointer-events: none; transition: .15s; }
[data-auto-filter].auto-filter-loading::after { opacity: 1; transform: translateY(0); }
.request-register { overflow: hidden; }
.request-filter-grid { display: grid; grid-template-columns: repeat(4, minmax(165px, 1fr)); gap: 14px; padding: 15px 18px; border-bottom: 1px solid var(--line); background: #fbfcfe; }
.request-search-field { grid-column: span 2; }
.sortable-column { display: inline-flex; align-items: center; gap: 7px; }
.sort-toggle { width: 22px; height: 22px; flex: 0 0 auto; display: grid; place-items: center; color: #7d899b; border: 1px solid #d8e0ea; border-radius: 5px; background: #fff; text-decoration: none; font-size: 12px; line-height: 1; }
.sort-toggle:hover { color: #2168c7; border-color: #8fb5e9; background: #eef5ff; }
.sort-toggle.active { color: #fff; border-color: #2168c7; background: #2168c7; box-shadow: 0 2px 6px #2168c733; }
.deadline-cell { min-width: 165px; }
.deadline-cell strong,
.deadline-cell small,
.deadline-summary { display: block; }
.deadline-cell strong { color: #253a57; font-size: 11px; }
.deadline-cell small,
.deadline-summary { margin-top: 3px; color: #27704f; font-size: 10px; font-weight: 700; }
.deadline-overdue { background: #fff8f8 !important; }
.deadline-cell .overdue,
.deadline-summary.overdue { color: #c23548; }

/* Reports and settings */
.report-filter { overflow: hidden; }
.report-outcome-list { display: grid; gap: 0; }
.report-outcome-list > div { display: flex; align-items: center; justify-content: space-between; padding: 14px 0; border-bottom: 1px solid var(--line); }
.report-outcome-list > div:last-child { border-bottom: 0; }
.report-outcome-list span { color: var(--muted); }
.report-outcome-list strong { font-size: 22px; }
.share-cell { display: grid; grid-template-columns: minmax(80px, 120px) 45px; align-items: center; gap: 10px; min-width: 150px; position: relative; }
.share-cell::before { content: ""; grid-column: 1; grid-row: 1; height: 8px; border-radius: 999px; background: #edf1f6; }
.share-cell span { grid-column: 1; grid-row: 1; height: 8px; max-width: 120px; border-radius: 999px; background: #3978d1; z-index: 1; }
.share-cell small { grid-column: 2; white-space: nowrap; }
.settings-intro { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.settings-sections { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.settings-section-link { display: flex; align-items: center; gap: 12px; min-height: 68px; padding: 12px 15px; color: var(--ink); border: 1px solid var(--line); border-radius: 12px; background: #fff; text-decoration: none; transition: border-color .15s, background .15s, box-shadow .15s; }
.settings-section-link > span { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 auto; color: #2168c7; border-radius: 10px; background: #eaf2ff; font-size: 18px; }
.settings-section-link strong, .settings-section-link small { display: block; }
.settings-section-link strong { font-size: 13px; }
.settings-section-link small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.settings-section-link:hover { color: #2168c7; border-color: #9bbce6; background: #f8fbff; }
.settings-section-link.active { color: #fff; border-color: #2168c7; background: #2168c7; box-shadow: 0 6px 16px #2168c72b; }
.settings-section-link.active > span { color: #2168c7; background: #fff; }
.settings-section-link.active small { color: #d9e9ff; }
.settings-intro > div { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 16px; display: grid; grid-template-columns: 38px 1fr; column-gap: 10px; }
.settings-intro span { grid-row: 1 / 3; width: 36px; height: 36px; border-radius: 10px; background: #eaf2ff; color: #2168c7; display: grid; place-items: center; font-weight: 800; }
.settings-intro strong { font-size: 13px; }
.settings-intro small { color: var(--muted); }
.settings-list { display: grid; gap: 14px; }
.setting-card { border: 1px solid var(--line); border-radius: 12px; padding: 18px; display: grid; grid-template-columns: minmax(280px, 1fr) minmax(440px, .9fr); gap: 24px; align-items: center; }
.setting-card-copy { display: flex; align-items: flex-start; gap: 14px; }
.setting-icon { width: 42px; height: 42px; flex: 0 0 auto; border-radius: 11px; background: #edf4ff; display: grid; place-items: center; font-size: 19px; }
.setting-card h3 { font-size: 15px; margin: 2px 0 6px; }
.setting-card p { margin: 0; color: var(--muted); font-size: 12px; }
.setting-controls { display: grid; grid-template-columns: 150px minmax(180px, 1fr) auto; align-items: end; gap: 14px; }
.setting-check { align-self: center; margin-top: 20px; font-size: 12px; }
.settings-count { padding: 5px 9px; color: #2168c7; border-radius: 999px; background: #eaf2ff; font-size: 11px; font-weight: 700; }
.currency-add-form { display: grid; grid-template-columns: minmax(230px, 1.2fr) 130px minmax(190px, 1fr) 130px auto; align-items: end; gap: 14px; padding: 17px; border: 1px solid #dfe6ef; border-radius: 12px; background: #f8fafd; }
.currency-add-copy { display: flex; align-items: flex-start; gap: 12px; align-self: center; }
.currency-add-copy h3 { margin: 2px 0 4px; font-size: 14px; }
.currency-add-copy p { margin: 0; color: var(--muted); font-size: 10px; }
.currency-list { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; }
.currency-row { display: grid; grid-template-columns: 78px minmax(200px, 1fr) 130px 95px 90px; align-items: center; gap: 16px; min-height: 76px; padding: 13px 16px; border-bottom: 1px solid var(--line); background: #fff; }
.currency-row:last-child { border-bottom: 0; }
.currency-disabled { background: #fafbfc; opacity: .76; }
.currency-code { display: grid; place-items: center; min-height: 38px; padding: 5px; color: #fff; border-radius: 8px; background: #173d70; font-size: 13px; font-weight: 800; letter-spacing: .04em; }
.currency-name strong, .currency-name small, .currency-usage small, .currency-usage strong { display: block; }
.currency-name small, .currency-usage small { color: var(--muted); font-size: 10px; }
.currency-usage strong { margin-top: 3px; font-size: 12px; }
.currency-state { justify-self: start; padding: 5px 9px; border-radius: 999px; font-size: 10px; font-weight: 700; }
.currency-state.active { color: #147554; background: #e1f5ed; }
.currency-state.inactive { color: #697488; background: #edf0f4; }
.currency-safety-note { margin-top: 14px; padding: 11px 13px; color: #657389; border-radius: 9px; background: #f2f5f9; font-size: 10px; }
.category-add-form { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(320px, 1.4fr) auto; align-items: end; gap: 14px; padding: 17px; border: 1px solid #dfe6ef; border-radius: 12px; background: #f8fafd; }
.category-add-copy { display: flex; align-items: flex-start; gap: 12px; align-self: center; }
.category-add-copy h3 { margin: 2px 0 4px; font-size: 14px; }
.category-add-copy p { margin: 0; color: var(--muted); font-size: 10px; }
.category-list { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; }
.category-row { display: grid; grid-template-columns: 48px minmax(230px, 1fr) 130px 95px 90px; align-items: center; gap: 16px; min-height: 68px; padding: 11px 16px; border-bottom: 1px solid var(--line); background: #fff; }
.category-row:last-child { border-bottom: 0; }
.category-order { display: grid; place-items: center; width: 36px; height: 36px; color: #2168c7; border-radius: 9px; background: #eaf2ff; font-size: 12px; font-weight: 800; }
.category-name strong, .category-name small { display: block; }
.category-name small { margin-top: 3px; color: var(--muted); font-size: 10px; }

/* Telegram notifications */
.telegram-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .7fr); gap: 18px; align-items: start; }
.telegram-connect-panel, .telegram-events-panel { overflow: hidden; }
.telegram-state { padding: 6px 10px; color: #6a7586; border-radius: 999px; background: #edf0f4; font-size: 10px; font-weight: 800; }
.telegram-state.connected { color: #147554; background: #e1f5ed; }
.telegram-empty { min-height: 260px; display: flex; align-items: center; justify-content: center; flex-direction: column; text-align: center; }
.telegram-empty > span { width: 62px; height: 62px; display: grid; place-items: center; margin-bottom: 16px; color: #fff; border-radius: 20px; background: linear-gradient(145deg, #2aabee, #2168c7); font-size: 28px; box-shadow: 0 10px 24px #2168c733; }
.telegram-empty h3, .telegram-connected-card h3, .telegram-link-card h3 { margin: 0 0 6px; font-size: 17px; }
.telegram-empty p { max-width: 430px; margin: 0 0 20px; color: var(--muted); font-size: 12px; }
.telegram-connected-card, .telegram-link-card { display: flex; align-items: center; gap: 16px; min-height: 130px; padding: 20px; border: 1px solid #c9eadf; border-radius: 14px; background: linear-gradient(135deg, #f1fbf7, #fff); }
.telegram-link-card { border-color: #cfe0f6; background: linear-gradient(135deg, #f1f6fd, #fff); }
.telegram-large-icon { width: 52px; height: 52px; flex: 0 0 auto; display: grid; place-items: center; color: #fff; border-radius: 16px; background: #20a36f; font-size: 24px; font-weight: 800; }
.telegram-link-card .telegram-large-icon { background: #2168c7; }
.telegram-connected-card p, .telegram-link-card p { margin: 0; color: var(--muted); font-size: 12px; }
.telegram-connected-card small { display: block; margin-top: 7px; color: var(--muted); }
.telegram-actions { display: flex; gap: 10px; }
.telegram-open-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.telegram-manual-connect { display: grid; gap: 12px; padding: 16px; border: 1px solid #f0d4a9; border-radius: 12px; background: #fff9ef; }
.telegram-manual-connect strong, .telegram-manual-connect p { display: block; margin: 0; }
.telegram-manual-connect strong { color: #8a5a17; font-size: 11px; }
.telegram-manual-connect p { margin-top: 4px; color: #76664e; font-size: 10px; }
.telegram-manual-connect .form-control { font-family: Consolas, monospace; font-size: 11px; }
.telegram-expiry { margin: 12px 0 0; color: var(--muted); font-size: 10px; }
.telegram-event-list { display: grid; gap: 3px; }
.telegram-event-list > div { display: grid; grid-template-columns: 34px 1fr; gap: 10px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.telegram-event-list > div:last-child { border-bottom: 0; }
.telegram-event-list > div > span { width: 30px; height: 30px; display: grid; place-items: center; color: #2168c7; border-radius: 9px; background: #eaf2ff; font-weight: 800; }
.telegram-event-list p, .telegram-event-list strong, .telegram-event-list small { display: block; margin: 0; }
.telegram-event-list strong { font-size: 11px; }
.telegram-event-list small { margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.telegram-user-state { padding: 5px 8px; color: #7a8493; border-radius: 999px; background: #edf0f4; font-size: 9px; font-weight: 700; white-space: nowrap; }
.telegram-user-state.connected { color: #147554; background: #e1f5ed; }

/* Notification center */
.notification-heading { align-items: center; }
.notification-overview { display: grid; grid-template-columns: 220px 220px minmax(300px, 1fr); gap: 14px; margin-bottom: 18px; }
.notification-counter { display: flex; align-items: center; gap: 13px; min-height: 82px; padding: 14px 17px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.notification-counter > span { width: 42px; height: 42px; display: grid; place-items: center; color: #2168c7; border-radius: 12px; background: #eaf2ff; font-weight: 800; }
.notification-counter small, .notification-counter strong { display: block; }
.notification-counter small { color: var(--muted); font-size: 10px; }
.notification-counter strong { margin-top: 2px; font-size: 23px; }
.counter-unread > span { color: #b66b0b; background: #fff0da; }
.notification-tabs { display: flex; align-items: center; justify-content: flex-end; gap: 5px; padding: 7px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.notification-tabs a { display: flex; align-items: center; gap: 8px; min-height: 42px; padding: 9px 13px; color: #647186; border-radius: 9px; text-decoration: none; font-size: 11px; font-weight: 700; }
.notification-tabs a:hover { color: #2168c7; background: #f4f7fb; }
.notification-tabs a.active { color: #fff; background: #2168c7; box-shadow: 0 5px 14px #2168c72b; }
.notification-tabs b { min-width: 22px; padding: 3px 6px; border-radius: 999px; background: #edf1f6; color: #637086; text-align: center; font-size: 9px; }
.notification-tabs a.active b { color: #2168c7; background: #fff; }
.notification-panel { overflow: hidden; }
.notification-result-count { min-width: 30px; padding: 5px 9px; color: #5e6b7e; border-radius: 999px; background: #edf1f6; text-align: center; font-size: 10px; font-weight: 800; }
.notification-feed { padding: 8px 20px 20px; }
.notification-day-heading { display: flex; align-items: center; gap: 12px; padding: 17px 0 9px; }
.notification-day-heading span { color: #5e6b7e; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; white-space: nowrap; }
.notification-day-heading i { width: 100%; height: 1px; background: #edf0f4; }
.notification-day-list { display: grid; gap: 9px; }
.notification-card { --notification-color: #3978d1; --notification-soft: #edf4ff; position: relative; display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; gap: 14px; align-items: center; min-height: 88px; padding: 14px 15px; border: 1px solid #e4e8ee; border-left: 4px solid var(--notification-color); border-radius: 12px; background: #fff; transition: border-color .15s, box-shadow .15s, transform .15s; }
.notification-card:hover { border-color: #cdd6e2; box-shadow: 0 7px 20px #17335a0d; transform: translateY(-1px); }
.notification-card.unread { background: linear-gradient(90deg, var(--notification-soft), #fff 33%); }
.notification-type-icon { width: 42px; height: 42px; display: grid; place-items: center; color: var(--notification-color); border-radius: 12px; background: var(--notification-soft); font-size: 17px; font-weight: 900; }
.notification-copy { min-width: 0; }
.notification-copy h3 { margin: 5px 0 3px; font-size: 13px; }
.notification-copy p { margin: 0; color: #66748a; font-size: 11px; white-space: pre-wrap; }
.notification-company { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; margin: 3px 0 5px; padding: 4px 8px; color: #344e70; border-radius: 7px; background: #f0f4f9; font-size: 10px; }
.notification-company span { font-size: 11px; }
.notification-company strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.notification-meta { display: flex; align-items: center; gap: 7px; min-height: 17px; }
.notification-meta time { margin-left: auto; color: #939dac; font-size: 9px; }
.notification-kind, .notification-new { padding: 3px 7px; color: var(--notification-color); border-radius: 999px; background: var(--notification-soft); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.notification-new { color: #fff; background: var(--notification-color); }
.notification-card-actions { display: flex; align-items: center; gap: 8px; }
.notification-card-actions form { margin: 0; }
.notification-read-button { width: 30px; height: 30px; display: grid; place-items: center; color: #758196; border: 1px solid #dce2e9; border-radius: 8px; background: #fff; font-weight: 800; }
.notification-read-button:hover { color: #157653; border-color: #9dd7c2; background: #effaf6; }
.notification-approved { --notification-color: #1f9d70; --notification-soft: #e7f7f1; }
.notification-warehouse { --notification-color: #7654c2; --notification-soft: #f0ebff; }
.notification-rejected { --notification-color: #d24b5d; --notification-soft: #fdecef; }
.notification-revision { --notification-color: #df8621; --notification-soft: #fff2df; }
.notification-assignment { --notification-color: #6257c7; --notification-soft: #efedff; }
.notification-review { --notification-color: #138e9b; --notification-soft: #e5f7f8; }
.notification-created { --notification-color: #3978d1; --notification-soft: #eaf2ff; }
.notification-empty { display: flex; min-height: 310px; align-items: center; justify-content: center; flex-direction: column; padding: 40px; text-align: center; }
.notification-empty > span { width: 58px; height: 58px; display: grid; place-items: center; margin-bottom: 14px; color: #1f9d70; border-radius: 18px; background: #e7f7f1; font-size: 23px; font-weight: 900; }
.notification-empty h3 { margin: 0 0 5px; font-size: 17px; }
.notification-empty p { max-width: 430px; margin: 0 0 17px; color: var(--muted); font-size: 11px; }

/* Telegram administrator settings */
.telegram-admin-panel { overflow: hidden; }
.telegram-admin-layout { display: grid; grid-template-columns: minmax(260px, .75fr) minmax(420px, 1.25fr); gap: 20px; align-items: start; }
.telegram-admin-status { display: flex; gap: 16px; min-height: 210px; padding: 22px; color: #fff; border-radius: 15px; background: radial-gradient(circle at 90% 10%, #48c2ff55, transparent 34%), linear-gradient(145deg, #153458, #1d6097); }
.telegram-admin-logo { width: 54px; height: 54px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 17px; background: #2aabee; font-size: 25px; box-shadow: 0 10px 24px #071d344d; }
.telegram-admin-status small { color: #9fc5e8; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.telegram-admin-status h3 { margin: 5px 0 16px; font-size: 20px; }
.telegram-admin-status p { margin: 7px 0 0; color: #d6e7f5; font-size: 11px; line-height: 1.5; }
.telegram-admin-status code { color: #fff; font-weight: 700; }
.telegram-admin-form { display: grid; gap: 16px; padding: 22px; border: 1px solid var(--line); border-radius: 15px; background: #f8fafd; }
.telegram-admin-form-actions { display: flex; justify-content: flex-end; }
.form-hint { display: block; margin-top: 5px; color: var(--muted); font-size: 9px; }
.telegram-security-note { display: flex; gap: 12px; padding: 15px 17px; border: 1px solid #c9eadf; border-radius: 12px; background: #f1fbf7; }
.telegram-security-note > span { width: 28px; height: 28px; flex: 0 0 auto; display: grid; place-items: center; color: #fff; border-radius: 50%; background: #20a36f; font-weight: 800; }
.telegram-security-note strong, .telegram-security-note p { display: block; margin: 0; }
.telegram-security-note strong { font-size: 11px; }
.telegram-security-note p { margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.5; }
.telegram-clear-form { align-self: center; justify-self: end; }

/* Generated period report */
.report-generator { overflow: visible; }
.report-period-row { display: grid; grid-template-columns: minmax(260px, 1fr) 190px 190px auto; gap: 16px; align-items: end; }
.report-period-title { display: flex; align-items: center; gap: 12px; padding-bottom: 4px; }
.report-period-title > span { width: 42px; height: 42px; border-radius: 12px; background: #eaf2ff; color: #2168c7; display: grid; place-items: center; font-size: 19px; }
.report-period-title strong,
.report-period-title small { display: block; }
.report-period-title small { color: var(--muted); font-size: 11px; margin-top: 3px; }
.report-extra-filters { border-top: 1px solid var(--line); margin-top: 18px; padding-top: 14px; }
.report-extra-filters summary { color: #3568a9; cursor: pointer; font-size: 12px; font-weight: 700; }
.report-sheet { display: grid; gap: 20px; }
.report-sheet-header { padding: 24px 26px; color: #fff; background: linear-gradient(125deg, #142c4d, #1d5ca6); border-radius: 16px; display: flex; justify-content: space-between; align-items: center; gap: 20px; box-shadow: 0 16px 35px #183e7124; }
.report-sheet-header h2 { margin: 3px 0 4px; font-size: 25px; }
.report-sheet-header p { margin: 0; color: #c3d5ed; font-size: 12px; }
.report-sheet-header .btn { background: #fff; }
.report-kicker { color: #7fb5ff; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.report-kpi-grid { display: grid; grid-template-columns: repeat(5, minmax(150px, 1fr)); gap: 14px; }
.report-kpi { background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--kpi-color); border-radius: 13px; padding: 17px; box-shadow: 0 3px 12px #17335a08; }
.report-kpi span,
.report-kpi small { display: block; color: var(--muted); }
.report-kpi span { font-size: 12px; font-weight: 700; }
.report-kpi strong { display: block; font-size: 29px; line-height: 1.1; margin: 8px 0; color: var(--ink); }
.report-kpi small { font-size: 10px; }
.kpi-blue { --kpi-color: #3978d1; }.kpi-green { --kpi-color: #1f9d70; }.kpi-purple { --kpi-color: #7958c7; }.kpi-red { --kpi-color: #d94d60; }.kpi-amber { --kpi-color: #df8a26; }
.report-visual-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.report-visual-card { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 22px; }
.report-visual-card h3 { font-size: 16px; margin: 0 0 4px; }
.report-visual-card > div:first-child p { margin: 0; color: var(--muted); font-size: 11px; }
.donut-layout { display: grid; grid-template-columns: 180px 1fr; align-items: center; gap: 26px; padding-top: 18px; }
.report-donut { width: 170px; height: 170px; border-radius: 50%; display: grid; place-items: center; position: relative; }
.report-donut::after { content: ""; position: absolute; width: 104px; height: 104px; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 1px #edf0f4; }
.report-donut > div { position: relative; z-index: 1; text-align: center; }
.report-donut strong,
.report-donut span { display: block; }
.report-donut strong { font-size: 25px; }
.report-donut span { color: var(--muted); font-size: 10px; }
.donut-legend { display: grid; gap: 12px; }
.donut-legend > div { display: grid; grid-template-columns: 10px 1fr auto; align-items: center; gap: 9px; font-size: 12px; }
.donut-legend i { width: 9px; height: 9px; border-radius: 50%; }
.donut-legend strong { font-size: 14px; }
.report-section { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 22px; }
.report-section-heading { display: flex; justify-content: space-between; gap: 15px; margin-bottom: 18px; }
.report-section-heading h3 { font-size: 16px; margin: 0 0 4px; }
.report-section-heading p { margin: 0; color: var(--muted); font-size: 11px; }
.saving-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; }
.saving-card { border: 1px solid #dfe7f1; border-radius: 12px; padding: 18px; background: linear-gradient(145deg, #fbfdff, #f3f7fc); }
.saving-card-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.saving-card-head > span { background: #173d70; color: #fff; padding: 5px 9px; border-radius: 7px; font-weight: 800; }
.saving-card-head small { color: var(--green); font-weight: 700; }
.saving-card > strong { display: block; color: var(--green); font-size: 25px; margin-top: 16px; }
.saving-card > strong small { font-size: 12px; }
.saving-label { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.saving-breakdown { display: grid; gap: 7px; border-top: 1px solid #dfe7f1; margin-top: 14px; padding-top: 12px; }
.saving-breakdown span { display: flex; justify-content: space-between; color: var(--muted); font-size: 11px; }
.saving-breakdown b { color: var(--ink); }
.status-report-list { display: grid; gap: 13px; }
.status-report-list > div { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(220px, 3fr) 40px 50px; gap: 12px; align-items: center; font-size: 12px; }
.status-report-list > div > div { height: 9px; border-radius: 99px; background: #edf1f6; overflow: hidden; }
.status-report-list i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #3978d1, #74a8ee); }
.status-report-list small { color: var(--muted); }
.report-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: start; }
.report-scroll-table { max-height: 268px; overflow-y: auto; scrollbar-gutter: stable; }
.report-scroll-table .data-table thead th { position: sticky; top: 0; z-index: 2; height: 44px; background: #fafbfc; box-shadow: 0 1px 0 #e5e9f0; }
.report-scroll-table .data-table tbody tr { height: 56px; }
.report-scroll-table .data-table tbody td { height: 56px; }
.report-scroll-table .data-table tbody td:first-child strong { display: block; max-width: 310px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.company-link { font-weight: 700; color: #2164c1; text-decoration: none; }
.company-link:hover { text-decoration: underline; }
.request-count-link { color: #5d6d83; font-size: 11px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.request-count-link:hover { color: #2164c1; }

/* Decision report generator */
.side-nav a.nav-subitem { margin-left: 30px; padding-top: 7px; padding-bottom: 7px; font-size: 12px; color: #8fa2bd; }
.side-nav a.nav-subitem span { width: 14px; }
.report-tabs { display: inline-flex; gap: 4px; padding: 4px; margin-bottom: 20px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.report-tabs a { padding: 8px 14px; border-radius: 7px; color: #647186; text-decoration: none; font-size: 12px; font-weight: 700; }
.report-tabs a:hover { color: #2168c7; background: #f3f7fc; }
.report-tabs a.active { color: #fff; background: #2168c7; box-shadow: 0 4px 12px #2168c733; }
.decision-generator { overflow: visible; }
.decision-report-header { padding: 26px 28px; color: #fff; background: radial-gradient(circle at 85% 10%, #3d7fd066, transparent 32%), linear-gradient(125deg, #112642, #174c87); border-radius: 16px; display: flex; justify-content: space-between; align-items: center; gap: 20px; box-shadow: 0 16px 35px #183e7124; }
.decision-report-header h2 { margin: 4px 0; font-size: 26px; }
.decision-report-header p { margin: 0; color: #c1d4eb; font-size: 11px; }
.decision-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(170px, 1fr)); gap: 14px; }
.decision-kpi { --decision-color: #3978d1; position: relative; overflow: hidden; padding: 18px; border: 1px solid var(--line); border-left: 4px solid var(--decision-color); border-radius: 13px; background: #fff; box-shadow: 0 3px 12px #17335a08; }
.decision-kpi::after { content: ""; position: absolute; right: -24px; top: -24px; width: 80px; height: 80px; border-radius: 50%; background: var(--decision-color); opacity: .08; }
.decision-kpi span, .decision-kpi small { display: block; color: var(--muted); }
.decision-kpi span { font-size: 12px; font-weight: 700; }
.decision-kpi strong { display: block; margin: 7px 0; font-size: 29px; }
.decision-kpi small { font-size: 10px; }
.decision-kpi-approved { --decision-color: #1f9d70; }
.decision-kpi-warehouse { --decision-color: #7958c7; }
.decision-kpi-rejected { --decision-color: #d94d60; }
.decision-overview-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 20px; }
.decision-rules-card { padding: 22px; color: #fff; border-radius: 14px; background: linear-gradient(145deg, #243f67, #172b48); box-shadow: 0 10px 24px #172b481c; }
.decision-rules-card h3 { margin: 4px 0 18px; font-size: 18px; }
.decision-rules-card > div { display: grid; grid-template-columns: 110px 1fr; gap: 12px; padding: 11px 0; border-bottom: 1px solid #ffffff17; font-size: 12px; }
.decision-rules-card > div b { color: #8ebeff; }
.decision-rules-card > div span { color: #d2ddec; }
.decision-rules-card p { margin: 16px 0 0; color: #9fb0c5; font-size: 10px; line-height: 1.5; }
.decision-currency-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; }
.decision-currency-card { border: 1px solid #dfe6ef; border-radius: 14px; padding: 19px; background: linear-gradient(150deg, #fff, #f7faff); box-shadow: 0 5px 16px #17335a0b; }
.decision-currency-head { display: flex; justify-content: space-between; align-items: center; }
.decision-currency-head > span { padding: 6px 10px; color: #fff; border-radius: 8px; background: #173d70; font-weight: 800; letter-spacing: .04em; }
.decision-currency-head small { color: var(--muted); font-weight: 700; }
.decision-saving-main { margin: 18px 0 11px; }
.decision-saving-main small, .decision-saving-main span { display: block; color: var(--muted); font-size: 10px; }
.decision-saving-main strong { display: block; margin: 3px 0; color: var(--green); font-size: 25px; }
.decision-saving-main em { font-size: 11px; font-style: normal; }
.decision-progress { height: 7px; overflow: hidden; border-radius: 999px; background: #e8edf4; }
.decision-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #1f9d70, #55c69e); }
.decision-money-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 15px 0; }
.decision-money-grid > div { padding: 11px; border-radius: 9px; background: #f0f4f9; }
.decision-money-grid small, .decision-money-grid b { display: block; }
.decision-money-grid small { margin-bottom: 4px; color: var(--muted); font-size: 9px; text-transform: uppercase; }
.decision-money-grid b { font-size: 14px; }
.decision-saving-breakdown { display: grid; gap: 8px; padding: 13px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.decision-saving-breakdown span { display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 8px; color: var(--muted); font-size: 11px; }
.decision-saving-breakdown i { width: 8px; height: 8px; border-radius: 50%; }
.decision-saving-breakdown b { color: var(--ink); }
.decision-currency-card footer { display: flex; gap: 16px; padding-top: 13px; color: var(--muted); font-size: 10px; }
.decision-currency-card footer b { color: var(--ink); }
.decision-table-panel { overflow: hidden; }

@media (max-width: 1100px) {
    .request-summary-grid { grid-template-columns: repeat(3, 1fr); }
    .setting-card { grid-template-columns: 1fr; }
    .setting-controls { grid-template-columns: 150px 1fr auto; }
    .currency-add-form, .category-add-form { grid-template-columns: repeat(2, 1fr); }
    .currency-add-copy, .category-add-copy { grid-column: 1 / -1; }
    .currency-row { grid-template-columns: 70px 1fr 110px 90px; }
    .currency-row form { grid-column: 4; }
    .category-row { grid-template-columns: 48px 1fr 110px 90px; }
    .category-row form { grid-column: 4; }
    .report-summary-grid { grid-template-columns: 1fr; }
    .report-period-row { grid-template-columns: 1fr 1fr; }
    .report-period-title { grid-column: 1 / -1; }
    .report-kpi-grid { grid-template-columns: repeat(3, 1fr); }
    .decision-kpi-grid { grid-template-columns: repeat(2, 1fr); }
    .decision-overview-grid { grid-template-columns: 1fr; }
    .telegram-layout { grid-template-columns: 1fr; }
    .notification-overview { grid-template-columns: repeat(2, 1fr); }
    .notification-tabs { grid-column: 1 / -1; justify-content: flex-start; }
    .telegram-admin-layout { grid-template-columns: 1fr; }
}

@media (max-width: 780px) {
    .request-summary-grid { grid-template-columns: repeat(2, 1fr); }
    .pagination-wrap { align-items: flex-start; flex-direction: column; }
    .settings-intro { grid-template-columns: 1fr; }
    .settings-sections { grid-template-columns: 1fr; }
    .setting-controls { grid-template-columns: 1fr; }
    .currency-add-form, .currency-row, .category-add-form, .category-row { grid-template-columns: 1fr; }
    .currency-add-copy, .currency-row form, .category-add-copy, .category-row form { grid-column: auto; }
    .currency-code { justify-self: start; min-width: 70px; }
    .setting-check { margin-top: 0; }
    .telegram-connected-card, .telegram-link-card { align-items: flex-start; }
    .notification-overview { grid-template-columns: 1fr; }
    .notification-tabs { grid-column: auto; overflow-x: auto; }
    .notification-card { grid-template-columns: 42px minmax(0, 1fr); align-items: start; }
    .notification-card-actions { grid-column: 2; flex-wrap: wrap; }
    .notification-meta time { margin-left: 0; }
    .telegram-clear-form { justify-self: stretch; }
    .telegram-clear-form .btn { width: 100%; }
    .telegram-actions { align-items: stretch; flex-direction: column; }
    .telegram-open-actions { align-items: stretch; flex-direction: column; }
    .daily-chart { grid-template-columns: repeat(30, 20px); }
    .report-period-row,
    .report-kpi-grid,
    .report-visual-grid,
    .report-detail-grid { grid-template-columns: 1fr; }
    .report-period-title { grid-column: auto; }
    .report-sheet-header { align-items: flex-start; flex-direction: column; }
    .donut-layout { grid-template-columns: 1fr; justify-items: center; }
    .donut-legend { width: 100%; }
    .status-report-list > div { grid-template-columns: 1fr 45px; }
    .status-report-list > div > div { grid-column: 1 / -1; grid-row: 2; }
    .decision-report-header { align-items: flex-start; flex-direction: column; }
    .decision-currency-grid, .decision-kpi-grid { grid-template-columns: 1fr; }
    .decision-rules-card > div { grid-template-columns: 1fr; gap: 3px; }
    .request-filter-grid { grid-template-columns: repeat(2, minmax(160px, 1fr)); }
}

@media (max-width: 650px) {
    .request-summary-grid { grid-template-columns: 1fr; }
    .request-filter-grid { grid-template-columns: 1fr; }
    .request-search-field { grid-column: auto; }
}

@media print {
    .sidebar, .topbar, .report-tabs, .decision-generator, .decision-report-header .btn, .pagination-wrap { display: none !important; }
    body, .main-area, .page-content { margin: 0 !important; width: 100% !important; max-width: none !important; padding: 0 !important; background: #fff !important; }
    .decision-report { gap: 12px; }
    .decision-report-header { color: #172033; background: #fff; border: 1px solid #dfe4eb; box-shadow: none; }
    .decision-report-header p { color: #66748a; }
    .decision-rules-card { color: #172033; background: #f4f6f9; box-shadow: none; }
    .decision-rules-card > div b, .decision-rules-card > div span, .decision-rules-card p { color: #465267; }
    .decision-currency-card, .report-visual-card, .report-section, .decision-kpi { box-shadow: none; break-inside: avoid; }
}
/* Backups */
.backup-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.backup-summary-grid article{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #dfe7f2;border-radius:16px;padding:20px;min-height:130px;box-shadow:0 8px 24px rgba(15,38,75,.04)}
.backup-summary-grid article>div{min-width:0}.backup-summary-grid small{display:block;color:#718096;font-weight:600;margin-bottom:5px}.backup-summary-grid strong{display:block;font-size:1.35rem;color:#102341;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.backup-summary-grid p{margin:5px 0 0;color:#718096;font-size:.82rem}
.backup-summary-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-size:1.45rem;font-weight:700;flex:0 0 auto}.backup-summary-icon.blue{background:#eaf2ff;color:#1768d4}.backup-summary-icon.green{background:#e9f8f0;color:#138653}.backup-summary-icon.amber{background:#fff4dd;color:#b76b00}
.backup-notice{display:flex;gap:14px;align-items:flex-start;background:#fff9e9;border:1px solid #f4d68b;border-radius:14px;padding:16px 18px;color:#6b4a00}.backup-notice>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f6b91f;color:#fff;font-weight:800;flex:0 0 auto}.backup-notice strong{display:block}.backup-notice p{margin:3px 0 0;font-size:.88rem;color:#80652b}
.backup-kind{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:.78rem;font-weight:700}.backup-kind.automatic{background:#e9f8f0;color:#137a4c}.backup-kind.manual{background:#eaf2ff;color:#1768d4}.backup-actions{display:flex;justify-content:flex-end;gap:8px}.backup-actions form{margin:0}.backup-list-panel code{font-size:.78rem;color:#526174;background:#f3f6fa;padding:4px 7px;border-radius:6px}
@media(max-width:900px){.backup-summary-grid{grid-template-columns:1fr}.backup-heading{align-items:flex-start}.backup-actions{justify-content:flex-start;flex-wrap:wrap}}

.restore-state{display:flex;align-items:center;gap:14px;border:1px solid;border-radius:14px;padding:15px 18px;background:#fff}.restore-state>div{flex:1}.restore-state p{margin:3px 0 0;color:#5c6a7e}.restore-state small{color:#78869a}.restore-state.pending{border-color:#f0c36c;background:#fff9ed}.restore-state.success{border-color:#91d8b8;background:#f0fbf6}.restore-state.failed{border-color:#ef9ba5;background:#fff3f4}.restore-state-icon{width:36px;height:36px;flex:0 0 36px;border-radius:10px;display:grid;place-items:center;font-size:20px;font-weight:800}.pending .restore-state-icon{background:#ffe7b5;color:#9a5a00}.success .restore-state-icon{background:#d4f5e5;color:#11734d}.failed .restore-state-icon{background:#ffdfe3;color:#ad2639}
.backup-import{display:flex;align-items:center;gap:14px;background:#fff;border:1px dashed #9ab9e5;border-radius:14px;padding:16px 18px}.backup-import>div:nth-child(2){flex:1}.backup-import p{margin:3px 0 0;color:#718096;font-size:.86rem}.backup-import-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#eaf2ff;color:#2368c5;font-size:22px;font-weight:800}.backup-import form{display:flex;align-items:center;gap:9px}.backup-import input{width:250px}
.restore-preview{overflow:hidden}.restore-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#e8edf4;border-bottom:1px solid #e8edf4}.restore-preview-grid>div{background:#fff;padding:18px 20px}.restore-preview-grid small,.restore-preview-grid span{display:block;color:#718096;font-size:.78rem}.restore-preview-grid strong{display:block;color:#102341;font-size:1.05rem;margin:4px 0}.restore-warning,.restore-invalid{display:flex;gap:12px;margin:20px;border-radius:11px;padding:15px 17px}.restore-warning{background:#fff7e7;border:1px solid #f2cf88}.restore-warning p,.restore-invalid p{margin:3px 0 0;color:#69768a}.restore-invalid{background:#fff0f2;border:1px solid #efa1aa}.restore-invalid>span{color:#bd2f42;font-size:22px;font-weight:800}.restore-confirm-form{padding:0 20px 22px}.restore-confirm-form>label{display:block;font-size:.86rem;margin-bottom:8px}.restore-confirm-form>div{display:flex;gap:10px;max-width:670px}.restore-confirm-form .form-control{max-width:330px}.restore-confirm-form>small{display:block;color:#718096;margin-top:7px}
@media(max-width:900px){.restore-preview-grid{grid-template-columns:1fr 1fr}.restore-state{align-items:flex-start;flex-wrap:wrap}.restore-confirm-form>div{flex-direction:column}.restore-confirm-form .form-control{max-width:none}.backup-import{align-items:flex-start;flex-wrap:wrap}.backup-import form{width:100%}.backup-import input{width:auto;flex:1}}
@media(max-width:520px){.restore-preview-grid{grid-template-columns:1fr}}

/* Audit log */
.audit-heading{align-items:center}.audit-kicker{display:block;margin-bottom:5px;color:#2168c7;font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.audit-integrity{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid #bfe4d1;border-radius:12px;background:#f0fbf6;color:#176a49}.audit-integrity>span{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:#d8f4e6;font-weight:900}.audit-integrity strong,.audit-integrity small{display:block}.audit-integrity small{margin-top:1px;color:#56816d;font-size:.72rem}
.audit-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.audit-overview article{display:flex;align-items:center;gap:13px;min-height:105px;padding:17px;background:#fff;border:1px solid #dfe6ef;border-radius:14px;box-shadow:0 6px 20px rgba(23,49,85,.035)}.audit-overview article>div{min-width:0}.audit-overview small,.audit-overview p{display:block;color:#748095}.audit-overview small{font-size:.78rem;font-weight:650}.audit-overview strong{display:block;margin:3px 0 1px;color:#102341;font-size:1.5rem}.audit-overview p{margin:0;font-size:.72rem}.audit-metric-icon{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;flex:0 0 43px;font-size:1.2rem;font-weight:800}.audit-metric-icon.all{background:#e9f2ff;color:#1768d4}.audit-metric-icon.today{background:#fff3dc;color:#aa6508}.audit-metric-icon.users{background:#eaf8f1;color:#147a50}.audit-metric-icon.system{background:#f0ebff;color:#6745b7}
.audit-filter-panel{padding:0;margin-bottom:18px;overflow:hidden}.audit-filter-head{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;border-bottom:1px solid #e7ebf1}.audit-filter-head h2{margin:0;font-size:.95rem}.audit-filter-head small{color:#7a8698}.audit-clear{color:#bd3447;font-size:.78rem;font-weight:700;text-decoration:none}.audit-filter-grid{display:grid;grid-template-columns:minmax(260px,1.65fr) repeat(2,minmax(135px,.65fr)) minmax(190px,1fr);gap:12px;padding:16px 18px}.audit-filter-grid label{min-width:0}.audit-filter-grid label>span{display:block;margin:0 0 5px;color:#667389;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.audit-filter-grid .form-control,.audit-filter-grid .form-select{height:42px;font-size:.86rem}.audit-search-field{grid-column:span 1}.audit-filter-grid label:nth-child(5),.audit-filter-grid label:nth-child(6),.audit-filter-grid label:nth-child(7){grid-column:span 1}
.audit-log-panel{overflow:hidden}.audit-results-head small{color:#7b8798}.audit-result-count{padding:6px 10px;border-radius:8px;background:#f0f5fb;color:#647287;font-size:.78rem}.audit-result-count strong{color:#1d4f91}.audit-table{min-width:1120px}.audit-table>thead>tr>th:last-child{width:100px}.audit-main-row>td{padding-top:14px;padding-bottom:14px}.audit-time strong,.audit-time small{display:block}.audit-time strong{font-size:.84rem}.audit-time small{margin-top:2px;color:#7a8798;font-size:.76rem;font-variant-numeric:tabular-nums}.audit-user{display:flex;align-items:center;gap:9px;min-width:205px}.audit-user-avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:0 0 34px;background:#e9f2ff;color:#1e66c5;font-size:.72rem;font-weight:800}.audit-user-avatar.system{background:#f0ebff;color:#6745b7}.audit-user strong,.audit-user small{display:block}.audit-user strong{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.audit-user small{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8490a2;font-size:.7rem}.audit-action{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:.7rem;font-weight:750;white-space:nowrap}.audit-action.info{background:#e9f2ff;color:#1b63bd}.audit-action.success{background:#e6f7ee;color:#13794d}.audit-action.warning{background:#fff2d9;color:#a75f05}.audit-action.danger{background:#fde8eb;color:#b42e41}.audit-action.security{background:#edf0f5;color:#4c5e77}.audit-action.backup{background:#eee9ff;color:#6244ad}.audit-code{display:block;margin-top:4px;color:#95a0af;font-family:Consolas,monospace;font-size:.64rem}.audit-object{min-width:155px}.audit-object strong,.audit-object a,.audit-object code{display:block}.audit-object strong{font-size:.82rem}.audit-object a{margin-top:3px;color:#2168c7;font-size:.71rem;font-weight:650;text-decoration:none}.audit-object code{max-width:205px;margin-top:3px;overflow:hidden;color:#7d899a;font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.audit-source strong,.audit-source small{display:block}.audit-source strong{font-size:.78rem;font-family:Consolas,monospace}.audit-source small{margin-top:2px;color:#8490a2;font-size:.69rem}.audit-detail-button{border:0;background:transparent;color:#2866b5;font-size:.74rem;font-weight:750;white-space:nowrap}.audit-detail-button span{display:inline-block;margin-left:3px;transition:transform .15s}.audit-detail-button[aria-expanded="true"] span{transform:rotate(180deg)}
.audit-detail-row>td{padding:0!important;background:#f8fafc;border-bottom:1px solid #dfe6ef}.audit-detail-content{padding:18px 20px 20px;border-top:1px dashed #dce3ec}.audit-detail-meta{display:grid;grid-template-columns:1fr 1.35fr .8fr 2fr;gap:10px;margin-bottom:14px}.audit-detail-meta>span{min-width:0;padding:10px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:9px}.audit-detail-meta b,.audit-detail-meta code{display:block}.audit-detail-meta b{margin-bottom:4px;color:#788599;font-size:.64rem;letter-spacing:.04em;text-transform:uppercase}.audit-detail-meta code{overflow:hidden;color:#445167;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.audit-change-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.audit-change-grid section{min-width:0;overflow:hidden;border:1px solid;border-radius:10px;background:#fff}.audit-change-grid header{display:flex;align-items:center;gap:7px;padding:9px 12px;font-size:.76rem}.audit-change-grid header span{font-size:1rem;font-weight:900}.audit-change-grid .before{border-color:#efc4ca}.audit-change-grid .before header{background:#fff0f2;color:#ad3042}.audit-change-grid .after{border-color:#b8dec9}.audit-change-grid .after header{background:#edf9f3;color:#15744c}.audit-change-grid pre{max-height:260px;margin:0;padding:13px;overflow:auto;background:#fff;color:#3e4c61;font:11px/1.55 Consolas,"Courier New",monospace;white-space:pre-wrap;word-break:break-word}.audit-no-change{padding:13px;border:1px dashed #cfd8e4;border-radius:9px;background:#fff;color:#7a8798;font-size:.78rem;text-align:center}.audit-empty-icon{margin-bottom:8px;color:#92a0b2;font-size:2rem}.audit-table .empty-state strong,.audit-table .empty-state span{display:block}.audit-table .empty-state span{margin-top:4px;font-size:.78rem}
@media(max-width:1200px){.audit-overview{grid-template-columns:repeat(2,1fr)}.audit-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.audit-search-field{grid-column:span 2}.audit-detail-meta{grid-template-columns:1fr 1fr}.audit-agent{grid-column:1/-1}}
@media(max-width:780px){.audit-heading{align-items:flex-start}.audit-integrity{display:none}.audit-overview{grid-template-columns:1fr 1fr}.audit-filter-grid{grid-template-columns:1fr 1fr}.audit-search-field{grid-column:1/-1}.audit-change-grid{grid-template-columns:1fr}}
@media(max-width:520px){.audit-overview,.audit-filter-grid{grid-template-columns:1fr}.audit-search-field{grid-column:auto}.audit-overview article{min-height:auto}.audit-filter-head{align-items:flex-start}.audit-detail-meta{grid-template-columns:1fr}.audit-agent{grid-column:auto}}

/* Scrollable sidebar for short screens and browser zoom */
.sidebar .brand,.sidebar-footer{flex:0 0 auto}
.sidebar .side-nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#506782 transparent}
.sidebar .side-nav::-webkit-scrollbar{width:6px}
.sidebar .side-nav::-webkit-scrollbar-track{background:transparent}
.sidebar .side-nav::-webkit-scrollbar-thumb{background:#506782;border-radius:10px}
.sidebar .side-nav::-webkit-scrollbar-thumb:hover{background:#6b829d}
/* Supplier directory */
.inline-create-link{border:0;background:transparent;color:#2168c7;padding:0;font-size:12px;font-weight:750;white-space:nowrap}.inline-create-link:hover{text-decoration:underline}.inline-supplier-success{margin-top:7px;padding:7px 10px;border-radius:8px;background:#e9f7f1;color:#147554;font-size:11px;font-weight:700}
.supplier-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px;margin-bottom:18px}.supplier-summary-grid article{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e4e9f1;border-radius:14px;padding:16px 18px;box-shadow:0 3px 12px #17335a08}.supplier-summary-grid article>span{width:42px;height:42px;border-radius:12px;background:#eaf2ff;color:#2168c7;display:grid;place-items:center;font-size:20px;font-weight:700}.supplier-summary-grid small,.supplier-summary-grid strong{display:block}.supplier-summary-grid small{color:#6f7a8e;font-size:11px}.supplier-summary-grid strong{font-size:22px;color:#172033}.supplier-inactive-check{height:42px;display:flex;align-items:center;gap:8px;margin:0;font-size:13px}.supplier-table td small,.supplier-table td strong{display:block}.supplier-name-link{font-weight:750;color:#185eb9;text-decoration:none}.supplier-name-link:hover{text-decoration:underline}.supplier-detail-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,.65fr);gap:20px;align-items:start}.supplier-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.supplier-contact-grid .wide{grid-column:span 2}.supplier-contact-grid small,.supplier-notes small{display:block;color:#7c8799;text-transform:uppercase;letter-spacing:.05em;font-size:10px;margin-bottom:6px}.supplier-contact-grid strong,.supplier-contact-grid a{display:block;color:#172033;font-size:14px;font-weight:700;text-decoration:none;overflow-wrap:anywhere}.supplier-contact-grid a{color:#2168c7}.supplier-card-icon{width:34px;height:34px;border-radius:10px;background:#eaf2ff;color:#2168c7;display:grid;place-items:center}.supplier-notes{margin-top:22px;padding:15px 16px;border-radius:10px;background:#f7f9fc;border-left:3px solid #4e87d8}.supplier-notes p{white-space:pre-wrap;margin:0;color:#465267}.supplier-count{min-width:32px;height:32px;padding:0 10px;border-radius:20px;background:#eaf2ff;color:#2168c7;display:grid;place-items:center;font-weight:750}.supplier-history-panel .data-table td small{display:block;color:#7c8799;margin-top:3px}.supplier-history-panel .pagination-wrap{padding:14px 18px;border-top:1px solid #edf0f4}.supplier-documents-panel{position:sticky;top:96px}.supplier-document-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;padding:13px 0;border-bottom:1px solid #edf0f4}.supplier-document-row>div:nth-child(2){min-width:0}.supplier-document-row a{font-size:13px;font-weight:700;text-decoration:none;overflow-wrap:anywhere}.supplier-document-row small{display:block;color:#7c8799;font-size:10px}.supplier-document-actions{display:flex;gap:4px}.supplier-document-actions>a,.supplier-document-actions button{width:28px;height:28px;border:1px solid #dce3ec;border-radius:7px;background:#fff;color:#37679e;display:grid;place-items:center;text-decoration:none;font-weight:700}.supplier-document-actions button{color:#bd3346}.supplier-empty-docs{padding:30px 10px;display:flex;flex-direction:column;gap:5px}.supplier-empty-docs>span{font-size:28px;color:#9eabc0}.supplier-empty-docs small{font-size:11px}.supplier-inline-link{font-size:14px;font-weight:700;color:#2168c7;text-decoration:none}.supplier-inline-link:hover{text-decoration:underline}@media(max-width:1100px){.supplier-detail-grid{grid-template-columns:1fr}.supplier-documents-panel{position:static}}@media(max-width:780px){.supplier-summary-grid{grid-template-columns:1fr}.supplier-contact-grid{grid-template-columns:1fr}.supplier-contact-grid .wide{grid-column:auto}.supplier-heading{display:block}.supplier-heading>div:last-child{margin-top:14px}.supplier-table th:nth-child(4),.supplier-table td:nth-child(4),.supplier-table th:nth-child(6),.supplier-table td:nth-child(6){display:none}}
.review-list{display:grid;gap:12px}.review-card{border:1px solid #dbe4f0;border-left:4px solid #256fd1;border-radius:12px;padding:16px;background:#f8fbff}.review-card .info-grid{margin-top:10px}

/* Cash desk and official NBT rates */
.cash-dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:14px;margin-bottom:14px}.cash-dashboard-card{--cash-accent:#2168c7;display:flex;align-items:center;gap:14px;min-width:0;padding:17px 18px;border:1px solid #e0e7f0;border-top:3px solid var(--cash-accent);border-radius:14px;background:#fff;box-shadow:0 4px 15px rgba(20,45,80,.045)}.cash-dashboard-icon{display:grid;width:43px;height:43px;flex:0 0 43px;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--cash-accent) 12%,white);color:var(--cash-accent);font-size:1.15rem;font-weight:900}.cash-dashboard-card div{min-width:0}.cash-dashboard-card small,.cash-dashboard-card strong,.cash-dashboard-card div>span{display:block}.cash-dashboard-card small{color:#6b788d;font-size:.7rem;font-weight:750}.cash-dashboard-card strong{margin:3px 0;color:var(--cash-accent);font-size:1.65rem;line-height:1}.cash-dashboard-card div>span{overflow:hidden;color:#8994a5;font-size:.64rem;text-overflow:ellipsis;white-space:nowrap}.cash-dashboard-paid{--cash-accent:#13855d}.cash-dashboard-pending{--cash-accent:#dd840b}.cash-dashboard-received{--cash-accent:#286dcc}.cash-dashboard-recipients{--cash-accent:#7657c5}.cash-today-totals{padding:17px 19px}.cash-today-totals-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.cash-today-totals-heading h2{margin:0;color:#172642;font-size:1rem}.cash-today-totals-heading .cash-kicker{margin-bottom:2px}.cash-today-totals-heading>small{color:#7b8799}.cash-currency-totals{display:flex;flex-wrap:wrap;gap:10px}.cash-currency-totals>div{display:flex;min-width:155px;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;border:1px solid #dce6f2;border-radius:10px;background:#f7faff}.cash-currency-totals span{display:inline-flex;padding:4px 7px;border-radius:6px;background:#174a86;color:#fff;font-size:.68rem;font-weight:800}.cash-currency-totals strong{color:#0b7851;font-size:1rem}.cash-today-empty{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:10px;background:#f7f9fc;color:#7b8799}.cash-today-empty span{font-size:1.2rem}.cash-today-empty p{margin:0;font-size:.78rem}
.cash-kicker{display:block;margin-bottom:5px;color:#2168c7;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.cash-request-number{color:#1c63bd;font-size:.92rem;font-weight:800;text-decoration:none}.cash-request-number:hover{text-decoration:underline}.cash-registry-panel{overflow:hidden}.cash-payment-modal .modal-header{padding:20px 22px}.cash-payment-modal .modal-body{padding:20px 22px}.cash-payment-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid #dfe7f1;border-radius:11px;background:#dfe7f1}.cash-payment-summary>div{min-width:0;padding:12px 14px;background:#f7f9fc}.cash-payment-summary small,.cash-payment-summary strong{display:block}.cash-payment-summary small{margin-bottom:3px;color:#7b8799;font-size:.68rem;text-transform:uppercase}.cash-payment-summary strong{overflow-wrap:anywhere;color:#132643}.cash-director-comment{margin-top:12px;padding:12px 14px;border-left:3px solid #3978d1;border-radius:0 9px 9px 0;background:#edf4ff}.cash-director-comment small{display:block;color:#5d6c81;font-size:.68rem;text-transform:uppercase}.cash-director-comment p{margin:3px 0 0;white-space:pre-wrap}.topbar-rates{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid #e1e7ef;border-radius:10px;background:#f8fafc;color:#43516a;text-decoration:none}.topbar-rates span{font-size:.68rem;white-space:nowrap}.topbar-rates b{color:#174f96;font-size:.66rem}.topbar-rates:hover{border-color:#a9c5ea;background:#f1f6fd;color:#243750}.nbt-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:22px 24px;border-radius:15px;background:linear-gradient(135deg,#173d70,#102a50);color:#fff;box-shadow:0 12px 28px rgba(18,50,91,.13)}.nbt-hero span,.nbt-hero strong,.nbt-hero small{display:block}.nbt-hero span{color:#a9c9f5;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.nbt-hero strong{margin:3px 0;font-size:1.7rem}.nbt-hero small{color:#b9c9df}.nbt-hero a{padding:9px 12px;border:1px solid #ffffff44;border-radius:9px;color:#fff;text-decoration:none;white-space:nowrap}.nbt-major-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;margin-bottom:18px}.nbt-major-card{padding:18px;border:1px solid #dfe6ef;border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(23,49,85,.04)}.nbt-major-card>div{display:flex;align-items:center;gap:9px}.nbt-major-card>div>strong,.currency-code{display:inline-flex;align-items:center;justify-content:center;min-width:43px;padding:6px 8px;border-radius:8px;background:#174a86;color:#fff;font-size:.75rem}.nbt-major-card>div>span{overflow:hidden;color:#66758a;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.nbt-major-card p{margin:16px 0 2px;color:#0b7851}.nbt-major-card p b{font-size:1.55rem}.nbt-major-card small{color:#78869a}.nbt-table-panel{overflow:hidden}.nbt-table-panel .panel-header small{display:block;margin-top:3px}.nbt-table-scroll{max-height:590px;overflow:auto}.nbt-table-scroll thead{position:sticky;top:0;z-index:2;background:#fff}.nbt-table-scroll th{background:#f7f9fc;color:#667389;font-size:.68rem;text-transform:uppercase}.nbt-table-scroll td{border-color:#edf1f5}
.topbar-rates-heading{display:flex;flex-direction:column;padding-right:9px;border-right:1px solid #d8e1ed;line-height:1.05}.topbar-rates-heading strong{color:#173d70;font-size:.69rem}.topbar-rates-heading small{margin-top:3px;color:#77859a;font-size:.58rem}
@media(max-width:1250px){.topbar-rates>span:nth-child(n+4){display:none}.nbt-major-grid,.cash-dashboard-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.topbar-rates{display:none}.nbt-hero{align-items:flex-start}.cash-payment-summary{grid-template-columns:1fr}}
@media(max-width:600px){.nbt-major-grid{grid-template-columns:1fr}.nbt-hero{flex-direction:column}.nbt-hero a{width:100%;text-align:center}.cash-heading{align-items:flex-start}.cash-heading .btn{width:100%}.cash-today-totals-heading{align-items:flex-start;flex-direction:column}.cash-currency-totals>div{flex:1 1 100%}}
@media(max-width:430px){.cash-dashboard-grid{grid-template-columns:1fr}}

/* Roles and access guide */
.role-guide-kicker{display:block;margin-bottom:5px;color:#2168c7;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.role-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:16px}.role-guide-card{--role-color:#2168c7;position:relative;overflow:hidden;padding:20px;border:1px solid #dfe6ef;border-radius:15px;background:#fff;box-shadow:0 6px 20px rgba(20,45,80,.05)}.role-guide-card:before{position:absolute;inset:0 auto 0 0;width:4px;background:var(--role-color);content:""}.role-guide-card header{display:flex;align-items:center;gap:13px;margin-bottom:14px}.role-guide-avatar{display:grid;width:45px;height:45px;flex:0 0 45px;place-items:center;border-radius:13px;background:color-mix(in srgb,var(--role-color) 13%,white);color:var(--role-color);font-size:.78rem;font-weight:900}.role-guide-card h2{margin:0;color:#172642;font-size:1rem}.role-guide-card header small{color:#748196}.role-guide-card>p{min-height:60px;margin:0 0 14px;color:#5b687d;font-size:.83rem;line-height:1.55}.role-guide-card ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.role-guide-card li{display:flex;align-items:center;gap:7px;color:#283a55;font-size:.78rem}.role-guide-card li span{color:var(--role-color);font-weight:900}.role-theme-cyan{--role-color:#07829b}.role-theme-violet{--role-color:#6f55c6}.role-theme-orange{--role-color:#d97706}.role-theme-green{--role-color:#17825d}.role-theme-red{--role-color:#c74355}.role-matrix-panel{overflow:hidden}.role-matrix-header{align-items:flex-start}.role-matrix-header small{display:block;margin-top:4px;color:#748196}.role-matrix-legend{display:flex;flex-wrap:wrap;gap:8px}.role-matrix-legend span{padding:5px 8px;border-radius:7px;font-size:.68rem;font-weight:700}.role-matrix-table{min-width:1120px}.role-matrix-table thead th{position:sticky;top:0;z-index:2;padding:12px 10px;background:#f1f5fa;color:#53627a;font-size:.67rem;text-align:center;text-transform:uppercase}.role-matrix-table thead th:first-child{left:0;z-index:4;text-align:left}.role-matrix-table tbody th{position:sticky;left:0;z-index:1;min-width:210px;padding:12px 14px;border-color:#edf1f5;background:#fff;color:#243650;font-size:.78rem}.role-matrix-table td{min-width:140px;padding:9px 7px;border-color:#edf1f5;text-align:center}.role-access-mark{display:inline-flex;align-items:center;justify-content:center;gap:5px;max-width:145px;padding:5px 7px;border-radius:7px;font-size:.67rem;line-height:1.2}.role-access-mark b{font-size:.76rem}.access-full{background:#e9f7f1;color:#087a53}.access-limited{background:#fff4dd;color:#9a5d00}.access-none{background:#f3f5f8;color:#8792a3}.role-guide-note{border-color:#bad5f8;background:#edf5ff;color:#234d80}.role-matrix-scroll{max-height:670px;overflow:auto}
@media(max-width:1100px){.role-guide-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}}
@media(max-width:700px){.role-guide-grid{grid-template-columns:1fr}.role-guide-card>p{min-height:0}.role-guide-heading{align-items:flex-start}.role-guide-heading .btn{width:100%}.role-matrix-header{display:block}.role-matrix-legend{margin-top:10px}}

/* Cash desk document viewer */
.cash-request-document-trigger{border:0;background:transparent;padding:0;text-align:left}.cash-documents-modal .modal-dialog{max-width:min(1280px,calc(100vw - 30px))}.cash-documents-modal .modal-content{overflow:hidden}.cash-documents-modal .modal-header{padding:17px 20px}.cash-documents-layout{display:grid;grid-template-columns:310px minmax(0,1fr);min-height:72vh;background:#eef3f8}.cash-document-list{max-height:72vh;padding:15px;overflow-y:auto;border-right:1px solid #dce4ee;background:#fff}.cash-document-list-title{display:block;margin:0 5px 8px;color:#7a8799;font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.cash-document-choice{display:grid;width:100%;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;margin-bottom:7px;padding:10px;border:1px solid transparent;border-radius:10px;background:#f7f9fc;color:#213550;text-align:left;text-decoration:none;transition:.15s}.cash-document-choice:hover{border-color:#bdd2ed;background:#f0f6ff;color:#173d70}.cash-document-choice.active{border-color:#7eafe8;background:#eaf3ff;box-shadow:0 0 0 2px #dbeaff}.cash-document-choice>span:last-child{min-width:0}.cash-document-choice strong,.cash-document-choice small{display:block;overflow-wrap:anywhere}.cash-document-choice strong{font-size:.78rem}.cash-document-choice small{margin-top:2px;color:#78869a;font-size:.63rem;line-height:1.35}.cash-document-type{display:grid;width:42px;height:38px;place-items:center;border-radius:8px;background:#e9edf3;color:#54647b;font-size:.58rem;font-weight:900}.cash-document-type-pdf{background:#fdebed;color:#b62d43}.cash-document-type-image{background:#e7f7ef;color:#0e7b52}.cash-document-empty{margin-top:7px;padding:14px;border:1px dashed #cfd9e5;border-radius:9px;background:#fafbfd;color:#7a8799;font-size:.73rem;text-align:center}.cash-document-preview{display:flex;min-width:0;flex-direction:column;background:#eef3f8}.cash-document-preview-toolbar{display:flex;min-height:60px;align-items:center;justify-content:space-between;gap:15px;padding:10px 14px;border-bottom:1px solid #dce4ee;background:#fff}.cash-document-preview-toolbar span,.cash-document-preview-toolbar strong{display:block}.cash-document-preview-toolbar span{color:#8390a3;font-size:.62rem;text-transform:uppercase}.cash-document-preview-toolbar strong{max-width:680px;overflow:hidden;color:#1d304d;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.cash-document-frame{width:100%;min-height:0;flex:1;border:0;background:#eef3f8}.cash-document-download-only{cursor:pointer}
.cash-document-preview{position:relative}.cash-document-preview.loading:after{position:absolute;inset:60px 0 0;display:grid;z-index:2;place-items:center;background:#eef3f8;color:#66758a;font-size:.78rem;content:"Загрузка документа…"}.cash-document-message{position:absolute;inset:60px 0 0;z-index:3;place-content:center;padding:25px;background:#eef3f8;color:#6e7c90;text-align:center}.cash-document-message:not([hidden]){display:grid}.cash-document-message strong,.cash-document-message span{display:block}.cash-document-message strong{color:#293b56}.cash-document-message span{margin-top:5px;font-size:.75rem}
@media(max-width:900px){.cash-documents-modal .modal-dialog{max-width:calc(100vw - 16px);margin:8px}.cash-documents-layout{grid-template-columns:1fr;min-height:0}.cash-document-list{display:flex;max-height:220px;gap:7px;overflow:auto;border-right:0;border-bottom:1px solid #dce4ee}.cash-document-list-title,.cash-document-empty{display:none}.cash-document-choice{min-width:230px;margin:0}.cash-document-preview{min-height:60vh}.cash-document-frame{height:calc(60vh - 60px);flex:none}}
@media(max-width:520px){.cash-document-list{max-height:190px;padding:10px}.cash-document-choice{min-width:205px}.cash-document-preview-toolbar{align-items:flex-start}.cash-document-preview-toolbar>div{min-width:0}.cash-document-preview-toolbar .btn{flex:0 0 auto}.cash-document-preview{min-height:56vh}.cash-document-frame{height:calc(56vh - 60px)}}
