:root {
  --qt-ink: #202936;
  --qt-muted: #4F5B69;
  --qt-line: #DCD7CF;
  --qt-line-strong: #687482;
  --qt-surface: #FFFDFA;
  --qt-surface-2: #FAF7F2;
  --qt-ground: #F5F2EC;
  --qt-brand: #1F2A44;
  --qt-brand-deep: #172038;
  --qt-brand-soft: #33405D;
  --qt-accent: #A9421E;
  --qt-accent-bright: #F2784B;
  --qt-accent-soft: #FBF3EE;
  --qt-danger: #9F1239;
  --qt-danger-soft: #FFF1F2;
  --qt-danger-line: #F1B5C3;
  --qt-danger-shade: #7F0E2E;
  --qt-warning: #B54708;
  --qt-warning-soft: #FFF6EC;
  --qt-warning-line: #F3C9A1;
  --qt-ok: #14734B;
  --qt-ok-soft: #EAF6EF;
  --qt-ok-line: #B9DEC9;
  --qt-r-sm: 8px;
  --qt-r: 12px;
  --qt-r-lg: 16px;
  --qt-sh-1: 0 1px 2px rgba(31, 42, 68, .06);
  --qt-sh-2: 0 4px 12px rgba(31, 42, 68, .10);
  --qt-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --qt-side-ink: #F4F6FA;
  --qt-side-muted: #C6CCD7;
  --qt-side-line: rgba(255, 255, 255, .14);
  --qt-side-hover: rgba(255, 255, 255, .075);
  --qt-sidebar-width: 264px;
  --qt-sidebar-collapsed-width: 78px;
  --bs-body-bg: var(--qt-ground);
  --bs-body-color: var(--qt-ink);
  --bs-body-font-family: var(--qt-font);
  --bs-body-font-size: 15px;
  --bs-border-color: var(--qt-line);
  --bs-link-color: var(--qt-accent);
  --bs-link-hover-color: var(--qt-brand);
  --bs-primary: var(--qt-brand);
  --bs-primary-rgb: 31, 42, 68;
  --bs-danger: var(--qt-danger);
  --bs-danger-rgb: 159, 18, 57;
  color-scheme: light;
}

.qt-body { min-height: 100vh; margin: 0; background: var(--qt-ground); color: var(--qt-ink); font-family: var(--qt-font); -webkit-font-smoothing: antialiased; }
:focus-visible { outline: 2px solid var(--qt-accent); outline-offset: 2px; }
.btn:focus-visible { --bs-btn-focus-box-shadow: var(--qt-btn-shadow, none); outline: 2px solid var(--qt-accent); outline-offset: 2px; }

.qt-brand-mark { width: 28px; height: 28px; flex: 0 0 auto; }

