/* Portal: dokumenty online są wyłączone ze wspólnych komponentów, także przy drukowaniu. */
@media screen {
/* R4: Perfex ustawia a { outline:none !important }; ring obejmuje także
   linki zakładek, akcji wierszy i dropdownów. */
html.fwui-portal a:focus-visible { outline: 2px solid var(--fwui-cyan) !important; outline-offset: 2px; }


html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) {
  color: var(--fwui-foreground);
  background: var(--fwui-background);
  font-family: var(--fwui-font-sans);
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(h1, h2, h3, h4) {
  color: var(--fwui-navy);
  font-family: var(--fwui-font-display);
  font-weight: 600;
  letter-spacing: -.01em;
}
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) h1 { font-size: 28px; line-height: 1.2; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) h2 { font-size: 26px; line-height: 1.5; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) h3 { font-size: 17px; line-height: 1.5; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) h4 { font-size: 17px; line-height: 1.5; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) a { color: var(--fwui-navy); text-decoration-color: var(--fwui-cyan); text-underline-offset: 3px; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) a:hover { color: var(--fwui-navy); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(.text-muted, .help-block, .text-neutral-500, .tw-text-neutral-500, .tw-text-neutral-600) { color: var(--fwui-ink-muted); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--fwui-cyan);
  outline-offset: 2px;
}
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .checkbox input:focus-visible + label::before,
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .radio input:focus-visible + label::before {
  outline: 2px solid var(--fwui-cyan);
  outline-offset: 2px;
}
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .btn {
  min-height: 40px;
  padding: 9px 18px;
  border-radius: var(--fwui-radius);
  font-family: var(--fwui-font-display);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  box-shadow: none;
  text-transform: none;
  white-space: normal;
  transition: background-color var(--fwui-motion) var(--fwui-ease), border-color var(--fwui-motion) var(--fwui-ease);
}
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(.btn-primary, .btn-primary:focus, .btn-success, .btn-success:focus) {
  color: var(--fwui-navy);
  background-color: var(--fwui-brass);
  border-color: var(--fwui-brass);
}
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(.btn-primary, .btn-success):is(:hover, :active, .active),
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .open > :is(.btn-primary, .btn-success).dropdown-toggle {
  color: var(--fwui-navy);
  background-color: #c29a5b;
  border-color: #c29a5b;
}
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(.btn-info, .btn-danger, .btn-info:focus, .btn-danger:focus) {
  color: var(--fwui-offwhite);
  background-color: var(--fwui-navy);
  border-color: var(--fwui-navy);
}
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(.btn-info, .btn-danger):is(:hover, :active, .active),
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .open > :is(.btn-info, .btn-danger).dropdown-toggle { color: #fff; background-color: #214260; border-color: #214260; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(.btn-default, .btn-default:focus) {
  color: var(--fwui-navy);
  background-color: var(--fwui-card);
  border-color: var(--fwui-button-border);
  font-weight: 500;
}
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .btn-default:is(:hover, :active, .active),
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .open > .btn-default.dropdown-toggle { color: var(--fwui-navy); background-color: var(--fwui-hover); border-color: var(--fwui-button-border); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .btn-warning { color: var(--fwui-navy); background: var(--fwui-accent); border-color: var(--fwui-brass); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .btn-warning:is(:hover, :focus, :active) { color: var(--fwui-navy); background: #eadbc3; border-color: var(--fwui-brass); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .btn-link { color: var(--fwui-navy); background: transparent; border-color: transparent; text-decoration: underline; text-decoration-color: var(--fwui-cyan); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .btn-link:hover { background: var(--fwui-hover); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(.btn-sm, .btn-xs) { min-height: 36px; padding: 7px 14px; font-size: 13px; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .btn-lg { min-height: 44px; padding: 11px 22px; font-size: 15px; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .btn-icon { min-width: 36px; padding-inline: 10px; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .btn-group > .btn:last-child:not(:first-child),
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .btn-group > .dropdown-toggle:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(.btn.disabled, .btn[disabled]) { opacity: .45; cursor: not-allowed; box-shadow: none; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .form-group { margin-bottom: 20px; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(label, .control-label) { color: var(--fwui-navy); font-weight: 500; font-size: 14px; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .form-group > label { margin-bottom: 8px; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .form-control:where(:not(.bootstrap-select)) {
  height: var(--fwui-control-height);
  padding: 8px 12px;
  color: var(--fwui-navy);
  background: var(--fwui-card);
  border: 1px solid var(--fwui-input-border);
  border-radius: var(--fwui-radius);
  box-shadow: none;
  font-family: var(--fwui-font-sans);
  font-size: 14px;
  line-height: 20px;
}
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .form-control::placeholder { color: var(--fwui-ink-muted); opacity: 1; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .form-control:focus { border-color: var(--fwui-cyan); box-shadow: 0 0 0 2px var(--fwui-card), 0 0 0 4px var(--fwui-cyan); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) textarea.form-control { height: auto; min-height: 100px; resize: vertical; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) select.form-control[multiple] { height: auto; min-height: 114px; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .form-control:is([disabled], [readonly]) { color: var(--fwui-ink-muted); background: var(--fwui-offwhite); cursor: not-allowed; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .input-group-addon { color: var(--fwui-ink-muted); background: var(--fwui-offwhite); border-color: var(--fwui-input-border); border-radius: var(--fwui-radius); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .input-group .form-control:not(:first-child):not(:last-child) { border-radius: 0; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .input-group .form-control:first-child,
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .input-group-addon:first-child { border-top-right-radius: 0; border-bottom-right-radius: 0; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .input-group .form-control:last-child,
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .input-group-addon:last-child { border-top-left-radius: 0; border-bottom-left-radius: 0; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .input-group-btn > .btn { min-height: 38px; padding-block: 8px; }
/* R4: wrapper nie jest drugim polem; ramkę rysuje wyłącznie przycisk. */
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .bootstrap-select.form-control { height: auto; padding: 0; border: 0; background: transparent; box-shadow: none; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .bootstrap-select { max-width: 100%; min-width: 0; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .bootstrap-select > .dropdown-toggle { width: 100%; max-width: 100%; box-sizing: border-box; border-color: var(--fwui-input-border); min-height: 38px; padding: 8px 30px 8px 12px; font-family: var(--fwui-font-sans); font-weight: 400; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .bootstrap-select .dropdown-menu { max-width: 100%; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .bootstrap-select .dropdown-menu li a { white-space: normal; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .select2-container .select2-selection { min-height: 38px; border: 1px solid var(--fwui-input-border); border-radius: var(--fwui-radius); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--fwui-navy); line-height: 36px; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .select2-dropdown { border-color: var(--fwui-input-border); border-radius: var(--fwui-radius); box-shadow: var(--fwui-shadow-lg); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .select2-container--default .select2-results__option--highlighted[aria-selected] { color: var(--fwui-navy); background: var(--fwui-accent); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .checkbox label::before,
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .radio label::before { border-color: var(--fwui-button-border); background: var(--fwui-card); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .checkbox label::before { border-radius: 4px; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .checkbox input[type="checkbox"]:checked + label::before { background: var(--fwui-navy); border-color: var(--fwui-navy); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .checkbox input[type="checkbox"]:checked + label::after { color: var(--fwui-offwhite); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .radio input[type="radio"]:checked + label::before { border-color: var(--fwui-navy); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .radio input[type="radio"]:checked + label::after { background: var(--fwui-navy); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) input:is([type="checkbox"], [type="radio"]) { accent-color: var(--fwui-navy); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(.has-error .form-control, .has-error .bootstrap-select > .dropdown-toggle, .form-control[aria-invalid="true"]) { border-color: var(--fwui-error); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(.has-error .help-block, .has-error .control-label, label.error, p.text-danger, .text-danger) { color: var(--fwui-error); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(label.error, p.text-danger, .has-error .help-block) { margin-top: 8px; font-size: 14px; line-height: 1.5; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .dropdown-menu { padding: 6px; background: var(--fwui-card); color: var(--fwui-navy); border: 1px solid var(--fwui-border); border-radius: var(--fwui-radius); box-shadow: var(--fwui-shadow-lg); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .dropdown-menu > li > a { min-height: 36px; padding: 8px 12px; color: var(--fwui-navy); border-radius: 4px; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .dropdown-menu > li > a:is(:hover, :focus),
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .dropdown-menu > .active > a { color: var(--fwui-navy); background: var(--fwui-accent); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .dropdown-menu > .disabled > a { color: var(--fwui-ink-muted); background: transparent; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .dropdown-menu .divider { background: var(--fwui-border); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .dropdown-header { color: var(--fwui-ink-muted); font-family: var(--fwui-font-mono); font-size: 11px; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .modal-content { background: var(--fwui-offwhite); border: 1px solid var(--fwui-border); border-radius: var(--fwui-radius-card); box-shadow: var(--fwui-shadow-lg); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(.modal-header, .modal-body, .modal-footer) { padding: 20px 24px; border-color: var(--fwui-border); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .modal-title { font-family: var(--fwui-font-display); font-size: 18px; font-weight: 600; color: var(--fwui-navy); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .modal-header .close { color: var(--fwui-navy); opacity: .75; text-shadow: none; min-width: 32px; min-height: 32px; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .modal-backdrop { background: var(--fwui-navy); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .modal-backdrop.in { opacity: .8; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .alert { border: 1px solid var(--fwui-border); border-radius: var(--fwui-radius-card); padding: 16px; font-size: 14px; line-height: 1.5; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .alert-info { background: #edf4f8; color: var(--fwui-navy); border-color: var(--fwui-cyan); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .alert-warning { background: #faf4e9; color: var(--fwui-warning-ink); border-color: var(--fwui-brass); border-left-width: 4px; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .alert-success { background: var(--fwui-success-bg); color: var(--fwui-success); border-color: #a8c9b3; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .alert-danger { background: var(--fwui-error-bg); color: var(--fwui-error); border-color: #e5aaa5; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .alert a { color: inherit; text-decoration: underline; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .float-alert { box-shadow: var(--fwui-shadow-lg); max-width: calc(100vw - 32px); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .xdsoft_datetimepicker { color: var(--fwui-navy); background: var(--fwui-card); border: 1px solid var(--fwui-border); border-radius: var(--fwui-radius); box-shadow: var(--fwui-shadow-lg); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .xdsoft_datetimepicker .xdsoft_calendar td { color: var(--fwui-navy); background: var(--fwui-offwhite); border-color: var(--fwui-border); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current { background: var(--fwui-navy); color: var(--fwui-offwhite); box-shadow: none; }

html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .panel_s { border: 0; border-radius: var(--fwui-radius-card); background: transparent; box-shadow: none; margin-bottom: 20px; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .panel_s > .panel-body { --fwui-panel-padding: 24px; padding: 20px 24px; border: 1px solid var(--fwui-border); border-radius: var(--fwui-radius-card); background: var(--fwui-card); box-shadow: none; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .panel_s > .panel-heading { padding: 16px 24px; color: var(--fwui-navy); background: var(--fwui-card); border: 1px solid var(--fwui-border); border-radius: 12px 12px 0 0; font-family: var(--fwui-font-display); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .panel_s > .panel-heading + .panel-body { border-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .panel_s > .panel-footer { border-color: var(--fwui-border); background: var(--fwui-offwhite); border-radius: 0 0 12px 12px; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(.table-responsive, .s_table, .dataTables_scrollBody) { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .dataTables_wrapper { max-width: 100%; min-width: 0; }
/* R2: margines producenta musi odpowiadać paddingowi karty. */
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .panel-table-full .dataTables_wrapper .table-responsive {
  width: calc(100% + 2 * var(--fwui-panel-padding, 24px)); max-width: none;
  margin-inline: calc(-1 * var(--fwui-panel-padding, 24px));
}
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .dataTables_wrapper:not(:has(.table-responsive)) { overflow-x: auto; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) table.dataTable { width: 100% !important; } /* DataTables zapisuje szerokość inline. */
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) table.dataTable > tbody > tr { height: var(--fwui-table-row-height, 46px); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) table.dataTable :is(a[href^="tel:"], time, .dt-body-right, .dt-type-numeric, .dt-type-date, .tw-tabular-nums) { white-space: nowrap; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) table.dataTable .checkbox { margin-block: 0; min-height: 21px; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) table.dataTable .checkbox label { display: inline-block; visibility: visible; min-height: 17px; }

html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(.table, table.dataTable) { color: var(--fwui-navy); background: var(--fwui-card); width: 100%; font-size: 14px; line-height: 21px; font-variant-numeric: tabular-nums; --fwui-table-row-height: 46px; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(.table, table.dataTable) > thead > tr > th {
  padding: 12px 14px;
  color: var(--fwui-ink-muted);
  background-color: var(--fwui-offwhite);
  border-bottom: 1px solid var(--fwui-border);
  font-family: var(--fwui-font-mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .10em;
  text-transform: uppercase;
  vertical-align: middle;
}
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(.table, table.dataTable) > tbody > tr > td { padding: 12px 14px; border-top: 1px solid var(--fwui-row-border); vertical-align: top; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(.table-hover, table.dataTable) > tbody > tr:hover > td { background-color: var(--fwui-row-hover); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) table.dataTable > thead > tr > :is(.sorting, .sorting_asc, .sorting_desc) { padding-right: 30px; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) table.dataTable > thead > tr > :is(.sorting, .sorting_asc, .sorting_desc)::after { color: var(--fwui-navy); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) table.dataTable .row-options { font-size: 13px; line-height: 21px; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) table.dataTable tr:focus-within .row-options { position: static; visibility: visible; opacity: 1; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(.dataTables_length, .dataTables_filter) { margin-bottom: 12px; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(.dataTables_length, .dataTables_filter) label { font-weight: 400; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .dataTables_filter input { min-height: 38px; padding: 8px 12px; border: 1px solid var(--fwui-input-border); border-radius: var(--fwui-radius); background: var(--fwui-card); color: var(--fwui-navy); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .dt-buttons .btn { min-height: 36px; padding: 7px 12px; font-size: 13px; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .dataTables_info { padding-top: 16px; color: var(--fwui-ink-muted); font-family: var(--fwui-font-mono); font-size: 12px; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .dataTables_paginate .pagination { display: flex; flex-wrap: wrap; gap: 4px; margin-block: 12px 0; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .dataTables_paginate .pagination > li > a { min-width: 36px; min-height: 36px; padding: 7px 10px; border: 1px solid var(--fwui-button-border); border-radius: var(--fwui-radius); color: var(--fwui-navy); background: var(--fwui-card); font-family: var(--fwui-font-display); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .dataTables_paginate .pagination > li > a:hover { background: var(--fwui-hover); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .dataTables_paginate .pagination > .active > a { background: var(--fwui-navy); border-color: var(--fwui-navy); color: var(--fwui-offwhite); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .dataTables_paginate .pagination > .disabled > a { color: var(--fwui-ink-muted); background: var(--fwui-offwhite); cursor: not-allowed; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(.table, table.dataTable) > tbody > tr > td.dataTables_empty { padding: 40px 24px; color: var(--fwui-ink-muted); text-align: center; white-space: normal; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .nav-tabs { border-bottom: 1px solid var(--fwui-border); background: transparent; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .nav-tabs > li > a { padding: 12px 16px; color: var(--fwui-ink-muted); font-family: var(--fwui-font-display); font-weight: 500; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .nav-tabs > li > a:is(:hover, :focus) { background: var(--fwui-hover); border-color: transparent; color: var(--fwui-navy); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .nav-tabs > li.active > a,
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .nav-tabs > li.active > a:is(:hover, :focus) { background: transparent; border: 0; border-bottom: 2px solid var(--fwui-navy); color: var(--fwui-navy); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(.label, .badge) { font-family: var(--fwui-font-mono); font-size: 11px; font-weight: 500; line-height: 1.5; border-radius: 9999px; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .label { padding: 3px 8px; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .label-default { color: var(--fwui-ink-muted); background: var(--fwui-offwhite); border-color: var(--fwui-button-border); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(.label-info, .label-primary) { color: var(--fwui-navy); background: var(--fwui-assigned); border-color: var(--fwui-cyan); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .label-success { color: var(--fwui-success); background: var(--fwui-success-bg); border-color: #a8c9b3; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .label-warning { color: var(--fwui-warning-ink); background: #faf4e9; border-color: var(--fwui-brass); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .label-danger { color: var(--fwui-error); background: var(--fwui-error-bg); border-color: #e5aaa5; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .label :is(a, .caret) { color: inherit; }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .badge { padding: 3px 6px; color: var(--fwui-offwhite); background: var(--fwui-navy); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .onoffswitch-label { border-color: var(--fwui-button-border); background: var(--fwui-canvas); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .onoffswitch-inner::before { background: var(--fwui-navy); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .onoffswitch-inner::after { background: var(--fwui-canvas); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .onoffswitch-switch { border-color: var(--fwui-button-border); background: var(--fwui-card); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .onoffswitch-checkbox:checked + .onoffswitch-label { background: var(--fwui-navy); border-color: var(--fwui-navy); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .onoffswitch-checkbox:focus-visible + .onoffswitch-label { outline: 2px solid var(--fwui-cyan); outline-offset: 2px; }

@media (max-width: 767px) {
  html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .panel_s > .panel-body { --fwui-panel-padding: 14px; padding: 16px 14px; }
  html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(.modal-header, .modal-body, .modal-footer) { padding: 16px; }
  html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .modal-dialog { margin: 12px; }
  html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .modal-footer .btn { margin-bottom: 6px; }
  html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .dataTables_wrapper { padding-bottom: 4px; }
  html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .dataTables_wrapper > .row { margin-inline: 0; }
  html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) table.dataTable { min-width: 640px; }
  html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(.dataTables_filter, .dataTables_length, .dt-buttons) { float: none; text-align: start; }
  html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .dataTables_filter input { max-width: calc(100vw - 120px); }
  html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .dataTables_paginate .pagination { justify-content: flex-start; }
  html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) :is(.float-alert, [id^="alert_float_"]) { max-width: calc(100vw - 24px); }
}

html.fwui-portal body { background: var(--fwui-offwhite); }
html.fwui-portal #wrapper #content > .container { max-width: 100%; }
html.fwui-portal #wrapper { background: var(--fwui-offwhite); min-width: 0; }
html.fwui-portal .navbar.header { background: var(--fwui-card); border: 0; border-bottom: 1px solid var(--fwui-border); box-shadow: none; }
html.fwui-portal .navbar.header .navbar-brand { background: var(--fwui-navy); border-radius: 8px; padding: 10px 14px; margin-block: 12px; height: auto; }
html.fwui-portal .navbar.header .navbar-brand img { max-width: 190px; max-height: 36px; }
html.fwui-portal .navbar.header .navbar-nav > li > a { color: var(--fwui-ink-muted); font-family: var(--fwui-font-display); font-size: 14px; font-weight: 500; }
html.fwui-portal .navbar.header .navbar-nav > li > a:is(:hover, :focus),
html.fwui-portal .navbar.header .navbar-nav > li.active > a { color: var(--fwui-navy); background: var(--fwui-accent); }
html.fwui-portal .navbar.header .navbar-toggle { margin-top: 16px; border: 1px solid var(--fwui-input-border); border-radius: 8px; padding: 12px; }
html.fwui-portal .navbar.header .navbar-toggle .icon-bar { background: var(--fwui-navy); }
html.fwui-portal .navbar.header .navbar-collapse { border-color: var(--fwui-border); }
html.fwui-portal footer { color: var(--fwui-ink-muted); background: var(--fwui-offwhite); border-top: 1px solid var(--fwui-border); }
/* Obudowa publicznego dokumentu: brak selektorów do treści, tabel kwot i warunków. */
html.fwui-portal .preview-top-wrapper { padding: 16px 0; }
html.fwui-portal .preview-top-wrapper .top { background: var(--fwui-card); border: 1px solid var(--fwui-border); border-radius: 12px; padding: 16px; }
html.fwui-portal .preview-top-wrapper :is(.invoice-html-logo, .estimate-html-logo) { display: inline-block; padding: 12px 16px; background: var(--fwui-navy); border-radius: 8px; }
html.fwui-portal .preview-top-wrapper .action-button { min-height: 40px; padding: 9px 16px; border-radius: 8px; font-family: var(--fwui-font-display); }
@media (max-width: 767px) {
  html.fwui-portal #wrapper #content > .container { width: auto; max-width: 100%; padding-inline: 16px; }
  html.fwui-portal .navbar.header .navbar-brand { margin-left: 0; }
  html.fwui-portal .navbar.header .navbar-nav > li > a { min-height: 44px; }
  html.fwui-portal .preview-top-wrapper .top { padding: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html.fwui-portal :is(.btn, .modal, .modal-dialog, .dropdown-menu) { animation: none; transition: none; }
}
html.fwui-portal.fwui-reduced-motion :is(.btn, .modal, .modal-dialog, .dropdown-menu) { animation: none; transition: none; }

/* Checkbox producenta ma display:none; przywracamy natywne wejście do kolejności Tab. */
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .onoffswitch-checkbox { display: block; position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; clip-path: inset(50%); }
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .onoffswitch-checkbox:checked + .onoffswitch-label::before { border-color: var(--fwui-navy); }
/* !important: bootstrap-select w vendor-admin.css wymusza własny outline. */
html.fwui-portal body:not(.viewinvoice):not(.viewestimate):not(.proposal-view):not(.contract-view) .bootstrap-select > .dropdown-toggle:focus-visible { outline: 2px solid var(--fwui-cyan) !important; outline-offset: 2px; }
}
