:root { --bs-body-bg: #f4f7fa; --bs-body-color: #23344b; --bs-primary: #2463b4; --bs-link-color: #2463b4; --bs-link-hover-color: #174d92; }
body { min-height: 100vh; display: flex; flex-direction: column; }
.app-header { background: #fff; border-bottom: 1px solid #e1e7ee; }
.app-brand { display: inline-flex; align-items: center; gap: .6rem; font-size: 1.15rem; font-weight: 700; color: #20344d; white-space: nowrap; }
  .brand-mark { display: inline-block; width: 1.85rem; height: 1.85rem; border-radius: .45rem; background: #203e67; object-fit: contain; }
.app-nav-link { color: #67758a; font-size: .9rem; text-decoration: none; padding: .35rem 0; }
.app-nav-link:hover, .app-nav-link.is-active { color: #204f8b; }
.app-nav-link.is-active { font-weight: 600; }
.app-main { flex: 1; padding-top: 3rem; padding-bottom: 3rem; }
.app-main-auth { display: flex; align-items: center; padding-top: 3.5rem; padding-bottom: 3.5rem; }
.page-heading h1 { font-size: clamp(1.65rem, 4vw, 2.15rem); font-weight: 650; letter-spacing: -.025em; }
.page-intro { max-width: 47rem; }
.eyebrow { color: #687a91; font-size: .75rem; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; }
.app-card { border: 1px solid #e0e7ef; border-radius: .75rem; background: #fff; box-shadow: 0 .2rem 1rem rgba(24, 44, 73, .035); }
.auth-card { width: 100%; max-width: 27rem; }
.status-dot { display: inline-block; width: .5rem; height: .5rem; background: #35855c; border-radius: 50%; }
.form-label { font-size: .9rem; font-weight: 600; }
.form-control { min-height: 2.75rem; border-color: #cbd5e2; }
.form-control:focus { border-color: #4881c7; box-shadow: 0 0 0 .2rem rgba(36, 99, 180, .16); }
.btn-primary { --bs-btn-bg: #2463b4; --bs-btn-border-color: #2463b4; --bs-btn-hover-bg: #1c5195; --bs-btn-hover-border-color: #1c5195; --bs-btn-active-bg: #17477f; --bs-btn-active-border-color: #17477f; --bs-btn-focus-shadow-rgb: 36, 99, 180; }
.btn { font-weight: 600; padding: .6rem 1rem; }
a:focus-visible, button:focus-visible { outline: 3px solid #6598d9; outline-offset: 3px; }
.app-footer { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 1.25rem; color: #7b889b; font-size: .75rem; }
@media (max-width: 575.98px) { .app-main { padding-top: 2rem; padding-bottom: 2rem; } .app-main-auth { align-items: flex-start; } .app-brand { font-size: 1rem; } .app-footer { flex-wrap: wrap; } }
/* Naturalna szerokość tabeli; przewijanie dopiero po przekroczeniu ekranu. */
.cards-table-wrap { max-width: 100%; overflow-x: auto; }
.cards-table { width: auto; min-width: 0; margin-bottom: 0; font-size: .8125rem; line-height: 1.25; }
.cards-table > :not(caption) > * > * { padding: .125rem .25rem; }
.cards-table td:nth-child(3), .cards-table td:nth-child(4), .cards-table td:nth-child(6), .cards-table td:nth-child(7), .cards-table td:nth-child(10), .cards-table td:nth-child(12) { overflow-wrap: anywhere; }
.cards-table td:nth-child(3) { min-width: 8rem; max-width: 13rem; }
.cards-table td:nth-child(4) { max-width: 11rem; }
.cards-table td:nth-child(6), .cards-table td:nth-child(7) { max-width: 12rem; }
.cards-table td:nth-child(10), .cards-table td:nth-child(12) { max-width: 14rem; }
.cards-table th { white-space: nowrap; }
/* Kolejka nie dziedziczy szerokości kolumn przeznaczonych na nazwę i adres firmy. */
.cards-table.scan-queue-table td { min-width: 0; max-width: none; white-space: nowrap; overflow-wrap: normal; }
.cards-table .btn { font-size: inherit; line-height: 1; }
.cards-table .badge { padding: .2em .35em; font-size: .75em; }
/* Gęsty widok roboczy listy nie zmienia rozmiarów formularzy innych modułów. */
.cards-page { font-size: .875rem; }
.cards-page .page-heading { margin-bottom: .75rem !important; }
.cards-page .page-heading h1 { font-size: 1.4rem; margin-bottom: .35rem; }
.cards-page .page-heading p { margin-bottom: .35rem; }
.cards-page > .text-secondary { margin-bottom: .75rem !important; }
.cards-page > form { margin-bottom: .75rem !important; }
.cards-page > form .card-body { padding: .5rem .75rem; gap: .5rem .75rem !important; }
.cards-page .form-label { font-size: .8125rem; margin-bottom: .15rem; }
.cards-page .form-control, .cards-page .form-select { min-height: 0; padding: .25rem .4rem; font-size: .875rem; }
.cards-page .form-select { padding-right: 1.75rem; }
.cards-page > form .btn { padding: .3rem .55rem; font-size: .875rem; }
.cards-page .cards-days { width: 5rem; }
.cards-page #card-ids { width: 12rem; max-width: 100%; }
.cards-page #card-comment { width: 14rem; max-width: 100%; }
.cards-page small { display: block; font-size: .7rem; }
.cards-page > .alert { padding: .5rem .75rem; margin-bottom: .75rem; }
.cards-page > p { margin-bottom: .5rem; }
/* Zwarta karta i formularz zachowują czytelność na wąskich ekranach. */
.cards-detail { font-size: .875rem; }
.cards-detail .page-heading h1 { font-size: 1.4rem; margin-bottom: .35rem; }
.cards-detail h2 { font-size: 1.1rem; margin-bottom: .35rem; }
.cards-detail p { margin-bottom: .4rem; }
.cards-detail .mb-4 { margin-bottom: .85rem !important; }
.cards-detail .alert { padding: .5rem .75rem; }
.cards-detail .table { width: auto; font-size: .8125rem; line-height: 1.25; }
.cards-detail .table > :not(caption) > * > * { padding: .2rem .35rem; }
.cards-detail .table td { max-width: 38rem; overflow-wrap: anywhere; }
.cards-detail pre { white-space: pre-wrap; overflow-wrap: anywhere; margin-bottom: .4rem; }
.cards-detail .form-label { font-size: .8125rem; margin-bottom: .15rem; }
.cards-detail .form-control, .cards-detail .form-select { min-height: 0; padding: .25rem .4rem; font-size: .875rem; }
.cards-detail .form-select { padding-right: 1.75rem; }
.cards-detail .btn { padding: .3rem .55rem; font-size: .8125rem; }
.cards-edit-help { margin: .4rem 0 .6rem; }
.cards-edit-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: .5rem .75rem; max-width: 64rem; margin-bottom: .65rem; }
.cards-edit-field { min-width: 0; }
.cards-edit-field > label:last-child { font-size: .7rem; }
.cards-edit-comment textarea { min-height: 4.5rem; }
.cards-shortcuts { display: flex; flex-wrap: wrap; gap: .3rem; }
.cards-shortcuts form { margin-bottom: 0 !important; }
.authinfo-icon { display: inline-block; vertical-align: middle; }
.authinfo-wholesale { color: #b65c00; }

/* Widoki robocze rosną płynnie do ekranu, bez progów maksymalnej szerokości Bootstrap. */
.app-main-wide { max-width: none; min-width: 0; padding: .75rem clamp(.25rem, 1vw, 1rem) 1.5rem; }
.cards-main-wrap { overflow: visible; width: fit-content; max-width: 100%; margin-inline: auto; }
.cards-main-table { width: auto; max-width: none; font-size: 15px; line-height: 1.15; border-color: #c4d1d9; margin-inline: auto; }
.cards-main-table > :not(caption) > * > * { padding: 2px 3px; min-width: 0; max-width: none; white-space: normal; overflow-wrap: anywhere; }
.cards-main-table > thead > tr > th { background: #edf3f6; text-align: center; vertical-align: middle; position: sticky; top: 0; z-index: 5; }
.cards-main-table > tbody > tr > td { background-color: transparent; }
.cards-main-table > tbody > tr > td:nth-child(3) { min-width: 0; max-width: 150px; }
.cards-main-table > tbody > tr > td:nth-child(2) { background: #ffffe5; color: #000; font-weight: 700; text-align: center; white-space: nowrap; border-inline: 2px solid #ac9b39; }
.cards-main-table > tbody > tr > td:nth-child(5) { max-width: 85px; }
.cards-main-table > tbody > tr > td:nth-child(8), .cards-main-table > tbody > tr > td:nth-child(9) { text-align: left; max-width: 125px; }
.cards-main-table > tbody > tr > td:nth-child(12) { min-width: 168px; max-width: none; white-space: nowrap; overflow-wrap: normal; }
.cards-main-table > tbody > tr > td:nth-child(13) { min-width: 34px; padding-inline: 6px; text-align: center; white-space: nowrap; }
.cards-main-table > tbody > tr > td:nth-child(14) { max-width: 170px; }
.cards-main-table > tbody > tr > td:nth-child(29) { max-width: 180px; }
.cards-main-table td.cards-contact { text-align: center; }
.cards-main-table .cards-provider > a, .cards-main-table .cards-provider > span:not(.authinfo-icon) { overflow-wrap: anywhere; }
.cards-icon { display: inline-block; width: 17px; height: 17px; vertical-align: middle; flex-shrink: 0; stroke-width: 3; }
.cards-icon-button, .cards-expand { display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 0; background: transparent; color: inherit; text-decoration: none; line-height: 1; vertical-align: middle; }
.cards-icon-button { min-width: 14px; min-height: 15px; }
.cards-icon-button:disabled { cursor: not-allowed; }
.cards-expand { color: #23344b; }
.cards-main-table form { display: inline; margin: 0; }
.cards-main-table .cards-scans { max-width: 145px; }
.cards-main-table .cards-scans > span { white-space: nowrap; }
.cards-main-table .cards-www > span { display: block; }
.cards-main-table .cards-status-0 { background-color: #f7e4c0; color: #000; }
.cards-main-table .cards-status-1 { background-color: #f7c464; color: #000; }
.cards-main-table .cards-status-2 { background-color: #d9ffc4; color: #000; }
.cards-main-table .cards-status-3 { background-color: #acff7e; color: #000; }
.cards-main-table .cards-status-4 { background-color: #5bff00; color: #000; }
.cards-main-table .cards-status-9 { background-color: #8e8e8e; color: #000; }
.cards-main-table .cards-green { color: #08732d; } .cards-main-table .cards-blue { color: #0865ae; } .cards-main-table .cards-red { color: #d90032; }
.cards-main-table .cards-orange { color: #b75c00; } .cards-main-table .cards-purple { color: #7951aa; }
.cards-main-table .cards-row-off { background-color: #171717; color: #fff; --bs-table-color: #fff; }
.cards-main-table .cards-row-off .cards-expand { color: #fff; }
.cards-main-table .cards-row-effect-7 { background-color: #ceffd3; }
.cards-main-table .cards-row-effect-3 { background-color: #edebff; }
.cards-main-table > tbody > tr:not(.cards-inline-row):hover > td { background-color: #ffff00 !important; color: #000 !important; border-color: #3800ff; }
.cards-main-table > tbody > tr:not(.cards-inline-row):hover > td a,
.cards-main-table > tbody > tr:not(.cards-inline-row):hover > td .cards-expand,
.cards-main-table > tbody > tr:not(.cards-inline-row):hover > td .cards-icon-button { color: #000 !important; }
.cards-main-table .cards-wp { text-align: center; white-space: nowrap; }
.cards-main-table .cards-wp.cards-status-1 { background: #ffff00; color: #d90032; font-weight: 700; }
.cards-main-table .cards-www a { color: #174d92; }
.cards-main-table .cards-www.cards-red a { color: #d90032; }
.cards-main-table .cards-ssl { text-align: center; white-space: nowrap; }
.cards-main-table .cards-offer { text-align: center; white-space: nowrap; }
.cards-row-outside-filter { opacity: .65; }
.cards-main-table > tbody > .cards-inline-row > td { padding: .5rem; max-width: none; background: #f4f9fd; border: 1px solid #8fb7d4; }
.cards-inline-row .cards-detail { font-size: 13px; }
.cards-inline-row .cards-detail .table { max-width: 100%; }
.cards-inline-row .cards-detail .table td, .cards-inline-row .cards-detail .table th { white-space: normal; overflow-wrap: anywhere; }
.cards-inline-row .cards-table-wrap { overflow: visible; }
.cards-inline-row .cards-detail form { display: block; }
.cards-inline-row .cards-shortcuts form { display: inline-block; }
.cards-inline-row .cards-detail .page-heading h1 { font-size: 1rem; }
.cards-inline-row .cards-edit-grid { max-width: none; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); }