.btn-primary, .qt-btn.btn-primary { --bs-btn-bg: var(--qt-brand); --bs-btn-border-color: var(--qt-brand); --bs-btn-hover-bg: var(--qt-brand-deep); --bs-btn-hover-border-color: var(--qt-brand-deep); --bs-btn-active-bg: var(--qt-brand-deep); --bs-btn-active-border-color: var(--qt-brand-deep); --bs-btn-disabled-bg: var(--qt-brand-soft); --bs-btn-disabled-border-color: var(--qt-brand-soft); --bs-btn-disabled-color: #fff; --bs-btn-disabled-opacity: 1; --bs-btn-border-radius: var(--qt-r); --bs-btn-font-weight: 600; --qt-btn-shadow: 0 6px 16px rgba(31, 42, 68, .18); box-shadow: var(--qt-btn-shadow); }
.btn-secondary, .qt-btn.btn-secondary { --bs-btn-bg: var(--qt-surface); --bs-btn-border-color: var(--qt-line-strong); --bs-btn-color: var(--qt-ink); --bs-btn-hover-bg: var(--qt-surface-2); --bs-btn-hover-border-color: var(--qt-ink); --bs-btn-hover-color: var(--qt-ink); --bs-btn-active-bg: var(--qt-surface-2); --bs-btn-active-border-color: var(--qt-ink); --bs-btn-active-color: var(--qt-ink); --bs-btn-border-radius: var(--qt-r); --bs-btn-font-weight: 600; }
.qt-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 18px; white-space: nowrap; }
.btn .spinner-border, .btn.qt-busy .bi { display: none; }
.btn.qt-busy .spinner-border { display: inline-block; }
.form-control.qt-input, .form-select.qt-select { min-height: 48px; border: 1px solid var(--qt-line-strong); border-radius: var(--qt-r); background-color: #fff; color: var(--qt-ink); font-size: 15px; }
.form-control.qt-input { padding: 12px 14px; }
.form-control.qt-input:hover, .form-select.qt-select:hover { border-color: var(--qt-ink); }
.form-control.qt-input:focus, .form-select.qt-select:focus { border-color: var(--qt-accent); box-shadow: 0 0 0 4px rgba(169, 66, 30, .18); }
.form-control.qt-input.input-validation-error { border-color: var(--qt-danger); box-shadow: 0 0 0 4px rgba(159, 18, 57, .08); }
.form-control.qt-input:disabled, .form-control.qt-input:disabled:hover { border-color: var(--qt-line); background-color: var(--qt-surface-2); color: var(--qt-muted); cursor: not-allowed; }
.ts-wrapper.qt-select .ts-control { padding-left: 14px; font-size: 15px; cursor: pointer; }
.ts-wrapper.qt-select .ts-control .item[data-value=""] { color: var(--qt-muted); }
.ts-wrapper.qt-select.focus { border-color: var(--qt-accent); box-shadow: 0 0 0 4px rgba(169, 66, 30, .18); }
.ts-wrapper.qt-select.focus .ts-control, .plugin-dropdown_input.qt-select.focus.dropdown-active .ts-control { border: 0; box-shadow: none; }
select.input-validation-error + .ts-wrapper.qt-select { border-color: var(--qt-danger); }
.ts-wrapper.qt-select .ts-dropdown, .qt-dropdown-detached { margin-top: 6px; border: 1px solid var(--qt-line); border-radius: var(--qt-r); background: #fff; box-shadow: var(--qt-sh-2); overflow: hidden; }
.ts-wrapper.qt-select .dropdown-input-wrap, .qt-dropdown-detached .dropdown-input-wrap { padding: 8px; border-bottom: 1px solid var(--qt-line); }
.ts-wrapper.qt-select .dropdown-input, .qt-dropdown-detached .dropdown-input { min-height: 40px; padding: 8px 12px; border: 1px solid var(--qt-line-strong); border-radius: var(--qt-r-sm); background: #fff; color: var(--qt-ink); }
.ts-wrapper.qt-select.focus .ts-dropdown .dropdown-input { border-color: var(--qt-accent); box-shadow: 0 0 0 3px rgba(169, 66, 30, .16); }
.ts-wrapper.qt-select .ts-dropdown-content, .qt-dropdown-detached .ts-dropdown-content { max-height: 280px; padding: 6px 0; }
.ts-wrapper.qt-select .ts-dropdown .option, .ts-wrapper.qt-select .ts-dropdown .no-results, .ts-wrapper.qt-select .ts-dropdown .optgroup-header, .qt-dropdown-detached :is(.option, .no-results) { padding: 9px 14px; }
.ts-wrapper.qt-select .ts-dropdown .active, .qt-dropdown-detached .active { background: #F1ECE4; color: var(--qt-ink); }
.ts-wrapper.qt-select .ts-dropdown .optgroup-header { color: var(--qt-muted); font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.qt-picker-hint { color: var(--qt-muted); }
.ts-dropdown .qt-picker-hidden { display: none; }
.qt-datetime { position: relative; }
.qt-datetime .qt-input { padding-right: 52px; }
.qt-datetime-toggle { position: absolute; top: 4px; right: 4px; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: var(--qt-r-sm); background: transparent; color: var(--qt-muted); }
.qt-datetime-toggle:hover, .qt-datetime-toggle:focus-visible { color: var(--qt-accent); background: var(--qt-surface-2); }
.qt-datetime-toggle:disabled { color: var(--qt-line); background: transparent; cursor: not-allowed; }
.vc { z-index: 12; --vc-date-selected-bg: var(--qt-brand); --vc-date-selected-color: #fff; --vc-focus-outline-color: var(--qt-accent); --vc-title-color-disabled: var(--qt-ink); font-family: var(--qt-font); }
.vc .vc-month { text-transform: lowercase; }
.qt-picker-action, .qt-picker-create { color: var(--qt-accent); font-weight: 600; }
.qt-picker-action .bi, .qt-picker-create .bi { margin-right: 6px; }
.qt-field { margin-bottom: 16px; }
.qt-field label { display: block; margin-bottom: 7px; font-size: 13px; font-weight: 600; }
.qt-field .qt-required { margin-left: 2px; color: var(--qt-danger); }
.qt-field-error { display: block; margin: 7px 2px 0; color: var(--qt-danger); font-size: 13px; }
.qt-field-error:empty { display: none; }
.qt-field-hint { margin: 7px 2px 0; color: var(--qt-muted); font-size: 12.5px; }
.qt-label-row { display: flex; align-items: center; gap: 6px; margin-bottom: 7px; }
.qt-field .qt-label-row :is(label, .qt-field-label) { margin-bottom: 0; line-height: 24px; }
.qt-info-btn { display: inline-grid; place-items: center; width: 24px; height: 24px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--qt-muted); cursor: help; }
.qt-info-btn:hover, .qt-info-btn:focus-visible { color: var(--qt-accent); background: var(--qt-surface-2); }
.qt-info-btn .bi { font-size: 16px; line-height: 1; }
.qt-info-btn .bi::before { display: block; }
.qt-field-check { margin-bottom: 16px; }
.qt-field-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
.qt-input[data-grows] { max-height: calc(6lh + 26px); field-sizing: content; }
.qt-field .qt-field-label { display: block; margin-bottom: 7px; font-size: 13px; font-weight: 600; }
.qt-static-value { display: flex; align-items: center; gap: 10px; min-height: 48px; margin: 0; padding: 8px 13px; border: 1px dashed var(--qt-line-strong); border-radius: var(--qt-r); background: var(--qt-surface-2); font-weight: 600; overflow-wrap: anywhere; }
.qt-static-value .bi { flex: 0 0 auto; color: var(--qt-muted); }
.qt-field-trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 18px; }
.qt-input-suffix { position: relative; }
.qt-input-suffix .qt-input { padding-right: 48px; text-align: right; font-variant-numeric: tabular-nums; }
.qt-input-suffix span { position: absolute; top: 50%; right: 14px; transform: translateY(-50%); color: var(--qt-muted); font-size: 14px; pointer-events: none; }
.qt-no-rate { display: inline-flex; align-items: center; gap: 6px; color: var(--qt-warning); }
.qt-banner { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 18px; padding: 12px 14px; border: 1px solid transparent; border-radius: var(--qt-r); font-size: 14px; line-height: 1.45; }
.qt-banner .bi { flex: 0 0 auto; margin-top: 1px; font-size: 18px; line-height: 1; }
.qt-banner-danger { border-color: var(--qt-danger-line); background: var(--qt-danger-soft); color: var(--qt-danger); }
.qt-banner-warning { border-color: var(--qt-warning-line); background: var(--qt-warning-soft); color: var(--qt-warning); }
.qt-banner-ok { border-color: var(--qt-ok-line); background: var(--qt-ok-soft); color: var(--qt-ok); }
.qt-banner-text { display: block; }
.qt-banner-after-panel { margin: 18px 0 0; }
.qt-alert { position: fixed; z-index: 120; right: 16px; bottom: 16px; display: flex; align-items: flex-start; gap: 10px; max-width: min(420px, calc(100vw - 32px)); padding: 12px 14px; border: 1px solid var(--qt-danger-line); border-radius: var(--qt-r); background: var(--qt-danger-soft); color: var(--qt-danger); font-size: 14px; line-height: 1.45; box-shadow: var(--qt-sh-2); }
.qt-alert .bi { flex: 0 0 auto; margin-top: 1px; font-size: 18px; line-height: 1; }
.qt-alert span { display: block; }

.qt-app { position: relative; display: grid; grid-template-columns: var(--qt-sidebar-width) minmax(0, 1fr); min-height: 100vh; background: var(--qt-ground); transition: grid-template-columns .2s ease; }
.qt-app.qt-app-collapsed { grid-template-columns: var(--qt-sidebar-collapsed-width) minmax(0, 1fr); }
.qt-skip-link { position: absolute; z-index: 40; top: 10px; left: 10px; padding: 10px 14px; border-radius: 9px; background: var(--qt-surface); color: var(--qt-brand); font-size: 13px; font-weight: 600; transform: translateY(-160%); }
.qt-skip-link:focus { transform: none; outline: 3px solid var(--qt-accent-bright); }
.qt-backdrop { position: fixed; z-index: 15; inset: 0; background: rgba(12, 17, 31, .5); opacity: 0; pointer-events: none; transition: opacity .2s ease; }

.qt-sidebar { position: sticky; top: 0; z-index: 20; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; grid-template-columns: minmax(0, 1fr); height: 100vh; min-width: 0; overflow: hidden; background: var(--qt-brand); color: var(--qt-side-ink); transition: transform .2s ease; }
.qt-sidebar-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; height: 64px; padding: 0 12px 0 16px; border-bottom: 1px solid var(--qt-side-line); }
.qt-brand { display: inline-flex; flex: 1 1 auto; align-items: center; gap: 10px; min-width: 0; color: var(--qt-side-ink); text-decoration: none; font-size: 14.5px; font-weight: 600; letter-spacing: -.01em; white-space: nowrap; }
.qt-brand:hover { color: var(--qt-side-ink); }
.qt-brand-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; transition: opacity .14s ease; }
.qt-brand:hover .qt-brand-text { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: rgba(255, 255, 255, .4); }
.qt-side-button { display: grid; place-items: center; flex: 0 0 auto; width: 40px; height: 40px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 11px; background: transparent; color: var(--qt-side-muted); cursor: pointer; font-size: 18px; transition: background .15s ease, border-color .15s ease, color .15s ease; }
.qt-side-button:hover { border-color: rgba(255, 255, 255, .32); background: rgba(255, 255, 255, .09); color: var(--qt-side-ink); }
.qt-sidebar :focus-visible { outline-color: var(--qt-accent-bright); }
.qt-mobile-close { display: none; }
.qt-toggle .qt-when-collapsed { display: none; }
.qt-app-collapsed .qt-toggle .qt-when-expanded { display: none; }
.qt-app-collapsed .qt-toggle .qt-when-collapsed { display: block; }
.qt-nav { min-height: 0; overflow-y: auto; padding: 16px 14px 20px; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, .22) transparent; }
.qt-nav-group + .qt-nav-group { margin-top: 20px; }
.qt-nav-group-label { display: block; height: 22px; overflow: hidden; padding: 0 10px; color: rgba(198, 204, 215, .75); font-size: 10.5px; font-weight: 600; letter-spacing: .11em; line-height: 22px; text-transform: uppercase; white-space: nowrap; transition: opacity .14s ease, height .14s ease; }
.qt-nav-list { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.qt-nav-item { position: relative; display: flex; align-items: center; gap: 12px; width: 100%; min-width: 0; min-height: 46px; overflow: hidden; padding: 0 12px; border: 1px solid transparent; border-radius: 11px; background: transparent; color: var(--qt-side-muted); font-size: 14px; font-weight: 500; text-align: left; text-decoration: none; white-space: nowrap; cursor: pointer; transition: background .15s ease, border-color .15s ease, color .15s ease; }
.qt-nav-item .bi { font-size: 18px; flex: 0 0 auto; }
.qt-nav-item::before { content: ""; position: absolute; top: 11px; bottom: 11px; left: 0; width: 3px; border-radius: 0 3px 3px 0; background: transparent; }
.qt-nav-item:hover { border-color: rgba(255, 255, 255, .1); background: var(--qt-side-hover); color: var(--qt-side-ink); }
.qt-nav-item[aria-current="page"] { border-color: var(--qt-surface); background: var(--qt-surface); color: var(--qt-brand); font-weight: 600; box-shadow: 0 8px 18px rgba(6, 12, 28, .2); }
.qt-nav-item[aria-current="page"]::before { background: var(--qt-accent-bright); }
.qt-nav-label { overflow: hidden; text-overflow: ellipsis; transition: opacity .14s ease; }
.qt-sidebar-footer { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 12px 14px; border-top: 1px solid var(--qt-side-line); background: var(--qt-brand-deep); }
.qt-account { position: relative; display: flex; align-items: center; gap: 11px; width: 100%; min-width: 0; min-height: 52px; padding: 6px 8px; border: 1px solid transparent; border-radius: 11px; background: transparent; color: var(--qt-side-ink); text-align: left; transition: background .15s ease, border-color .15s ease; }
.qt-account:hover, .qt-account[aria-expanded="true"] { border-color: rgba(255, 255, 255, .1); background: var(--qt-side-hover); }
.qt-account-current::before { content: ""; position: absolute; top: 13px; bottom: 13px; left: 0; width: 3px; border-radius: 0 3px 3px 0; background: var(--qt-accent-bright); }
.qt-account-chevron { margin-left: auto; color: var(--qt-side-muted); font-size: 16px; }
.qt-account-menu { --bs-dropdown-min-width: 232px; --bs-dropdown-padding-x: 6px; --bs-dropdown-padding-y: 6px; --bs-dropdown-bg: var(--qt-surface); --bs-dropdown-border-color: var(--qt-line); --bs-dropdown-border-radius: var(--qt-r); --bs-dropdown-item-padding-x: 12px; --bs-dropdown-item-border-radius: var(--qt-r-sm); --bs-dropdown-link-color: var(--qt-ink); --bs-dropdown-link-hover-color: var(--qt-ink); --bs-dropdown-link-hover-bg: var(--qt-surface-2); --bs-dropdown-link-active-color: var(--qt-ink); --bs-dropdown-link-active-bg: var(--qt-surface-2); box-shadow: var(--qt-sh-2); }
.qt-account-menu :focus-visible { outline-color: var(--qt-accent); outline-offset: -2px; }
.qt-account-menu-head { display: none; gap: 1px; margin: 0 0 4px; padding: 8px 10px 10px; border-bottom: 1px solid var(--qt-line); color: var(--qt-ink); }
.qt-account-dropdown.dropend .qt-account-menu-head { display: grid; }
.qt-account-menu-head span { color: var(--qt-muted); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.qt-account-menu-head strong { overflow: hidden; font-size: 13px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.qt-account-menu .dropdown-item { position: relative; display: flex; align-items: center; gap: 10px; min-height: 44px; font-size: 14px; font-weight: 500; }
.qt-account-menu .dropdown-item .bi { color: var(--qt-muted); }
.qt-account-menu .dropdown-item[aria-current="page"] { color: var(--qt-brand); font-weight: 600; }
.qt-account-menu .dropdown-item[aria-current="page"]::before { content: ""; position: absolute; top: 12px; bottom: 12px; left: 0; width: 3px; border-radius: 0 3px 3px 0; background: var(--qt-accent); }
.qt-account-menu .dropdown-item[aria-current="page"] .bi { color: var(--qt-accent); }
.qt-avatar { display: grid; place-items: center; flex: 0 0 auto; width: 32px; height: 32px; border-radius: 50%; background: var(--qt-brand-soft); color: var(--qt-side-ink); font-size: 12px; font-weight: 600; letter-spacing: .02em; }
.qt-account-copy { display: grid; min-width: 0; transition: opacity .14s ease; }
.qt-account-email { overflow: hidden; font-size: 13px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.qt-dev-badge { justify-self: start; margin-top: 3px; padding: 1px 7px; border: 1px solid rgba(242, 120, 75, .55); border-radius: 999px; color: var(--qt-accent-bright); font-size: 11px; font-weight: 600; }
.qt-logout-form { margin: 0; }

.qt-app-collapsed .qt-sidebar-header { justify-content: center; padding: 0 4px; }
.qt-app-collapsed .qt-brand-text,
.qt-app-collapsed .qt-nav-label,
.qt-app-collapsed .qt-account-copy { width: 0; opacity: 0; pointer-events: none; }
.qt-app-collapsed .qt-nav-group-label { height: 8px; opacity: 0; }
.qt-app-collapsed .qt-nav-group + .qt-nav-group { margin-top: 10px; }
.qt-app-collapsed .qt-nav { padding-inline: 10px; }
.qt-app-collapsed .qt-nav-item { justify-content: center; gap: 0; padding-inline: 0; }
.qt-app-collapsed .qt-account { justify-content: center; gap: 0; padding-inline: 0; }
.qt-app-collapsed .qt-account-chevron { display: none; }

.qt-tip { position: fixed; z-index: 100; padding: 5px 9px; border-radius: 8px; background: var(--qt-brand-deep); color: var(--qt-side-ink); font-size: 12.5px; font-weight: 500; line-height: 1.45; width: max-content; max-width: min(340px, calc(100vw - 16px)); box-shadow: var(--qt-sh-2); pointer-events: none; }
.qt-tip[hidden] { display: none; }

.qt-workspace { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; min-width: 0; background: var(--qt-ground); }
.qt-topbar { position: relative; z-index: 5; display: flex; align-items: center; gap: 12px; min-width: 0; height: 64px; padding: 0 32px; border-bottom: 1px solid var(--qt-line); background: var(--qt-surface); }
.qt-topbar .qt-menu-button, .qt-topbar .qt-brand { display: none; }
.qt-main { min-width: 0; padding: 28px 32px 24px; }
.qt-back-link { display: none; }
.qt-page-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px 22px; margin-bottom: 22px; }
.qt-page-actions-buttons { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.qt-page-actions .qt-field-error { margin: 6px 0 0; font-weight: 600; text-align: right; }
.qt-page-actions .qt-field-error:empty { display: none; }
.qt-page-title { margin: 0; color: var(--qt-ink); font-size: clamp(30px, 3.2vw, 38px); font-weight: 650; letter-spacing: -.04em; line-height: 1.06; }
.qt-crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: 0; padding: 0; list-style: none; color: var(--qt-muted); font-size: 13px; }
.qt-crumbs li { display: inline-flex; align-items: center; gap: 8px; min-height: 24px; }
.qt-crumbs li + li::before { content: "/"; color: var(--qt-line-strong); }
.qt-crumbs a { display: inline-flex; align-items: center; color: var(--qt-muted); text-decoration: none; border-radius: 6px; }
.qt-crumbs a:hover { color: var(--qt-ink); text-decoration: underline; text-underline-offset: 3px; }
.qt-crumbs .bi { font-size: 16px; }
.qt-crumbs [aria-current="page"] { color: var(--qt-ink); font-weight: 600; }
.qt-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px; margin: 0 32px; padding: 16px 0 20px; border-top: 1px solid var(--qt-line); color: var(--qt-muted); font-size: 12px; }
.qt-footer a { color: var(--qt-accent); text-decoration: underline; text-underline-offset: 3px; }
.qt-footer a:hover { color: var(--qt-ink); }

.qt-card { overflow: hidden; border: 1px solid var(--qt-line); border-radius: var(--qt-r-lg); background: var(--qt-surface); box-shadow: var(--qt-sh-1); }
.qt-panel { max-width: 760px; }
.qt-panel-head { padding: 20px 24px 16px; border-bottom: 1px solid var(--qt-line); }
.qt-panel-head h2 { margin: 0; font-size: 20px; font-weight: 600; letter-spacing: -.02em; }
.qt-panel-head-with-action { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.qt-panel-head-with-action > div { flex: 1 1 240px; min-width: 0; }
.qt-panel-note { margin: 4px 0 0; color: var(--qt-muted); font-size: 14px; }
.qt-rates { margin-top: 24px; }
.qt-rates .qt-pill { margin-left: 8px; }
.qt-panel-body { padding: 24px; }
.qt-check { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; font-size: 14px; cursor: pointer; user-select: none; }
.qt-check-input { width: 18px; height: 18px; margin: 0; accent-color: var(--qt-brand); cursor: pointer; }
.qt-form-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 24px; border-top: 1px solid var(--qt-line); background: var(--qt-surface-2); }
.qt-form-actions-end { justify-content: flex-end; }
.qt-form-panel { overflow: visible; }
.qt-form-panel .qt-form-actions { border-radius: 0 0 calc(var(--qt-r-lg) - 1px) calc(var(--qt-r-lg) - 1px); }
.qt-stack { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; max-width: 640px; }
.qt-stack .qt-banner { margin: 0; }
.qt-status-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.qt-panel-head-small h2 { font-size: 16px; }
.qt-panel-text { margin: 0 0 16px; color: var(--qt-muted); font-size: 14.5px; line-height: 1.55; }
.qt-panel-text:last-child { margin-bottom: 0; }
.qt-steps { display: grid; gap: 10px; margin: 0 0 18px; padding-left: 20px; font-size: 14.5px; line-height: 1.5; }
.qt-steps li::marker { color: var(--qt-accent); font-weight: 700; }
.qt-qr-row { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 24px; margin-bottom: 18px; padding: 16px; border: 1px solid var(--qt-line); border-radius: var(--qt-r); background: var(--qt-surface-2); }
.qt-qr { flex: none; width: 164px; height: 164px; border: 1px solid var(--qt-line); border-radius: 10px; background: #fff; fill: var(--qt-ink); }
.qt-key { display: grid; gap: 6px; min-width: 0; }
.qt-key .qt-field-label { font-size: 13px; font-weight: 600; }
.qt-key :is(.qt-field-hint, .qt-copy-feedback) { margin: 0; }
.qt-key-value { display: flex; align-items: center; gap: 6px; }
.qt-key code, .qt-recovery-codes code { color: var(--qt-ink); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 15px; letter-spacing: .06em; overflow-wrap: anywhere; }
.qt-recovery-codes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 24px; margin: 16px 0 0; padding: 14px 18px; border: 1px dashed var(--qt-line-strong); border-radius: var(--qt-r); background: var(--qt-surface-2); list-style: none; font-variant-numeric: tabular-nums; }
.qt-recovery-codes + .qt-copy-feedback { margin: 8px 0 0; }
.btn-danger, .qt-btn.btn-danger { --bs-btn-bg: var(--qt-danger); --bs-btn-border-color: var(--qt-danger); --bs-btn-hover-bg: var(--qt-danger-shade); --bs-btn-hover-border-color: var(--qt-danger-shade); --bs-btn-active-bg: var(--qt-danger-shade); --bs-btn-active-border-color: var(--qt-danger-shade); --bs-btn-border-radius: var(--qt-r); --bs-btn-font-weight: 600; }
.qt-modal { width: min(460px, calc(100vw - 32px)); padding: 0; border: 1px solid var(--qt-line); border-radius: var(--qt-r-lg); background: var(--qt-surface); color: var(--qt-ink); box-shadow: var(--qt-sh-2); }
.qt-modal::backdrop { background: rgba(12, 17, 31, .45); }
.qt-modal-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 16px 14px 22px; border-bottom: 1px solid var(--qt-line); }
.qt-modal-head h2 { margin: 0; font-size: 18px; font-weight: 600; }
.qt-modal-body { display: grid; gap: 10px; padding: 18px 22px; font-size: 14.5px; }
.qt-modal-body p { margin: 0; }
.qt-modal-body .qt-banner { margin: 0; }
.qt-modal-object { font-weight: 700; overflow-wrap: anywhere; }
.qt-modal-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 14px 22px; border-top: 1px solid var(--qt-line); background: var(--qt-surface-2); }
.qt-error-card { display: grid; justify-items: start; gap: 14px; max-width: 620px; padding: 32px; }
.qt-error-icon { display: grid; place-items: center; width: 54px; height: 54px; border: 1px solid var(--qt-danger-line); border-radius: 15px; background: var(--qt-danger-soft); color: var(--qt-danger); font-size: 24px; }
.qt-error-icon-soft { border-color: var(--qt-line); background: var(--qt-surface-2); color: var(--qt-muted); }
.qt-error-card h1 { margin: 4px 0 0; font-size: 26px; font-weight: 600; letter-spacing: -.03em; }
.qt-error-card p:not(.qt-copy-feedback) { margin: 0; color: var(--qt-muted); font-size: 15px; line-height: 1.6; }
.qt-ref { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 10px 12px; border: 1px dashed var(--qt-line-strong); border-radius: var(--qt-r); background: var(--qt-surface-2); font-size: 13.5px; color: var(--qt-muted); }
.qt-ref code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: var(--qt-ink); font-size: 13.5px; overflow-wrap: anywhere; }
.qt-icon-btn { display: inline-grid; place-items: center; width: 30px; height: 30px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: var(--qt-muted); cursor: pointer; text-decoration: none; }
.qt-icon-btn .bi { font-size: 18px; }
.qt-icon-btn:hover { background: var(--qt-surface); border-color: var(--qt-line); color: var(--qt-ink); }
.qt-icon-btn-danger:hover { border-color: var(--qt-danger-line); background: var(--qt-danger-soft); color: var(--qt-danger); }
.qt-copy-feedback { min-height: 20px; margin: -6px 0 0; color: var(--qt-ok); font-size: 13px; }
.qt-copy-feedback:empty { display: none; }

.qt-table-wrap { overflow-x: auto; }
.qt-table-wrap:focus-visible { outline-offset: -2px; }
.qt-table { --bs-table-bg: transparent; --bs-table-color: var(--qt-ink); --bs-table-border-color: var(--qt-line); width: 100%; min-width: 760px; margin: 0; table-layout: fixed; font-size: 14px; }
.qt-table th { padding: 12px 16px; border-bottom: 1px solid var(--qt-line); color: var(--qt-muted); font-size: 11px; font-weight: 600; letter-spacing: .07em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.qt-table td { height: 58px; padding: 10px 16px; border-bottom: 1px solid var(--qt-line); vertical-align: middle; overflow-wrap: anywhere; }
.qt-table > tbody > tr:last-child > td { border-bottom: 0; }
.qt-table > tbody > tr:hover > td { background: #F1ECE4; }
.qt-table .qt-col-name { font-weight: 600; }
.qt-table .qt-col-address { color: var(--qt-muted); }
.qt-table .qt-col-finished { width: 110px; }
.qt-table .qt-col-active { width: 120px; }
.qt-table .qt-col-default { width: 120px; }
.qt-table .qt-col-rate { width: 210px; }
.qt-table .qt-col-valid-from { width: 26%; }
.qt-table .qt-col-valid-to { width: 18%; }
.qt-table .qt-col-vat-number { width: 160px; }
.qt-table .qt-col-usage { width: 120px; }
.qt-table .qt-col-projects-count { width: 170px; }
.qt-table .qt-col-actions { width: 88px; padding-left: 0; padding-right: 8px; text-align: center; white-space: nowrap; }
.qt-table .qt-num { text-align: right; font-variant-numeric: tabular-nums; }
.qt-table tr.qt-row-muted td { color: var(--qt-line-strong); }
.qt-table tr.qt-row-muted .qt-col-name { font-weight: 500; }
.qt-table.qt-table-compact { min-width: 0; }
.qt-table-selectable > tbody > tr:not(.qt-row-panel) { cursor: pointer; }
.qt-table tbody tr:is(.qt-row-selected, .qt-row-current) td { background: var(--qt-accent-soft); }
.qt-table tbody tr:is(.qt-row-selected, .qt-row-current) td:first-child { box-shadow: inset 3px 0 var(--qt-accent); }
.qt-table > tbody > tr.qt-row-selected > td { border-bottom-color: transparent; }
.qt-table > tbody > tr.qt-row-panel > td { height: auto; padding: 0 0 10px 42px; box-shadow: inset 3px 0 var(--qt-accent); }
.qt-table > tbody > tr.qt-row-panel:hover > td { background: transparent; }
.qt-row-panel-action { padding: 12px 16px 2px; }
.qt-row-panel .qt-col-name { font-weight: 500; }
.qt-table tbody tr.qt-row-new td { background: var(--qt-ok-soft); }
.qt-table tbody tr.qt-row-new td:first-child { box-shadow: inset 3px 0 var(--qt-ok); }
.qt-recent-table .qt-col-worker { width: 128px; }
.qt-recent-table .qt-col-work-category { width: 124px; }
.qt-recent-table .qt-col-period { width: 194px; }
.qt-recent-table .qt-col-actions { width: 76px; }
.qt-recent-table :is(.qt-col-description, .qt-recent-sub-category) { color: var(--qt-muted); }
.qt-recent-table :is(.qt-col-description span, .qt-recent-sub-category) { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
.qt-select-link { display: flex; align-items: flex-start; gap: 8px; width: fit-content; max-width: 100%; color: var(--qt-ink); font-weight: 600; line-height: 1.4; text-decoration: none; }
.qt-select-link:hover { color: var(--qt-ink); }
.qt-select-link .bi { flex: none; margin-top: 2px; color: var(--qt-muted); font-size: 16px; line-height: 1; transition: transform .15s ease; }
.qt-select-link .bi::before { display: block; }
.qt-select-link[aria-expanded="true"] .bi { color: inherit; transform: rotate(90deg); }
.qt-row-selected .qt-select-link { color: var(--qt-accent); }
.qt-select-link:focus-visible { border-radius: 4px; outline: 2px solid var(--qt-accent); outline-offset: 3px; }
.qt-panel-empty { margin: 0; padding: 44px 24px; color: var(--qt-muted); font-size: 14.5px; text-align: center; }
.qt-row-panel .qt-panel-empty { padding: 10px 16px 6px; text-align: left; }
.qt-panel-below { margin-top: 18px; }
.qt-panel-below .qt-panel-head h2 { font-size: 16px; }
.qt-status-tabs { display: flex; gap: 4px; overflow-x: auto; padding: 12px 14px 0; border-bottom: 1px solid var(--qt-line); scrollbar-width: none; }
.qt-status-tabs::-webkit-scrollbar { display: none; }
.qt-status-tab { position: relative; display: inline-flex; flex: 0 0 auto; align-items: center; gap: 8px; min-height: 44px; padding: 0 12px 10px; color: var(--qt-muted); font-size: 14px; font-weight: 500; text-decoration: none; }
.qt-status-tab::after { content: ""; position: absolute; right: 10px; bottom: -1px; left: 10px; height: 3px; border-radius: 3px 3px 0 0; background: transparent; }
.qt-status-tab:hover { color: var(--qt-ink); }
.qt-status-tab[aria-current="page"] { color: var(--qt-ink); font-weight: 600; }
.qt-status-tab[aria-current="page"]::after { background: var(--qt-accent); }
.qt-tab-count { display: inline-grid; min-width: 26px; height: 22px; place-items: center; padding: 0 7px; border: 1px solid var(--qt-line); border-radius: 99px; background: var(--qt-surface-2); color: var(--qt-muted); font-size: 11.5px; font-weight: 600; font-variant-numeric: tabular-nums; }
.qt-status-tab[aria-current="page"] .qt-tab-count { border-color: var(--qt-brand); background: var(--qt-brand); color: #fff; }
.qt-list-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding: 14px 16px; border-bottom: 1px solid var(--qt-line); }
.qt-search { display: flex; flex: 0 1 460px; gap: 8px; min-width: 0; }
.qt-search-field { position: relative; flex: 1; min-width: 0; }
.qt-search-field .bi { position: absolute; top: 50%; left: 12px; transform: translateY(-50%); color: var(--qt-muted); font-size: 16px; opacity: .8; pointer-events: none; }
.qt-search-field .form-control { min-height: 44px; padding: 10px 12px 10px 36px; border: 1px solid var(--qt-line-strong); border-radius: var(--qt-r); background: var(--qt-surface-2); color: var(--qt-ink); font-size: 14.5px; }
.qt-search-field .form-control:hover { border-color: var(--qt-ink); }
.qt-search-field .form-control:focus { border-color: var(--qt-accent); background: #fff; box-shadow: 0 0 0 4px rgba(169, 66, 30, .16); }
.qt-filters { border-bottom: 1px solid var(--qt-line); }
.qt-filters .qt-form-actions { border-radius: 0; }
.qt-filter-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); align-items: start; gap: 12px 14px; padding: 14px 16px; }
.qt-filters .qt-field { min-width: 0; margin: 0; }
.qt-filters .qt-field label { margin-bottom: 6px; color: var(--qt-muted); font-size: 12.5px; line-height: 20px; }
.qt-filters :is(.form-control.qt-input, .form-select.qt-select) { min-height: 44px; padding-block: 9px; padding-left: 14px; font-size: 14.5px; }
.qt-filters .ts-wrapper.qt-select .ts-control { font-size: 14.5px; }
.qt-filter-period { display: contents; }
.qt-filter-search { grid-column: span 2; }
.qt-filters-toggle { display: none; }
.qt-total-row td { border-top: 2px solid var(--qt-line-strong); border-bottom: 0; font-weight: 600; white-space: nowrap; }
.qt-total-row .qt-total-label { color: var(--qt-muted); text-align: right; }
.qt-pill { display: inline-flex; align-items: center; gap: 4px; padding: 2px 9px; border-radius: 999px; font-size: 12.5px; font-weight: 600; }
.qt-pill .bi { font-size: 13px; }
.qt-pill-no { border: 1px solid var(--qt-line); background: var(--qt-surface-2); color: var(--qt-muted); }
.qt-pill-yes { border: 1px solid var(--qt-ok-line); background: var(--qt-ok-soft); color: var(--qt-ok); }
.qt-pill-now { border: 1px solid #F3C4B1; background: #FDEBE3; color: var(--qt-accent); }
.qt-pill-warn { border: 1px solid var(--qt-warning-line); background: var(--qt-warning-soft); color: var(--qt-warning); }
.qt-pill-yes, .qt-pill-warn { white-space: nowrap; }
.qt-purchase-table { min-width: 1030px; table-layout: auto; }
.qt-purchase-table :is(th, td) { padding-inline: 10px; }
.qt-purchase-table tr > :first-child { padding-left: 16px; }
.qt-purchase-table .qt-col-date { --qt-column-width: 112px; }
.qt-purchase-table .qt-col-type { --qt-column-width: 124px; }
.qt-purchase-table td.qt-col-type { padding-right: 0; }
.qt-purchase-table .qt-col-document-number { --qt-column-width: 148px; }
.qt-purchase-table .qt-col-purchasing-entity { --qt-column-width: 128px; }
.qt-purchase-table td.qt-col-purchasing-entity { font-size: 13px; }
.qt-purchase-table .qt-col-lines { --qt-column-width: 78px; }
.qt-purchase-table .qt-col-amount { --qt-column-width: 96px; }
.qt-purchase-table .qt-col-check { --qt-column-width: 126px; }
.qt-purchase-table .qt-col-actions { --qt-column-width: 118px; }
.qt-type { display: inline-flex; align-items: center; gap: 6px; padding: 2px 10px; border: 1px solid var(--qt-line); border-radius: 999px; background: var(--qt-surface); font-size: 12.5px; font-weight: 600; white-space: nowrap; }
.qt-type .bi { font-size: 13px; }
.qt-order-number { display: block; color: var(--qt-muted); font-size: 12.5px; }
.qt-row-icon { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 8px; color: var(--qt-warning); vertical-align: middle; }
.qt-row-icon:focus-visible { outline: 2px solid var(--qt-accent); outline-offset: 1px; }
.qt-amount-negative { color: var(--qt-danger); }
.qt-no-value { color: var(--qt-muted); }
.qt-dropdown-detached { z-index: 70; min-width: min(320px, calc(100vw - 16px)); font-size: 14px; }
.qt-dropdown-detached .dropdown-input:focus { border-color: var(--qt-accent); box-shadow: 0 0 0 3px rgba(169, 66, 30, .16); }
.qt-purchase-head { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0 18px; }
.qt-purchase-head .qt-field > label { line-height: 24px; }
.qt-input-amount { text-align: right; font-variant-numeric: tabular-nums; }
.qt-lines { margin: 8px -24px -24px; padding: 0 24px 20px; border-top: 1px solid var(--qt-line); }
.qt-lines-title { margin: 0 -24px 16px; padding: 16px 24px 14px; border-bottom: 1px solid var(--qt-line); font-size: 17px; font-weight: 600; letter-spacing: -.02em; }
.qt-lines-defaults { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) auto; gap: 0 16px; align-items: end; }
.qt-lines-defaults > .qt-field { align-self: start; }
.qt-lines-count { min-height: 20px; margin: 0 0 30px; color: var(--qt-muted); font-size: 13px; white-space: nowrap; }
.qt-lines-count b { color: var(--qt-warning); font-weight: 600; }
html:not(.qt-script) .qt-script-only { display: none; }
html:not(.qt-script) .qt-lines-count { min-height: 0; margin-bottom: 12px; }
.qt-lines-wrap { position: relative; border: 1px solid var(--qt-line); border-radius: var(--qt-r); container-type: inline-size; }
.qt-lines-table { width: 100%; min-width: 960px; table-layout: fixed; border-collapse: collapse; }
.qt-lines-table th { padding: 10px; border-bottom: 1px solid var(--qt-line); background: var(--qt-surface-2); color: var(--qt-muted); font-size: 11px; font-weight: 600; letter-spacing: .07em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.qt-lines-table td { padding: 3px 4px; border-bottom: 1px solid var(--qt-line); vertical-align: top; }
.qt-lines-table tbody tr:last-child td { border-bottom: 0; }
.qt-lines-table .qt-num, .qt-lines-table .qt-num .qt-input { text-align: right; font-variant-numeric: tabular-nums; }
.qt-lines-table .qt-col-article-number { width: 124px; }
.qt-lines-table .qt-col-quantity { width: 80px; }
.qt-lines-table .qt-col-unit-price { width: 112px; }
.qt-lines-table .qt-col-amount { width: 104px; }
.qt-lines-table .qt-col-project { width: 184px; }
.qt-lines-table .qt-col-work-category { width: 164px; width: clamp(164px, (100cqi - 700px) / 2, 280px); }
.qt-lines-table .qt-col-icon { width: 38px; padding-inline: 0; text-align: center; }
.qt-lines-table :is(.form-control.qt-input, .form-select.qt-select) { min-height: 38px; padding: 6px 8px; border-color: transparent; background-color: transparent; font-size: 14px; }
.qt-lines-table textarea.qt-input { display: block; max-height: none; line-height: 24px; resize: none; overflow: hidden; overflow-wrap: anywhere; }
.qt-lines-table .form-select.qt-select { padding-right: 28px; text-overflow: ellipsis; }
.qt-lines-table .ts-wrapper.qt-select { min-height: 38px; padding: 0; border-color: transparent; background: transparent; }
.qt-lines-table .ts-wrapper.qt-select .ts-control { min-height: 36px; padding: 6px 28px 6px 8px; font-size: 14px; }
.qt-lines-table .ts-control .item { display: block; width: 100%; white-space: normal; overflow-wrap: anywhere; }
.qt-lines-table :is(.qt-input, .form-select.qt-select, .ts-wrapper.qt-select):hover { background-color: var(--qt-surface-2); }
.qt-lines-table :is(.qt-input, .form-select.qt-select):focus, .qt-lines-table .ts-wrapper.qt-select.focus { border-color: var(--qt-accent); background-color: #fff; box-shadow: 0 0 0 3px rgba(169, 66, 30, .16); }
.qt-lines-table :is(.qt-input, .form-select).input-validation-error { border-color: var(--qt-danger); background-color: #fff; }
.qt-lines-table tr:not(.qt-line-blank) .qt-input::placeholder { color: transparent; }
.qt-lines-table .qt-field-error { margin: 2px 4px 4px; font-size: 12.5px; text-align: left; }
.qt-lines-table .qt-icon-btn { margin-top: 4px; }
.qt-line-has-remarks { color: var(--qt-accent); }
.qt-lines-table .qt-line-project-cell { position: relative; }
.qt-line-unassigned-mark { display: none; position: absolute; z-index: 1; top: 15px; left: 11px; color: var(--qt-warning); font-size: 14px; line-height: 1; }
.qt-line-unassigned .qt-line-unassigned-mark { display: block; }
.qt-lines-table .qt-line-unassigned .qt-line-project-cell :is(.ts-wrapper.qt-select .ts-control, .form-select.qt-select) { padding-left: 28px; }
.qt-line-unassigned .ts-wrapper.qt-select .ts-control .item[data-value=""], .qt-lines-table .qt-line-unassigned .qt-line-project-cell .form-select.qt-select { color: var(--qt-warning); }
.qt-project-code { display: block; font-weight: 600; }
.qt-project-name { display: block; color: var(--qt-muted); font-size: 12.5px; line-height: 1.3; }
.qt-lines-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; }
.qt-lines-totals { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; font-variant-numeric: tabular-nums; font-weight: 600; }
html:not(.qt-script) .qt-lines-totals { margin-left: auto; }
.qt-lines-check { display: inline-flex; align-items: center; gap: 4px; }
.qt-lines-check[hidden] { display: none; }
.qt-lines-check .qt-pill-yes .bi-exclamation-triangle, .qt-lines-check .qt-pill-warn .bi-check-lg { display: none; }
.qt-note-popover { position: fixed; z-index: 60; width: min(320px, calc(100vw - 16px)); padding: 12px; border: 1px solid var(--qt-line); border-radius: var(--qt-r); background: var(--qt-surface); box-shadow: var(--qt-sh-2); }
.qt-note-popover[hidden] { display: none; }
.qt-note-popover label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 600; }
.qt-banner-info { border-color: var(--qt-line-strong); background: var(--qt-surface-2); color: var(--qt-ink); }
.qt-scan-bar { margin: 0 0 18px; padding: 14px 16px; border: 1px dashed var(--qt-line-strong); border-radius: var(--qt-r); background: var(--qt-surface-2); }
.qt-scan-bar.qt-scan-drop { border-style: solid; border-color: var(--qt-accent); background: #fff; box-shadow: 0 0 0 3px rgba(169, 66, 30, .16); }
.qt-scan-bar.qt-upload-refused { border-style: solid; border-color: var(--qt-danger-line); background: var(--qt-danger-soft); }
.qt-scan-bar-main { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.qt-scan-bar-hint { flex: 1 1 260px; color: var(--qt-muted); font-size: 13.5px; }
.qt-scan-bar .qt-field-error { margin: 10px 0 0; font-size: 14px; font-weight: 600; }
.qt-scan-progress { height: 6px; margin-top: 12px; border-radius: 999px; background: var(--qt-line); overflow: hidden; }
.qt-scan-progress[hidden] { display: none; }
.qt-scan-progress i { display: block; width: 40%; height: 100%; border-radius: 999px; background: var(--qt-brand); animation: qt-scan-progress 1.4s ease-in-out infinite; }
@keyframes qt-scan-progress { from { transform: translateX(-100%); } to { transform: translateX(250%); } }
.qt-scan-seconds { font-variant-numeric: tabular-nums; font-weight: 500; }
.qt-scan-seconds:empty { display: none; }
.qt-scan-waiting { opacity: .55; }
.qt-scan-hint { display: block; margin: 6px 2px 0; color: var(--qt-warning); font-size: 12.5px; line-height: 1.35; }
.qt-scan-hint[hidden] { display: none; }
.qt-field-success { display: flex; align-items: flex-start; gap: 6px; margin: 6px 0 0; padding: 6px 10px; border: 1px solid var(--qt-ok-line); border-radius: var(--qt-r); background: var(--qt-ok-soft); color: var(--qt-ok); font-size: 13px; line-height: 1.35; }
.qt-field-success[hidden] { display: none; }
.qt-field-success .bi { flex: 0 0 auto; margin-top: 1px; }
.qt-field .qt-scan-keep { display: flex; align-items: flex-start; gap: 8px; margin: 8px 2px 0; font-size: 13.5px; font-weight: 400; cursor: pointer; }
.qt-field .qt-scan-keep[hidden] { display: none; }
.qt-scan-keep .qt-check-input { flex: 0 0 auto; }
.qt-lines-table .qt-scan-hint { margin: 2px 4px 4px; text-align: left; }
.qt-attachment { margin-bottom: 16px; }
.qt-attachment[hidden] { display: none; }
.qt-attachment-card { padding: 14px 16px 16px; }
.qt-attachment-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 10px; margin-bottom: 10px; }
.qt-attachment-head h2 { margin: 0; font-size: 16px; font-weight: 600; }
.qt-attachment-name { min-width: 0; color: var(--qt-muted); font-size: 13px; overflow-wrap: anywhere; }
.qt-attachment-preview > summary { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 8px; padding: 2px 4px; border-radius: var(--qt-r); color: var(--qt-muted); font-size: 13px; font-weight: 600; cursor: pointer; list-style: none; }
.qt-attachment-preview > summary::-webkit-details-marker { display: none; }
.qt-attachment-preview > summary:hover, .qt-attachment-preview > summary:focus-visible { color: var(--qt-accent); background: var(--qt-surface-2); }
.qt-attachment-preview > summary .bi { transition: transform .15s ease; }
.qt-attachment-preview:not([open]) > summary { margin-bottom: 0; }
.qt-attachment-preview:not([open]) > summary .bi { transform: rotate(-90deg); }
.qt-attachment-preview[open] .qt-when-closed, .qt-attachment-preview:not([open]) .qt-when-open { display: none; }
html.qt-no-inline-pdf .qt-attachment-preview:has(.qt-attachment-view-pdf) { display: none; }
.qt-scan-read { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--qt-line); }
.qt-scan-read > summary { display: inline-flex; align-items: center; gap: 6px; padding: 2px 4px; border-radius: var(--qt-r); color: var(--qt-ink); font-size: 14px; font-weight: 600; cursor: pointer; list-style: none; }
.qt-scan-read > summary::-webkit-details-marker { display: none; }
.qt-scan-read > summary:hover, .qt-scan-read > summary:focus-visible { color: var(--qt-accent); background: var(--qt-surface-2); }
.qt-scan-read > summary .bi { transition: transform .15s ease; }
.qt-scan-read:not([open]) > summary .bi { transform: rotate(-90deg); }
.qt-scan-texts { max-height: 420px; margin: 8px 0 0; padding: 8px 10px; border: 1px solid var(--qt-line); border-radius: var(--qt-r); background: var(--qt-surface-2); font-size: 13px; line-height: 1.5; list-style: none; overflow: auto; }
.qt-scan-texts li { display: flex; flex-wrap: wrap; gap: 0 14px; padding: 1px 0; overflow-wrap: anywhere; }
.qt-scan-handwriting { display: inline-flex; align-items: baseline; gap: 4px; padding: 0 5px; border-radius: 4px; border: 1px solid var(--qt-warning-line); background: var(--qt-warning-soft); color: var(--qt-ink); font-style: italic; }
.qt-scan-handwriting .bi { color: var(--qt-warning); font-size: 11px; font-style: normal; }
.qt-attachment-view { max-height: 340px; border: 1px solid var(--qt-line); border-radius: var(--qt-r); background: var(--qt-surface-2); overflow: auto; }
.qt-attachment-view :is(object, img) { display: block; width: 100%; }
.qt-attachment-view object { height: 336px; }
.qt-attachment-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.qt-attachment-text { margin: 0 0 10px; color: var(--qt-muted); font-size: 14.5px; }
.qt-attachment-note { margin: 10px 0 0; color: var(--qt-muted); font-size: 13px; line-height: 1.45; }
.qt-form-split { display: flex; flex-direction: column; }
.qt-form-split > .qt-attachment { order: -1; }
.qt-empty { display: grid; align-content: center; justify-items: center; gap: 12px; min-height: 320px; padding: 56px 24px; color: var(--qt-muted); font-size: 14.5px; text-align: center; }
.qt-empty-icon { display: grid; place-items: center; width: 54px; height: 54px; border: 1px solid var(--qt-line); border-radius: 15px; background: var(--qt-surface-2); color: var(--qt-muted); font-size: 23px; }
.qt-table-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; min-height: 58px; padding: 10px 16px; border-top: 1px solid var(--qt-line); color: var(--qt-muted); font-size: 13px; font-variant-numeric: tabular-nums; }
.qt-pager { display: flex; flex-wrap: wrap; gap: 4px; }
.qt-pager-step, .qt-pager-page { display: inline-grid; place-items: center; min-width: 36px; height: 36px; padding: 0 8px; border: 1px solid var(--qt-line); border-radius: 9px; background: var(--qt-surface); color: var(--qt-ink); font-size: 13px; font-weight: 600; text-decoration: none; font-variant-numeric: tabular-nums; }
.qt-pager-step .bi { font-size: 16px; }
.qt-pager a:hover { border-color: var(--qt-line-strong); color: var(--qt-ink); }
.qt-pager [aria-current="page"] { border-color: var(--qt-ink); background: var(--qt-ink); color: #fff; }
.qt-pager-disabled { color: var(--qt-line-strong); }
.qt-pager-gap { align-self: center; padding: 0 2px; color: var(--qt-line-strong); }

.qt-report { margin-top: 22px; }
.qt-report-fields { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); column-gap: 18px; }
.qt-report-period { padding-top: 8px; border-top: 1px solid var(--qt-line); }
.qt-report-tools label { font-size: 13px; font-weight: 600; }
.qt-report-tools .form-select { width: auto; }
.qt-report-pdf { margin-left: auto; }
.qt-report-bottom { display: flex; justify-content: flex-end; padding: 14px 16px; border-top: 1px solid var(--qt-line); background: var(--qt-surface-2); }
.qt-report-table th, .qt-report-table td { padding-inline: 8px; }
.qt-report-table tr > :first-child { padding-left: 16px; }
.qt-report-table tr > :last-child { padding-right: 16px; }
.qt-report-table { min-width: 880px; }
.qt-report-table .qt-col-project { width: 13%; }
.qt-report-table .qt-col-worker { width: 11%; }
.qt-report-table .qt-col-work-category { width: 112px; }
.qt-report-table .qt-col-sub-category { width: 120px; }
.qt-report-table .qt-col-moment { width: 96px; }
.qt-report-table .qt-col-hours { width: 100px; }
.qt-report-table tbody th, .qt-report-table tfoot th { color: var(--qt-ink); font-size: 14px; letter-spacing: normal; text-transform: none; white-space: normal; }
.qt-report-table .qt-report-group { border-top: 1px solid var(--qt-line); background: var(--qt-surface-2); }
.qt-report-table .qt-report-sum:hover td { background: none; }
.qt-report-muted { color: var(--qt-muted); font-weight: 500; }
.qt-report-table .qt-report-sum > * { font-weight: 700; text-align: right; vertical-align: middle; }
.qt-report-table .qt-report-total { border-top: 1px solid var(--qt-line-strong); background: var(--qt-surface-2); }
.qt-report-table tbody tr:last-child > *, .qt-report-table .qt-report-total, .qt-report-table .qt-report-total > * { border-bottom: 0; }

.qt-anon-page { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; min-height: 100vh; }
.qt-anon-top { display: flex; grid-row: 1; align-items: center; gap: 10px; padding: 22px 28px; color: var(--qt-brand); font-weight: 600; }
.qt-anon-main { display: grid; grid-row: 2; place-items: center; padding: 32px 20px; }
.qt-anon-page .qt-footer { grid-row: 3; margin: 0 28px; }
.qt-login-shell { width: min(100%, 400px); margin: auto; padding: 24px 0 40px; }
.qt-login-title { margin: 0; color: var(--qt-ink); font-size: clamp(28px, 3.2vw, 34px); font-weight: 600; letter-spacing: -.035em; line-height: 1.1; }
.qt-login-intro { margin: 10px 0 26px; color: var(--qt-muted); font-size: 15px; }
.qt-login-submit { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 48px; margin-top: 8px; font-size: 15px; --qt-btn-shadow: 0 9px 23px rgba(31, 42, 68, .22); box-shadow: var(--qt-btn-shadow); }
.qt-login-submit:disabled { box-shadow: none; }
.qt-login-help { margin: 22px 0 0; color: var(--qt-muted); font-size: 14px; text-align: center; }
.qt-login { display: grid; grid-template-columns: minmax(280px, 42%) minmax(0, 1fr); width: min(100%, 1040px); min-height: 680px; overflow: hidden; border: 1px solid var(--qt-line); border-radius: calc(var(--qt-r-lg) * 1.5); background: var(--qt-surface); box-shadow: 0 30px 80px rgba(31, 42, 68, .12); }
.qt-login-brand { position: relative; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 36px 38px 42px; color: var(--qt-side-ink); background: radial-gradient(circle at 18% 8%, rgba(242, 120, 75, .20), transparent 29%), radial-gradient(circle at 86% 78%, rgba(51, 64, 93, .24), transparent 35%), linear-gradient(145deg, var(--qt-brand-soft) 0%, var(--qt-brand) 48%, var(--qt-brand-deep) 100%); }
.qt-login-brand::before { position: absolute; inset: 0; content: ""; opacity: .25; background-image: linear-gradient(rgba(255, 255, 255, .09) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .09) 1px, transparent 1px); background-size: 44px 44px; -webkit-mask-image: linear-gradient(to bottom, #000, transparent 83%); mask-image: linear-gradient(to bottom, #000, transparent 83%); }
.qt-login-brand::after { position: absolute; top: 70px; right: -210px; width: 310px; height: 440px; content: ""; border: 1px solid rgba(246, 161, 132, .34); border-radius: 2px; box-shadow: 0 0 0 48px rgba(246, 161, 132, .045), 0 0 0 96px rgba(246, 161, 132, .028); transform: rotate(12deg); }
.qt-login-wordmark { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 600; letter-spacing: -.01em; }
.qt-login-wordmark-small { display: none; margin-bottom: 28px; color: var(--qt-brand); }
.qt-login-art { position: absolute; z-index: 1; top: 84px; left: 10px; width: calc(100% - 20px); height: 330px; overflow: visible; pointer-events: none; }
.qt-login-art-grid { fill: none; stroke: rgba(255, 255, 255, .11); stroke-width: 1; }
.qt-login-art-line { fill: none; stroke: rgba(246, 161, 132, .6); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.qt-login-art-strong { fill: none; stroke: rgba(246, 161, 132, .94); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.qt-login-art-fill { fill: rgba(242, 120, 75, .07); stroke: rgba(246, 161, 132, .52); stroke-width: 1.3; }
.qt-login-brand-title { position: relative; z-index: 2; max-width: 330px; margin: 0; font-size: clamp(34px, 4.2vw, 50px); font-weight: 600; letter-spacing: -.045em; line-height: 1; text-wrap: balance; }
.qt-login-stage { display: flex; flex-direction: column; min-width: 0; padding: 32px 42px 22px; }
.qt-login-stage .qt-footer { margin: 0; padding-bottom: 0; }
.qt-login .form-control.qt-input.input-validation-error:focus, .qt-password .form-control.qt-input.input-validation-error:focus { outline: 2px solid var(--qt-accent); outline-offset: 2px; }
.qt-login .form-control.qt-input[readonly] { background-color: var(--qt-surface-2); color: var(--qt-muted); }
.qt-password { position: relative; }
.qt-password .form-control.qt-input { padding-right: 52px; }
.qt-password-toggle { position: absolute; top: 2px; right: 2px; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 10px; background: transparent; color: var(--qt-muted); cursor: pointer; }
.qt-password-toggle:hover { background: var(--qt-surface-2); color: var(--qt-ink); }
.qt-password-hide, .qt-password-shown .qt-password-show { display: none; }
.qt-password-shown .qt-password-hide { display: inline-block; }
.qt-caps-hint { margin: 0; color: var(--qt-warning); font-size: 13px; }
.qt-caps-hint > span { display: flex; align-items: center; gap: 6px; margin: 7px 2px 0; }
.qt-login-back { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; margin: -6px 0 18px; color: var(--qt-muted); font-size: 14px; font-weight: 500; text-decoration: none; }
.qt-login-back:hover { color: var(--qt-ink); }
.qt-code-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 12px; margin: -4px 2px 16px; color: var(--qt-muted); font-size: 13px; }
.qt-code-meta:last-child { margin-bottom: 0; }
.qt-code-meta a { margin-left: auto; color: var(--qt-accent); font-weight: 600; text-decoration-color: rgba(169, 66, 30, .35); text-underline-offset: 4px; }
.qt-code-meta a:hover { text-decoration-color: currentColor; }
.qt-panel .qt-code-meta a { margin-left: 0; }
.qt-recovery-input { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .08em; }
.qt-code-row { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; max-width: 360px; }
.qt-login .qt-code-row { max-width: none; }
.qt-code-cell { min-width: 0; height: 52px; padding: 0; border: 1px solid var(--qt-line-strong); border-radius: var(--qt-r); background: #fff; color: var(--qt-ink); caret-color: var(--qt-accent); font-size: 21px; font-weight: 600; font-variant-numeric: tabular-nums; text-align: center; outline: none; }
.qt-code-cell:hover { border-color: var(--qt-ink); }
.qt-code-cell:focus { border-color: var(--qt-accent); box-shadow: 0 0 0 4px rgba(169, 66, 30, .18); }
.input-validation-error + .qt-code-row .qt-code-cell { border-color: var(--qt-danger); color: var(--qt-danger); }
@media (max-width: 780px) {
  .qt-login { grid-template-columns: minmax(0, 1fr); min-height: 640px; }
  .qt-login-brand { display: none; }
  .qt-login-wordmark-small { display: inline-flex; }
  .qt-login-stage { padding-inline: clamp(24px, 8vw, 60px); }
}
@media (max-width: 480px) {
  .qt-login { border-radius: var(--qt-r-lg); min-height: 600px; }
  .qt-login-stage { padding: 22px 20px 16px; }
  .qt-login-shell { padding-top: 8px; }
}

@media (min-width: 641px) {
  .qt-field-quad > .qt-field-check { align-self: start; margin-top: calc(13px * 1.5 + 7px); }
  .qt-field-quad > .qt-field-check .qt-check { min-height: 48px; }
  .qt-table.qt-recent-table { min-width: 740px; }
  .qt-purchase-table [class*="qt-col-"] { width: var(--qt-column-width); min-width: var(--qt-column-width); }
  .qt-recent-table :is(th, td) { padding-inline: 8px; }
  .qt-recent-table tr > :first-child { padding-left: 16px; }
  .qt-recent-table :is(.qt-col-description, .qt-recent-sub-category) { hyphens: auto; }
}

@media (min-width: 1400px) {
  .qt-recent-table .qt-col-project { width: 20%; }
  .qt-recent-table tr > :first-child { padding-left: 24px; }
  .qt-recent-table .qt-col-actions { width: 88px; padding-right: 18px; }
}

@media (min-width: 1800px) {
  .qt-report-table .qt-col-work-category { width: 9%; }
  .qt-report-table .qt-col-sub-category { width: 10%; }
  .qt-report-table .qt-col-moment { width: 9.5%; }
  .qt-report-table .qt-col-hours { width: 8.5%; }
  .qt-field-quad { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 1024px) {
  .qt-app, .qt-app.qt-app-collapsed { grid-template-columns: minmax(0, 1fr); }
  .qt-sidebar { position: fixed; inset: 0 auto 0 0; width: min(300px, 86%); transform: translateX(-102%); }
  .qt-app.qt-app-open .qt-sidebar { transform: none; box-shadow: 20px 0 45px rgba(6, 12, 28, .32); }
  .qt-app.qt-app-open .qt-backdrop { opacity: 1; pointer-events: auto; }
  .qt-toggle { display: none; }
  .qt-mobile-close { display: grid; }
  .qt-app-collapsed .qt-sidebar-header { justify-content: space-between; padding: 0 12px 0 16px; }
  .qt-app-collapsed .qt-sidebar-header .qt-brand { display: inline-flex; }
  .qt-app-collapsed .qt-brand-text, .qt-app-collapsed .qt-nav-label, .qt-app-collapsed .qt-account-copy { width: auto; opacity: 1; pointer-events: auto; }
  .qt-app-collapsed .qt-nav-group-label { height: 22px; opacity: 1; }
  .qt-app-collapsed .qt-nav-item { justify-content: flex-start; gap: 12px; padding-inline: 12px; }
  .qt-app-collapsed .qt-account { justify-content: flex-start; gap: 11px; padding-inline: 8px; }
  .qt-app-collapsed .qt-account-chevron { display: inline-block; }
  .qt-topbar .qt-menu-button { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--qt-line-strong); border-radius: 11px; background: transparent; color: var(--qt-ink); cursor: pointer; font-size: 20px; }
  .qt-topbar .qt-brand { display: inline-flex; flex: 0 1 auto; color: var(--qt-brand); }
}

@media (max-width: 640px) {
  .qt-topbar { gap: 10px; min-height: 60px; padding: 0 14px; }
  .qt-topbar .qt-crumbs { display: none; }
  .qt-main { padding: 22px 18px 18px; }
  .qt-page-title { font-size: 30px; }
  .qt-page-head { flex-direction: column; align-items: stretch; margin-bottom: 18px; }
  .qt-page-head .qt-btn { width: 100%; }
  .qt-page-actions .qt-field-error { text-align: left; }
  .qt-back-link { display: inline-flex; align-items: center; gap: 4px; margin: 0 0 12px; color: var(--qt-muted); font-size: 13px; font-weight: 500; text-decoration: none; }
  .qt-footer { margin: 0 18px; }
  .qt-error-card { padding: 22px; }
  .qt-list-tools { padding: 12px; }
  .qt-search { flex-basis: 100%; }
  .qt-field-pair, .qt-field-trio, .qt-purchase-head { grid-template-columns: minmax(0, 1fr); }
  .qt-panel-head-with-action { flex-direction: column; align-items: stretch; }
  .qt-panel-head-with-action > div { flex-basis: auto; }
  .qt-panel-head-with-action .qt-btn { width: 100%; white-space: normal; }
  .qt-table { min-width: 0; table-layout: auto; }
  .qt-table thead { display: none; }
  .qt-table, .qt-table tbody, .qt-table tr, .qt-table td { display: block; width: 100%; }
  .qt-table tr { position: relative; padding: 12px 14px; border-bottom: 1px solid var(--qt-line); }
  .qt-table.qt-table-with-actions tr { padding: 12px 92px 12px 14px; }
  .qt-table .qt-col-actions { position: absolute; top: 10px; right: 10px; width: auto; }
  .qt-table tbody tr:last-child { border-bottom: 0; }
  .qt-table td { height: auto; padding: 1px 0; border: 0; }
  .qt-table tbody tr:hover td { background: transparent; }
  .qt-table tbody tr:is(.qt-row-selected, .qt-row-current) { background: var(--qt-accent-soft); box-shadow: inset 3px 0 var(--qt-accent); }
  .qt-table tbody tr:is(.qt-row-selected, .qt-row-current) td, .qt-table tbody tr:is(.qt-row-selected, .qt-row-current) td:first-child { background: transparent; box-shadow: none; }
  .qt-table > tbody > tr.qt-row-selected { border-bottom-color: transparent; }
  .qt-table > tbody > tr.qt-row-panel { padding: 0; box-shadow: inset 3px 0 var(--qt-accent); }
  .qt-table > tbody > tr.qt-row-panel > td { padding: 0 0 6px 40px; box-shadow: none; }
  .qt-row-panel-action { margin-left: -40px; padding: 10px 14px 6px; }
  .qt-row-panel-action .qt-btn { width: 100%; padding-block: 8px; white-space: normal; }
  .qt-row-panel .qt-panel-empty { padding: 2px 14px 12px; }
  .qt-table-selectable > tbody > tr > .qt-col-usage { padding-left: 24px; }
  .qt-table tbody tr.qt-row-new { background: var(--qt-ok-soft); box-shadow: inset 3px 0 var(--qt-ok); }
  .qt-table tbody tr.qt-row-new td, .qt-table tbody tr.qt-row-new td:first-child { background: transparent; box-shadow: none; }
  .qt-table .qt-col-name { font-size: 15px; }
  .qt-table td[data-label]:not(:empty)::before { content: attr(data-label) ": "; color: var(--qt-muted); font-weight: 500; }
  .qt-table .qt-col-finished { width: auto; margin-top: 6px; }
  .qt-table .qt-col-active { width: auto; margin-top: 6px; }
  .qt-table .qt-col-default { width: auto; margin-top: 6px; }
  .qt-table .qt-col-vat-number { width: auto; }
  .qt-table .qt-col-usage { width: auto; color: var(--qt-muted); font-size: 13px; }
  .qt-table .qt-col-rate, .qt-table .qt-col-valid-from, .qt-table .qt-col-valid-to { width: auto; }
  .qt-table td.qt-num { text-align: left; }
  .qt-purchase-table tfoot { display: block; border-top: 2px solid var(--qt-line-strong); }
  .qt-total-row .qt-total-label { display: none; }
  .qt-filter-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 12px; }
  .qt-script .qt-filters[data-collapsed="true"] .qt-field:not(.qt-filter-always) { display: none; }
  .qt-script .qt-filters-toggle { display: inline-flex; }
  .qt-table-foot { flex-direction: column; align-items: stretch; justify-content: center; }
  .qt-table-foot .qt-pager { justify-content: center; }
  .qt-pager-edge { display: none; }
  .qt-report-table tfoot, .qt-report-table th { display: block; border: 0; }
  .qt-report-table th, .qt-report-table tr > :first-child, .qt-report-table tr > :last-child { padding: 1px 0; }
  .qt-report-table .qt-report-sum { display: flex; justify-content: space-between; }
  .qt-report-table .qt-report-sum > * { width: auto; }
  .qt-report-table .qt-report-sum > :empty { display: none; }
  .qt-report-table.qt-table-with-actions :is(.qt-report-group, .qt-report-sum) { padding-right: 14px; }
  .qt-report-pdf, .qt-report-bottom .qt-btn { width: 100%; }
  .qt-report-table td:first-child { font-size: 15px; font-weight: 600; }
  .qt-error-card .qt-btn { width: 100%; }
  .qt-panel-body { padding: 18px; }
  .qt-form-actions { padding: 14px 18px; }
  .qt-form-actions .qt-btn { flex: 1; }
  .qt-form-actions .qt-btn.qt-busy { flex-basis: auto; white-space: normal; }
  .qt-code-row { gap: 5px; }
  .qt-form-actions-wrap { flex-wrap: wrap; }
  .qt-qr-row { justify-content: center; }
  .qt-recovery-codes { grid-template-columns: minmax(0, 1fr); }
}

/* waarom: de bijlage staat pas naast het form op een heel breed scherm, een werkruimte vanaf 1656 px (05 §5.5): daar houdt de lijnentabel naast het paneel van 380 px nog 1144 px en toont ze elke kolom op haar volle breedte; smaller schoof de tabel in haar kader. Is het voorbeeld ingeklapt of is er geen, dan staat het paneel erboven en krijgt het form de hele breedte. Een container query op het kader zou het venster van de opmerking en elke vaste positie binnen het form aan dat kader binden, dus telt de zijbalk hier mee in de schermbreedte */
@media (min-width: 1920px) {
  .qt-form-split:has(> .qt-attachment:not([hidden]) .qt-attachment-preview[open]) { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 16px; align-items: start; }
  .qt-form-split:has(.qt-attachment-preview[open]) > .qt-attachment:not([hidden]) { position: sticky; top: 16px; order: 0; max-height: calc(100vh - 32px); margin-bottom: 0; overflow-y: auto; }
  .qt-form-split .qt-attachment-view { max-height: calc(100vh - 364px); }
  .qt-form-split .qt-attachment-view object { height: calc(100vh - 368px); }
}

@media (min-width: 1734px) and (max-width: 1919.98px) {
  .qt-app-collapsed .qt-form-split:has(> .qt-attachment:not([hidden]) .qt-attachment-preview[open]) { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 16px; align-items: start; }
  .qt-app-collapsed .qt-form-split:has(.qt-attachment-preview[open]) > .qt-attachment:not([hidden]) { position: sticky; top: 16px; order: 0; max-height: calc(100vh - 32px); margin-bottom: 0; overflow-y: auto; }
  .qt-app-collapsed .qt-form-split .qt-attachment-view { max-height: calc(100vh - 364px); }
  .qt-app-collapsed .qt-form-split .qt-attachment-view object { height: calc(100vh - 368px); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .001ms !important; animation-duration: .001ms !important; }
}

@media (max-width: 640px) {
  .qt-lines { margin: 8px -18px -18px; padding: 0 18px 16px; }
  .qt-lines-title { margin: 0 -18px 14px; padding: 14px 18px 12px; }
  .qt-lines-defaults { grid-template-columns: minmax(0, 1fr); }
  .qt-lines-count { margin-bottom: 12px; }
  .qt-lines-foot .qt-btn { width: 100%; }
  .qt-purchase-table :is(td, tr > :first-child) { padding-inline: 0; }
  .qt-purchase-table.qt-table-with-actions tr { padding-right: 122px; }
}
