/* GENERATED ETAP 124 — source sections retain cascade order. Edit source files, then rebuild this bundle. */

/* START app.css */
@charset "UTF-8";
/* TRANSPORT · Etap 20 · Jeden wspólny CSS. Sekcje ułożone: baza → komponenty → transport → system UI. */

/* === style.css: kompatybilność istniejących widoków === */
:root{--app-sidebar-width:282px;--navy:#262626;--purple:#856a00;--blue:#856a00;--border:#f0f0eb;--text:#262626;--muted:#696964}*{box-sizing:border-box}body{background:#f7f7f4;min-height:100vh;color:var(--text);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}.app-sidebar{width:var(--app-sidebar-width);background:linear-gradient(180deg,#262626 0%,#262626 100%);color:white;position:fixed;inset:0 auto 0 0;z-index:1030;display:flex;flex-direction:column;box-shadow:.5rem 0 1.25rem rgba(0,0,0,.12)}.app-sidebar-brand{min-height:84px;display:flex;align-items:center;gap:13px;padding:1rem 1.35rem;border-bottom:1px solid rgba(255,255,255,.08);color:#fff;text-decoration:none;font-weight:800;font-size:18px;letter-spacing:-.03em}.app-sidebar-brand small{display:block;font-size:10px;letter-spacing:.24em;color:#a0a09a;margin-top:3px}.brand-symbol{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:#ffe600;font-size:21px}.sidebar-label{font-size:10px;letter-spacing:.15em;color:#696964;padding:30px 25px 12px;font-weight:700}.app-sidebar-nav{padding:0 .8rem}.app-sidebar-nav .nav-link{color:rgba(255,255,255,.70);border-radius:.75rem;padding:.83rem .85rem;margin-bottom:.25rem;display:flex;align-items:center;gap:.85rem;font-size:14px;transition:.2s}.app-sidebar-nav .nav-link i{font-size:19px}.app-sidebar-nav .nav-link:hover{color:#fff;background:rgba(255,255,255,.08)}.app-sidebar-nav .nav-link.active{color:#fff;background:#ffe600;box-shadow:0 .6rem 1rem rgba(255,229,0,.22)}.sidebar-bottom{margin:auto 15px 23px;padding:15px 12px;border:1px solid rgba(255,255,255,.10);border-radius:13px;display:flex;gap:11px;background:rgba(255,255,255,.035)}.sidebar-bottom-icon{color:#ead88c;font-size:23px}.sidebar-bottom strong{display:block;font-size:12px}.sidebar-bottom span{display:block;color:#a0a09a;font-size:11px;line-height:1.5;margin-top:5px}.app-main{margin-left:var(--app-sidebar-width);min-height:100vh;display:flex;flex-direction:column}.app-topbar{min-height:72px;background:rgba(255,255,255,.96);border-bottom:1px solid #f0f0eb;position:sticky;top:0;z-index:1010}.breadcrumb-label{font-size:13px;color:#696964}.breadcrumb-label i:first-child{color:#696964}.topbar-status{font-size:12px;color:#696964;background:#f4f7fa;border:1px solid #e9edf3;border-radius:100px;padding:8px 13px}.topbar-status i{color:#20b486;font-size:8px}.main-content{padding:56px 36px 56px;flex:1}.content-wrapper{max-width:980px;margin:auto}.heading-block{margin-bottom:43px}.eyebrow{font-size:11px;letter-spacing:.13em;color:#806900;font-weight:800;margin-bottom:17px}.eyebrow-line{display:inline-block;vertical-align:middle;background:#856a00;width:23px;height:2px;margin-right:8px}.heading-block h1{font-weight:780;font-size:clamp(27px,3vw,37px);letter-spacing:-.045em;margin-bottom:11px}.heading-block p{font-size:15px;color:#696964;margin:0}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:19px}.section-heading h2{font-size:18px;font-weight:750;letter-spacing:-.02em;margin:0 0 6px}.section-heading p{color:#a0a09a;font-size:13px;margin:0}.step-indicator{white-space:nowrap;background:#f0f0eb;color:#826700;padding:7px 12px;border-radius:8px;font-weight:750;letter-spacing:.07em;font-size:10px}.transport-card{appearance:none;border:1px solid #f0f0eb;border-radius:16px;background:white;box-shadow:0 6px 22px rgba(35,35,30,.025);width:100%;min-height:250px;padding:23px 24px 0;text-align:left;color:inherit;display:flex;flex-direction:column;transition:.2s}.transport-card:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(35,35,30,.08);border-color:#efead3}.transport-card.selected{border:2px solid #856a00;box-shadow:0 8px 28px rgba(35,35,30,.11);padding:22px 23px 0}.transport-card-top{display:flex;align-items:flex-start;justify-content:space-between}.transport-icon{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;font-size:25px}.domestic-icon{background:#f0f0eb;color:#856a00}.international-icon{background:#f0f0eb;color:#856a00}.selection-check{width:25px;height:25px;border:1.5px solid #f0f0eb;border-radius:50%;display:grid;place-items:center;color:transparent;font-size:14px}.selected .selection-check{color:white;background:#856a00;border-color:#856a00}.transport-card-content{margin-top:19px;flex:1}.transport-card-content h3{font-weight:750;font-size:17px;letter-spacing:-.02em}.transport-card-content p{font-size:13px;color:#696964;line-height:1.65;max-width:340px;margin:9px 0 21px}.transport-card-bottom{height:50px;border-top:1px solid #eef1f5;font-size:12px;color:#696964;font-weight:650;display:flex;justify-content:space-between;align-items:center}.transport-card-bottom i{font-size:17px;color:#a0a09a}.details-section{margin-top:39px;animation:slideIn .25s ease}@keyframes slideIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.form-card{background:#fff;border:1px solid #f0f0eb;border-radius:16px;overflow:hidden;box-shadow:0 6px 22px rgba(35,35,30,.025)}.form-card-header{padding:24px 26px;display:flex;align-items:center;gap:15px;border-bottom:1px solid #edf1f7}.form-header-icon{width:43px;height:43px;background:#f0f0eb;color:#856a00;display:grid;place-items:center;border-radius:12px;font-size:20px}.form-card-header h3{font-size:16px;font-weight:750;margin:0 0 5px}.form-card-header p{font-size:12px;color:#696964;margin:0}.form-card-body{padding:26px}.form-card-body .form-label{font-size:13px}.postal-field{position:relative;max-width:385px}.postal-field>i{position:absolute;left:17px;top:50%;transform:translateY(-50%);color:#a0a09a;font-size:19px}.postal-field .form-control{height:53px;padding-left:48px;font-weight:600;letter-spacing:.1em;font-size:16px;border-color:#f0f0eb;border-radius:10px}.postal-field .form-control:focus{border-color:#856a00;box-shadow:0 0 0 .22rem rgba(255,229,0,.10)}.form-text{color:#a0a09a;margin-top:11px;font-size:12px}.form-card-footer{background:#fbfbf9;border-top:1px solid #edf1f7;padding:18px 26px;display:flex;align-items:center;justify-content:space-between;gap:14px}.form-footnote{font-size:12px;color:#a0a09a}.form-card-footer .btn{padding:11px 22px;border-radius:9px;background:#ffe600;border:none;font-weight:650;font-size:13px}.unavailable-panel{text-align:center;padding:40px 25px}.unavailable-icon{font-size:32px;color:#806900;display:inline-flex;width:65px;height:65px;align-items:center;justify-content:center;background:#f0f0eb;border-radius:17px}.unavailable-panel h3{font-size:18px;font-weight:750;margin:17px 0 10px}.unavailable-panel p{color:#696964;font-size:14px;max-width:460px;margin:0 auto 19px}.info-strip{display:flex;align-items:flex-start;gap:12px;margin-top:28px;padding:17px 20px;background:#f0f4fb;border:1px solid #f0f0eb;border-radius:12px;color:#696964;font-size:12px;line-height:1.7}.info-strip i{font-size:18px;color:#806900}.app-footer{font-size:11px;color:#a0a09a;text-align:center;border-top:1px solid #e9edf3;padding:19px}.app-footer span{margin:0 7px}.mobile-overlay{display:none}.sidebar-group-label{font-size:11px;letter-spacing:.12em;color:#696964;padding:24px 10px 10px;font-weight:800;text-transform:uppercase}.sidebar-bottom-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#ffe600;color:#fff;font-weight:800;font-size:14px}.user-menu-button{display:flex;align-items:center;gap:.8rem;border:1px solid #f0f0eb;background:#fff;border-radius:999px;padding:6px 10px 6px 6px;color:#262626}.user-menu-button:after{margin-left:.35rem}.user-menu-button:hover{background:#fafaf8}.user-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#ffe600;color:#fff;font-weight:800;font-size:14px;flex:0 0 auto}.user-avatar.large{width:48px;height:48px;font-size:16px}.user-meta{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}.user-meta strong{font-size:13px}.user-meta small{font-size:11px;color:#696964;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown{width:320px;border-radius:18px;overflow:hidden;padding:.25rem}.user-dropdown-head{display:flex;gap:.85rem;align-items:center;padding:1rem;border-bottom:1px solid #eef2f7;background:#fafbff}.user-dropdown .dropdown-item{padding:.75rem .9rem;border-radius:12px}.user-dropdown .dropdown-item:hover{background:#f4f7fb}.topbar-status{display:none}@media(max-width:991.98px){.app-sidebar{transform:translateX(-100%);transition:transform .2s}.app-sidebar.open{transform:translateX(0)}.mobile-overlay.show{display:block;position:fixed;inset:0;background:rgba(35,35,30,.5);z-index:1025}.app-main{margin-left:0}.main-content{padding:35px 22px}}@media(max-width:575.98px){.main-content{padding:29px 15px}.heading-block{margin-bottom:34px}.section-heading{flex-wrap:wrap}.transport-card{min-height:225px}.form-card-header,.form-card-body{padding:20px}.form-card-footer{padding:18px 20px;flex-wrap:wrap}.form-card-footer .btn{width:100%}.topbar-status{display:none}.breadcrumb-label{font-size:11px}}

.login-dropdown{width:min(340px,calc(100vw - 24px));max-width:calc(100vw - 24px);border:1px solid #f0f0eb!important;border-radius:16px;padding:20px!important}.login-dropdown .form-control{border-radius:10px}.login-dropdown .btn-primary{background:#ffe600;border:none;border-radius:10px;padding:11px}.user-menu-button{cursor:pointer}@media(max-width:575.98px){.app-topbar{padding-right:12px!important}.user-menu-button .user-meta{display:flex}.login-dropdown{position:absolute}}


/* === panel.css: kompatybilność istniejących widoków === */
.panel-card,.metric-card{background:#fff;border:1px solid #f0f0eb;border-radius:16px;box-shadow:0 6px 22px rgba(35,35,30,.035)}.panel-card{padding:27px;margin-bottom:20px}.panel-card h2{font-size:19px;font-weight:750;margin-bottom:12px}.panel-card p{font-size:14px;color:#696964}.metric-card{padding:25px;display:flex;flex-direction:column;gap:10px}.metric-card i{color:#806900;font-size:26px}.metric-card span{color:#696964;font-size:13px}.metric-card strong{font-size:32px;line-height:1.2}.auth-bg{background:linear-gradient(135deg,#262626,#262626);min-height:100vh;display:grid;place-items:center;padding:20px;font-family:system-ui,-apple-system,'Segoe UI',sans-serif}.auth-box{width:min(100%,480px);background:#fff;border-radius:20px;padding:36px;box-shadow:0 25px 75px #0004}.auth-box h2{font-size:25px;font-weight:800;letter-spacing:-.03em}.auth-box p{font-size:13px;color:#696964;margin-bottom:25px}.auth-box label{font-size:13px;font-weight:650;margin-bottom:6px}.auth-logo{font-weight:800;letter-spacing:.08em;color:#856a00;font-size:12px;margin-bottom:28px}.auth-box .btn-primary,.panel-card .btn-primary{background:#ffe600;border:0}.app-sidebar-nav form button{text-align:left;cursor:pointer}.user-table .badge{font-weight:600}.action-buttons{display:flex;justify-content:flex-end;gap:.4rem;flex-wrap:wrap}.collapse-row td{background:#f7f7f4}.user-edit-card{padding:1rem;border-top:1px dashed #f0f0eb;background:linear-gradient(180deg,#fbfbf9,#f7f7f4)}.user-edit-card .form-label{font-size:13px;font-weight:600}.danger-action{color:#c0392b}.danger-action:hover{background:#fff1ef;color:#a5281b}@media(max-width:600px){.auth-box{padding:24px}.panel-card{padding:18px}.action-buttons{justify-content:flex-start}}

.profile-info>div{padding:12px 18px;border:1px solid #f0f0eb;border-radius:12px;background:#fbfbf9}.profile-info span{display:block;font-size:12px;color:#696964;margin-bottom:5px}.profile-info strong{font-size:15px;overflow-wrap:anywhere}

/* Etap 14: compact, task-oriented admin UI */
.panel-page-header{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px;flex-wrap:wrap}.panel-page-header h1{font-size:clamp(25px,3vw,31px);font-weight:800;letter-spacing:-.035em;margin:3px 0 0}.panel-kicker{color:#696964;font-size:11px;letter-spacing:.06em;font-weight:700}.panel-header-context{font-size:12px;color:#696964}.main-content{padding-top:30px}.content-wrapper{max-width:1220px}.section-title{font-size:18px;font-weight:750;letter-spacing:-.02em}.overview-metric{display:flex;align-items:center;position:relative;gap:15px;padding:20px;border:1px solid #f0f0eb;border-radius:16px;background:#fff;text-decoration:none;color:#262626;min-height:110px;box-shadow:0 7px 22px rgba(35,35,30,.03);transition:.18s}.overview-metric:hover{border-color:#ead88c;transform:translateY(-2px);color:#262626}.metric-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;font-size:22px}.metric-primary{background:#f0f0eb;color:#856a00}.metric-success{background:#e8f8f0;color:#16965e}.metric-danger{background:#fff0ef;color:#d85655}.metric-warning{background:#fff7e8;color:#d99723}.metric-info{display:grid;gap:4px}.metric-info>span{font-size:12px;color:#696964}.metric-info strong{font-size:29px;line-height:1}.metric-arrow{margin-left:auto;align-self:flex-start;color:#a0a09a}.quick-actions{display:grid;gap:6px}.quick-actions>a{display:flex;align-items:center;gap:12px;border:1px solid #ecf0f6;padding:14px;border-radius:12px;text-decoration:none;color:#262626}.quick-actions>a:hover{background:#f7f9ff;border-color:#efead3}.quick-actions>a>i:first-child{color:#856a00;font-size:21px}.quick-actions>a>span{display:grid;flex:1;gap:2px}.quick-actions strong{font-size:13px}.quick-actions small{font-size:11px;color:#a0a09a}.quick-actions>a>i:last-child{color:#d4d4ce}.clean-table thead th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#696964;background:#fafbfd;border-bottom:1px solid #f0f0eb;padding:13px 12px}.clean-table tbody td{padding:14px 12px;font-size:13px;vertical-align:middle}.table-avatar{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:#f0f0eb;color:#806900;font-size:12px;font-weight:800}.status-pill{padding:6px 10px;border-radius:30px;font-size:11px;font-weight:700;white-space:nowrap}.is-active{color:#14845b;background:#e8f7ee}.is-blocked{color:#b44848;background:#feeeee}.form-section-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#f0f0eb;color:#856a00;font-size:20px}.role-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.role-card-grid.single{grid-template-columns:1fr}.role-choice{cursor:pointer;position:relative;display:block}.role-choice input{position:absolute;right:14px;top:17px;width:18px;height:18px;accent-color:#856a00}.role-choice>span{display:flex;flex-direction:column;padding:15px 45px 15px 15px;min-height:104px;border:1px solid #f0f0eb;border-radius:13px;transition:.18s}.role-choice input:checked+span{border-color:#856a00;background:#f5f7ff;box-shadow:inset 0 0 0 1px #856a00}.role-choice input:focus-visible+span{outline:3px solid #ead88c}.role-choice i{font-size:21px;color:#806900;margin-bottom:5px}.role-choice strong{font-size:13px}.role-choice small{font-size:11px;color:#696964;margin-top:3px}@media(max-width:650px){.role-card-grid{grid-template-columns:1fr}.panel-page-header{margin-bottom:22px}.clean-table{min-width:760px}}

/* ETAP 15 – kompaktowy układ, przyciski kartowe */
.page-intro{display:flex;align-items:center;padding:13px 17px;margin-bottom:20px;background:#f0f0eb;border:1px solid #f0f0eb;color:#696964;border-radius:12px;font-size:13px;line-height:1.5}
.page-intro i{color:#806900}.dashboard-button{cursor:pointer;border:1px solid #f0f0eb;box-shadow:0 5px 15px rgba(35,35,30,.04);min-height:94px;padding:16px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.dashboard-button:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(35,35,30,.12);border-color:#ead88c}.dashboard-button:focus-visible,.action-button-grid>a:focus-visible{outline:3px solid #ead88c;outline-offset:3px}.dashboard-button .metric-icon{width:44px;height:44px}.action-button-grid>a{background:#f9fbff;border:1px solid #f0f0eb;box-shadow:0 2px 7px rgba(35,35,30,.03);transition:background .16s ease,transform .16s ease,border-color .16s ease}.action-button-grid>a:hover{transform:translateX(3px);background:#f0f0eb;border-color:#ead88c}.action-button-grid>a>i:first-child{width:39px;height:39px;display:grid;place-items:center;border-radius:10px;background:#f0f0eb}.main-content{padding-top:20px}
/* Kompaktowe karty transportu – ramki i ikony pozostają */
.transport-intro{margin-bottom:18px}.compact-heading{margin-bottom:12px}.transport-card{min-height:132px;padding:17px 18px 0;border-radius:14px}.transport-card.selected{padding:16px 17px 0}.transport-card-top{align-items:center}.transport-icon{width:40px;height:40px;font-size:20px;border-radius:11px}.selection-check{width:22px;height:22px}.transport-card-content{margin-top:10px}.transport-card-content h3{font-size:15px;margin:0}.transport-card-content p{font-size:12px;line-height:1.4;margin:4px 0 11px;max-width:none}.transport-card-bottom{height:32px;font-size:11px}.details-section{margin-top:23px}
@media(max-width:575.98px){.page-intro{padding:11px 13px}.transport-card{min-height:132px}.transport-card.selected{min-height:132px}}

/* Etap 16: przestrzeń pod opisami na wszystkich stronach, również kalkulatorze */
.page-intro{margin-bottom:36px}
.page-intro.transport-intro{margin-bottom:36px}

/* Dostępne klawiaturą przyciski na pulpicie administratora */
.admin-stat-button{appearance:none;display:flex;align-items:center;text-align:left;gap:14px;position:relative;width:100%;height:100%;min-height:108px;padding:18px;border:1px solid #f0f0eb;border-radius:15px;background:linear-gradient(135deg,#fff 35%,#f7f9ff 100%);box-shadow:0 5px 16px rgba(35,35,30,.045);font:inherit;color:#262626;cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s}
.admin-stat-button:hover{transform:translateY(-3px);border-color:#ead88c;box-shadow:0 13px 28px rgba(35,35,30,.12)}
.admin-stat-button:active{transform:translateY(-1px)}
.admin-stat-button:focus-visible,.admin-action-button:focus-visible,.admin-list-button:focus-visible{outline:3px solid #ead88c;outline-offset:3px}
.admin-stat-icon{flex:0 0 50px;width:50px;height:50px;display:grid;place-items:center;border-radius:13px;background:#f0f0eb;color:#806900;font-size:23px}
.admin-stat-success .admin-stat-icon{background:#e8f8f0;color:#158558}
.admin-stat-danger .admin-stat-icon{background:#fff1f0;color:#be4c51}
.admin-stat-warning .admin-stat-icon{background:#fff5e3;color:#ae7519}
.admin-stat-content{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}
.admin-stat-label{font-size:12px;color:#696964;font-weight:650}
.admin-stat-number{font-size:30px;line-height:1.05;font-weight:800;letter-spacing:-.03em}
.admin-stat-go{position:absolute;top:13px;right:13px;color:#a0a09a;background:#f0f0eb;border-radius:8px;display:grid;place-items:center;width:24px;height:24px;font-size:13px;transition:background .18s,color .18s}
.admin-stat-button:hover .admin-stat-go{color:white;background:#806900}
.admin-actions-grid{display:grid;gap:11px}
.admin-actions-grid form{margin:0}
.admin-action-button{appearance:none;display:flex;align-items:center;gap:14px;text-align:left;width:100%;min-height:75px;padding:13px 14px;border:1px solid #f0f0eb;border-radius:13px;background:linear-gradient(110deg,#f9fbff,#f0f0eb);box-shadow:0 3px 9px rgba(35,35,30,.035);font:inherit;color:#262626;cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s}
.admin-action-button:hover{border-color:#ead88c;background:linear-gradient(110deg,#f0f0eb,#f0f0eb);box-shadow:0 8px 18px rgba(35,35,30,.10);transform:translateX(3px)}
.admin-action-icon{flex:0 0 44px;display:grid;place-items:center;height:44px;width:44px;border-radius:12px;background:white;border:1px solid #f0f0eb;color:#806900;font-size:21px}
.admin-action-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}
.admin-action-copy strong{font-size:13px;font-weight:750}
.admin-action-copy small{font-size:11px;color:#696964;line-height:1.35}
.admin-action-arrow{font-size:17px;color:#a0a09a}
.admin-list-button{white-space:nowrap}
.btn-add-user{padding:10px 17px}
@media(max-width:600px){.page-intro,.page-intro.transport-intro{margin-bottom:29px}.admin-stat-button{min-height:98px;padding:14px;gap:11px}.admin-stat-icon{height:43px;width:43px;flex-basis:43px}}

/* Etap 17: jednolity, oszczędny układ przycisków administratora. */
.admin-nav-button.btn {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  min-height: 58px;
  padding: 12px 16px;
  border: 1px solid #efead3;
  border-radius: 12px;
  background: #f5f8ff;
  color: #826700;
  box-shadow: 0 3px 10px rgba(35,35,30,0.04);
  text-align: left;
  text-decoration: none;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.3;
  white-space: normal;
  transition: background .16s, border-color .16s, color .16s, box-shadow .16s, transform .16s;
}
.admin-nav-button.btn .bi {
  flex: 0 0 22px;
  font-size: 21px;
  line-height: 1;
  text-align: center;
}
.admin-nav-button.btn:hover {
  background: #f0f0eb;
  border-color: #ead88c;
  color: #826700;
  box-shadow: 0 7px 16px rgba(35,35,30,0.1);
  transform: translateY(-1px);
}
.admin-nav-button.btn:focus-visible {
  outline: 3px solid #ead88c;
  outline-offset: 3px;
  box-shadow: 0 0 0 4px rgba(35,35,30,.12);
}
.admin-quick-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}
.admin-quick-actions .admin-nav-button.btn { min-height: 52px; }
@media (max-width:575.98px) {
  .admin-nav-button.btn { min-height: 54px; }
}


/* === transport.css: kompatybilność istniejących widoków === */
/* Etap 18: zwięzłe moduły transportowe spójne z panelami administracji. */
.transport-picker,.transport-details{width:100%}
.transport-section-title{font-size:15px;font-weight:750;line-height:1.4;color:#262626;margin:0 0 12px;letter-spacing:-.01em}
.transport-option{appearance:none;display:flex;align-items:center;gap:12px;width:100%;min-height:76px;padding:13px 16px;background:#fff;border:1px solid #f0f0eb;border-radius:12px;color:#262626;text-align:left;box-shadow:0 3px 11px rgba(35,35,30,.035);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
.transport-option:hover{border-color:#ead88c;background:#f8fbff;box-shadow:0 5px 15px rgba(35,35,30,.065)}
.transport-option:focus-visible{outline:3px solid #ead88c;outline-offset:3px}
.transport-option.selected{border-color:#856a00;background:#f4f8ff;box-shadow:inset 0 0 0 1px #856a00,0 4px 13px rgba(35,35,30,.055)}
.transport-option-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:10px;background:#f0f0eb;color:#806900;font-size:18px}
.transport-option.selected .transport-option-icon{background:#f0f0eb;color:#826700}
.transport-option-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.transport-option-copy strong{font-size:13px;font-weight:700;line-height:1.3}
.transport-option-copy small{font-size:11px;line-height:1.3;color:#696964}
.transport-option-selected{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;border:1px solid #efead3;border-radius:50%;color:transparent;font-size:12px}
.transport-option.selected .transport-option-selected{background:#806900;color:#fff;border-color:#806900}
.transport-details{margin-top:22px;animation:slideIn .2s ease}
.transport-details[hidden],.transport-panel[hidden]{display:none!important}
.transport-panel{background:#fff;border:1px solid #f0f0eb;border-radius:13px;padding:18px 20px;box-shadow:0 3px 12px rgba(35,35,30,.03)}
.transport-panel-heading{display:flex;align-items:center;gap:11px;margin-bottom:15px}
.transport-panel-heading-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:9px;background:#f0f0eb;color:#806900;font-size:16px}
.transport-panel-heading strong,.transport-unavailable strong{display:block;font-size:13px;font-weight:700;line-height:1.4;color:#262626}
.transport-panel-heading small{display:block;color:#696964;font-size:11px;line-height:1.45;margin-top:2px}
.transport-field-row{display:flex;align-items:stretch;gap:10px}
.transport-postal-field{width:225px;max-width:100%}
.transport-postal-field .form-control{height:40px;border-radius:9px;border:1px solid #f0f0eb;padding:8px 13px;font-size:14px;font-weight:650;letter-spacing:.07em;color:#262626}
.transport-postal-field .form-control:focus{border-color:#856a00;box-shadow:0 0 0 .2rem rgba(35,35,30,.10)}
.transport-submit.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:9px;padding:0 17px;min-height:40px;background:#806900;border:1px solid #806900;font-size:12px;font-weight:650;white-space:nowrap;box-shadow:none}
.transport-submit.btn:hover{background:#826700;border-color:#826700}
.transport-field-help{font-size:11px;color:#696964;margin-top:8px}
.transport-panel .invalid-feedback{font-size:12px;margin-top:8px}
.transport-unavailable{display:flex;align-items:center;gap:12px;min-height:76px;background:#fbfbf9}
.transport-unavailable-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:9px;background:#f0f0eb;color:#806900;font-size:17px}
.transport-unavailable p{font-size:12px;color:#696964;line-height:1.4;margin:2px 0 0}
.transport-status{margin-left:auto;white-space:nowrap;color:#695600;font-size:11px;background:#f0f0eb;border:1px solid #f0f0eb;border-radius:7px;padding:6px 10px}
@media(max-width:575.98px){.transport-option{min-height:68px;padding:11px 13px;gap:10px}.transport-option-icon{width:34px;height:34px;flex-basis:34px;font-size:16px}.transport-panel{padding:15px}.transport-details{margin-top:18px}.transport-field-row{flex-wrap:wrap}.transport-postal-field{width:100%}.transport-submit.btn{width:100%}.transport-unavailable{align-items:flex-start;flex-wrap:wrap}.transport-status{margin-left:46px}}
#postalError[hidden]{display:none!important}


/* === ui.css: kompatybilność istniejących widoków === */
/* TRANSPORT UI v19 – spójne tokeny i komponenty; arkusz wczytywany jako ostatni */
:root{--app-sidebar-width:258px;--ui-bg:#f7f7f4;--ui-surface:#fff;--ui-border:#f0f0eb;--ui-text:#262626;--ui-muted:#696964;--ui-blue:#856a00;--ui-blue-dark:#806900;--ui-blue-soft:#f0f0eb;--ui-radius:12px;--ui-focus:0 0 0 3px rgba(255,229,0,.17)}
body{background:var(--ui-bg);color:var(--ui-text);font-size:14px}
.app-sidebar{width:var(--app-sidebar-width);background:#262626;box-shadow:2px 0 15px rgba(35,35,30,.07)}
.app-sidebar-brand{min-height:72px;font-size:16px;padding:13px 19px;gap:11px}
.app-sidebar-brand small{font-size:9px;letter-spacing:.18em}
.brand-symbol{width:36px;height:36px;border-radius:10px;background:#856a00;font-size:19px}
.app-sidebar-nav{padding:4px 12px;overflow:auto;flex:1;scrollbar-width:thin}
.sidebar-group-label{padding:19px 11px 8px;font-size:10px;letter-spacing:.115em;color:#a0a09a}
.app-sidebar-nav .nav-link{min-height:40px;padding:9px 11px;margin-bottom:3px;border-radius:9px;font-size:13px;gap:11px;color:#d4d4ce;transition:background .15s,color .15s}
.app-sidebar-nav .nav-link i{font-size:16px;width:18px;text-align:center}
.app-sidebar-nav .nav-link:hover{background:#262626;color:#fff}
.app-sidebar-nav .nav-link.active{background:#806900;box-shadow:none;color:white}
.sidebar-bottom{margin:14px 12px 17px;padding:12px;border-radius:11px;background:#262626;border-color:#262626}
.sidebar-bottom-icon,.user-avatar{background:#856a00;color:#fff}
.sidebar-bottom strong{font-size:12px}.sidebar-bottom span{font-size:11px}
.app-main{margin-left:var(--app-sidebar-width)}
.app-topbar{min-height:64px;box-shadow:none;border-bottom:1px solid var(--ui-border);z-index:1010}
.breadcrumb-label{font-size:12px;color:#696964}
.user-menu-button{border:1px solid var(--ui-border);border-radius:30px;padding:5px 11px 5px 5px}
.user-menu-button:hover,.user-menu-button:focus-visible{background:#f1f5fb;border-color:#d4d4ce}
.user-avatar{width:35px;height:35px;font-size:12px}.user-avatar.large{width:44px;height:44px}
.user-meta strong{font-size:12px}.user-meta small{font-size:10px}
.user-dropdown{width:310px;border:1px solid #edf1f7!important;border-radius:13px;padding:5px;box-shadow:0 15px 35px rgba(35,35,30,.13)!important}
.user-dropdown .dropdown-item{font-size:13px;padding:9px 12px}
.user-dropdown-head{padding:12px;background:#f8faff}
.main-content{padding:27px 28px 48px}.content-wrapper{max-width:1260px;margin:0 auto}
.page-intro,.page-intro.transport-intro{padding:0;border:0;background:transparent;color:#696964;font-size:13px;line-height:1.65;margin:0 0 27px;display:block}
.page-intro i{color:#806900}.page-intro p{margin:0!important}
.panel-card,.metric-card,.transport-panel{background:#fff;border:1px solid var(--ui-border);border-radius:var(--ui-radius);box-shadow:0 1px 2px rgba(35,35,30,.025);padding:22px;margin-bottom:18px}
.panel-card h2,.section-title,.transport-section-title{font-size:17px;font-weight:700;letter-spacing:-.015em;line-height:1.4;color:#262626}
.panel-card>h2{margin:0 0 16px}.panel-card p{font-size:13px;color:var(--ui-muted)}
.section-subtitle{font-size:12px;color:#696964}.section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:17px}
.section-header h2{margin:0}.section-header p{margin:3px 0 0;font-size:12px}
.ui-divider{height:1px;background:#f0f0eb;margin:21px 0}
.btn{border-radius:9px;font-size:13px;font-weight:600;padding:9px 14px;line-height:1.25;transition:background .15s,border-color .15s,box-shadow .15s,color .15s}
.btn-sm{padding:7px 11px;font-size:12px;border-radius:8px}
.btn-primary,.panel-card .btn-primary,.auth-box .btn-primary,.transport-submit.btn{background:#856a00;border:1px solid #856a00;box-shadow:none;color:#fff}
.btn-primary:hover,.panel-card .btn-primary:hover,.transport-submit.btn:hover{background:#806900;border-color:#806900;color:#fff;box-shadow:none}
.btn-outline-primary,.admin-nav-button.btn{background:#f0f0eb;border:1px solid #efead3;color:#806900;box-shadow:none}
.btn-outline-primary:hover,.admin-nav-button.btn:hover{background:#efead3;border-color:#ead88c;color:#826700;transform:none;box-shadow:none}
.btn-outline-secondary,.btn-light.border{background:#fff;border:1px solid #f0f0eb;color:#696964}
.btn-outline-secondary:hover,.btn-light.border:hover{background:#f1f5f9;border-color:#d4d4ce;color:#262626}
.btn-outline-danger{background:#fff7f7;border:1px solid #fecaca;color:#b91c1c}
.btn-outline-danger:hover{background:#fee2e2;border-color:#fca5a5;color:#991b1b}
.btn:focus-visible,.form-control:focus,.form-select:focus,.form-check-input:focus-visible,.nav-link:focus-visible,.user-menu-button:focus-visible{outline:none;box-shadow:var(--ui-focus);border-color:#856a00}
.ui-tool-btn,.admin-nav-button.btn{min-height:45px!important;display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;text-align:left;padding:10px 14px;font-size:13px;white-space:normal}
.ui-tool-btn i,.admin-nav-button.btn .bi{width:18px;flex:0 0 18px;font-size:16px;line-height:1.1;text-align:center}
.admin-quick-actions{display:grid;grid-template-columns:1fr;gap:9px}
.ui-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ui-tool-btn .bi{color:inherit}
.form-label{font-size:12px;font-weight:650;color:#696964;margin-bottom:6px}
.form-control,.form-select,.input-group-text{min-height:41px;border:1px solid #f0f0eb;border-radius:9px;color:#262626;font-size:13px;background-color:#fff}
.form-control::placeholder{color:#a0a09a}
.input-group-text{background:#fafaf8;color:#696964}
.input-group>.form-control,.input-group>.form-select{min-width:0}
.form-text{font-size:11px;color:#696964;margin-top:6px}
.form-control[disabled],.form-control[readonly]{background:#f3f6fa;color:#696964}
.role-card-grid{gap:10px}.role-choice>span{border:1px solid #f0f0eb;border-radius:10px;padding:15px 37px 14px 14px;min-height:88px}.role-choice i{font-size:18px;margin-bottom:3px}.role-choice strong{font-size:13px}.role-choice small{line-height:1.4}.role-choice input:checked+span{background:#f0f0eb;border-color:#ead88c;box-shadow:inset 0 0 0 1px #efead3}.role-choice input{top:15px;right:12px;accent-color:#856a00}
.form-section-icon{width:37px;height:37px;font-size:17px;border-radius:9px}
.clean-table,.panel-card table.table{margin-bottom:0;color:var(--ui-text)}
.clean-table thead th,.panel-card .table thead th{background:#fafaf8;border-bottom:1px solid #f0f0eb;color:#696964;text-transform:none;letter-spacing:0;font-size:12px;font-weight:700;padding:11px 12px;white-space:nowrap}
.clean-table tbody td,.panel-card .table tbody td{padding:13px 12px;font-size:13px;vertical-align:middle;border-color:#edf1f6}
.panel-card .table tbody tr:hover{background:#fafcff}
.clean-table .table-avatar{width:34px;height:34px;background:#f0f0eb;color:#826700;border-radius:9px}
.status-pill{display:inline-flex;align-items:center;font-size:11px;font-weight:650;border-radius:7px;padding:5px 9px}
.is-active{background:#edf9f2;color:#167b4b}.is-blocked{background:#fff0f0;color:#ad3940}
.table-responsive{border-radius:9px;overflow-x:auto}
.table-empty{padding:35px 15px;text-align:center;color:#696964}.table-empty i{display:block;color:#a0a09a;font-size:27px;margin-bottom:8px}.table-empty strong{display:block;color:#262626;font-size:14px;margin-bottom:5px}
.ui-pagination{display:flex;gap:6px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:16px}.ui-pagination .btn{min-width:34px}
.profile-info>div{padding:12px 14px;border-radius:9px;background:#fafaf8;border-color:#edf1f7}.profile-info span{font-size:11px}.profile-info strong{font-size:13px}
.metric-card{padding:17px 19px;gap:4px}.metric-card i{font-size:19px;color:#856a00}.metric-card span{font-size:12px}.metric-card strong{font-size:25px}
.monitor-chart{display:flex;align-items:flex-end;gap:9px;min-height:194px;border-bottom:1px solid #f0f0eb;padding:5px 3px 0}
.monitor-day{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px;min-width:0}.monitor-day-bar{display:block;width:min(100%,60px);height:var(--bar-height,4px);min-height:4px;border-radius:7px 7px 0 0;background:#856a00}.monitor-day-count{font-size:11px;color:#695600}.monitor-day-label{font-size:11px;color:#696964;white-space:nowrap;margin-bottom:-26px}
.transport-section-title{font-size:15px;margin:0 0 12px}.transport-option{min-height:70px;border-radius:var(--ui-radius);box-shadow:none}.transport-option.selected{background:#f0f0eb;border-color:#856a00}.transport-option-icon{background:#f0f0eb}.transport-panel{padding:17px 18px}.transport-details{margin-top:21px}.transport-unavailable{background:#f8fbff}.transport-submit.btn{min-height:41px;font-size:12px}.transport-status{font-size:11px}
.ui-toast-area{position:fixed;right:20px;top:78px;z-index:1100;max-width:min(380px,calc(100vw - 30px))}.ui-toast{display:flex;align-items:flex-start;gap:11px;padding:13px 15px;border:1px solid #efead3;border-left:4px solid #856a00;border-radius:11px;background:#fff;color:#695600;box-shadow:0 12px 30px rgba(35,35,30,.12);font-size:13px}.ui-toast.is-success{border-left-color:#16a34a}.ui-toast.is-danger{border-left-color:#dc2626}.ui-toast-close{background:transparent;border:0;color:#696964;margin-left:auto;font-size:18px;line-height:1;cursor:pointer}
.ui-confirm-modal .modal-content,.modal-content.ui-dialog{border:1px solid #f0f0eb;border-radius:14px;box-shadow:0 18px 48px rgba(35,35,30,.17)}
.ui-confirm-modal .modal-header,.ui-confirm-modal .modal-footer{border-color:#edf1f7}.ui-confirm-modal .modal-title{font-size:17px;font-weight:700}
.ui-icon-circle{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#f0f0eb;color:#856a00;font-size:17px}
.app-footer{padding:14px;font-size:10px}
@media(max-width:1199.98px){.ui-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:991.98px){.app-main{margin-left:0}.main-content{padding:24px 22px 40px}.app-sidebar{z-index:1030}.ui-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.main-content{padding:18px 13px 36px}.panel-card,.transport-panel{padding:16px;border-radius:11px}.page-intro,.page-intro.transport-intro{margin-bottom:20px}.ui-actions-grid{grid-template-columns:1fr}.user-meta{display:flex}.user-meta small{max-width:120px}.app-topbar{padding-left:12px!important;padding-right:12px!important}.user-dropdown{width:min(310px,calc(100vw - 25px))}.role-card-grid{grid-template-columns:1fr}.monitor-chart{gap:5px}.monitor-day-label{font-size:10px}.transport-status{margin-left:0}.ui-toast-area{right:10px;top:68px}.table-responsive{border-radius:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:0.01ms!important;animation-duration:0.01ms!important}}
/* Kompaktowy kalkulator – nie rozciąga się niepotrzebnie na szerokich ekranach */
.transport-picker,.transport-details{max-width:none}.transport-picker .row{margin-top:0}
.transport-option-copy strong{font-size:13px}.transport-option-copy small{font-size:11px}.transport-option-icon{width:34px;height:34px;flex-basis:34px;font-size:16px}.transport-option{padding:12px 14px;min-height:68px}
.transport-unavailable{min-height:68px}.transport-panel-heading{margin-bottom:13px}.transport-field-row{align-items:center}
@media(max-width:575.98px){.transport-picker,.transport-details{max-width:100%}.transport-option{min-height:65px}}


/* === Etap 20: jednolite tokeny i stany komponentów === */
:root{--app-sidebar-width:255px;--app-sidebar-compact-width:72px;--ui-blue:#856a00;--ui-text:#262626;--ui-radius:11px;--ui-border:#f0f0eb;--ui-muted:#696964;--ui-focus:0 0 0 .2rem rgba(255,229,0,.16);--panel-gap:18px}
html,body{scroll-behavior:smooth}
.app-sidebar{width:var(--app-sidebar-width);transition:width .18s ease;overflow-x:hidden}
.app-sidebar-nav{overflow-y:auto;overflow-x:hidden;flex:1;padding:9px 10px 16px;scrollbar-width:thin}
.app-sidebar-nav .nav-link{display:flex;align-items:center;gap:11px;padding:10px 13px;min-height:43px;border-radius:9px;font-size:13px;transition:background .14s;white-space:nowrap;color:#d4d4ce;background:transparent}
.app-sidebar-nav .nav-link i{display:inline-flex;align-items:center;justify-content:center;flex:0 0 21px;font-size:18px}
.app-sidebar-nav .nav-link.active{background:#856a00;color:#fff;box-shadow:none}
.app-sidebar-nav .nav-link:hover:not(.active){background:#262626;color:#fff}
.sidebar-group-label{padding:18px 11px 8px;margin:0;color:#a0a09a;letter-spacing:.095em;font-size:10px}
.sidebar-bottom{margin-top:auto;min-width:0;overflow:hidden}
.sidebar-bottom-info{min-width:0;overflow:hidden}.sidebar-bottom-info strong,.sidebar-bottom-info span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.brand-copy{display:block;white-space:nowrap}.app-main{transition:margin-left .18s ease}
.sidebar-collapse-btn{border:1px solid #f0f0eb;padding:8px 10px}
@media(min-width:992px){
  html.sidebar-collapsed .app-sidebar{width:var(--app-sidebar-compact-width)}
  html.sidebar-collapsed .app-main{margin-left:var(--app-sidebar-compact-width)}
  html.sidebar-collapsed .app-sidebar-brand{justify-content:center;padding:12px}
  html.sidebar-collapsed .app-sidebar-brand .brand-copy,html.sidebar-collapsed .app-sidebar-nav .nav-label,html.sidebar-collapsed .sidebar-bottom-info{display:none}
  html.sidebar-collapsed .app-sidebar-nav{padding:9px 8px}
  html.sidebar-collapsed .sidebar-group-label{text-align:center;font-size:0;height:17px;padding:11px 0 0}
  html.sidebar-collapsed .sidebar-group-label::after{content:"";display:block;height:1px;background:#262626;margin:0 8px}
  html.sidebar-collapsed .app-sidebar-nav .nav-link{justify-content:center;padding:12px 10px}
  html.sidebar-collapsed .app-sidebar-nav .nav-link i{margin:0}
  html.sidebar-collapsed .sidebar-bottom{justify-content:center;margin:10px 8px 18px;padding:10px 0}
}
@media(max-width:991.98px){
 .app-sidebar{width:var(--app-sidebar-width);transform:translateX(-100%)}
 .app-sidebar.open{transform:translateX(0)}
 .app-main{margin-left:0!important}
}
.panel-card,.metric-card,.transport-panel{border:1px solid var(--ui-border);box-shadow:0 1px 3px rgba(35,35,30,.035);border-radius:var(--ui-radius)}
.panel-card{padding:22px;margin-bottom:var(--panel-gap)}
.btn,.form-control,.form-select,.input-group-text{transition:border-color .15s,background-color .15s,box-shadow .15s;}
.btn:focus-visible,a:focus-visible,button:focus-visible,.role-choice input:focus-visible+span{outline:2px solid #ead88c;outline-offset:2px}
.clean-table tbody tr.is-selected{--bs-table-bg:#f0f0eb;background:#f0f0eb}
.clean-table .table-sort{color:inherit;display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.clean-table .table-sort:hover{color:#806900}.clean-table .table-sort i{opacity:.65;font-size:10px}
.ui-validation-error{border:1px solid #ef4444;border-radius:11px;padding:5px}
.ui-form-actions{position:sticky;bottom:0;padding:12px 0;background:#f7f7f4;z-index:2}
.audit-diff{font-size:12px;max-width:400px;min-width:190px;overflow-wrap:anywhere}.audit-diff>div{padding:2px 0}
.table-responsive{scrollbar-width:thin}
.admin-quick-actions{gap:10px}.admin-quick-actions .btn{justify-content:flex-start}
.metric-card:hover{border-color:#efead3}
.ui-toast-area{z-index:1100}.ui-toast{min-width:270px}
.page-intro{margin-bottom:32px!important}
@media(max-width:767.98px){
 .page-intro{margin-bottom:23px!important}
 .table-responsive .clean-table td,.table-responsive .clean-table th{min-width:90px}
 .table-responsive .clean-table td:first-child{min-width:175px}
 .panel-card{padding:16px}
 .ui-form-actions{bottom:0;background:#f7f7f4}
}
@media(prefers-reduced-motion:reduce){.app-sidebar,.app-main{transition:none}}

/* Tabela kont przy małej szerokości staje się kartami z etykietami. */
@media(max-width:700px){
 .ui-responsive-table,.ui-responsive-table tbody{display:block;width:100%}
 .ui-responsive-table thead{display:none}
 .ui-responsive-table tbody tr{display:block;border:1px solid #f0f0eb;border-radius:11px;background:#fff;margin:0 0 12px;padding:9px}
 .ui-responsive-table tbody td{min-width:0!important;width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px;border:0!important;padding:8px!important;text-align:left!important;white-space:normal!important}
 .ui-responsive-table tbody td::before{content:attr(data-label);font-weight:650;color:#696964;font-size:11px;flex:0 0 92px}
 .ui-responsive-table tbody td:first-child{display:block}
 .ui-responsive-table tbody td:first-child::before{display:none}
 .ui-responsive-table tbody td .d-inline-flex{flex-wrap:wrap;justify-content:flex-end}
 .ui-responsive-table tbody td[colspan]{display:block}
 .ui-responsive-table tbody td[colspan]::before{display:none}
}


/* === Spójne strony błędów – etap 21 === */
.transport-error-body{min-height:100vh;background:#f7f7f4;color:#262626;display:flex;flex-direction:column;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.5}
.transport-error-header{background:#262626;min-height:76px;padding:14px clamp(20px,5vw,72px);display:flex;align-items:center;box-shadow:0 4px 18px rgba(35,35,30,.10)}
.transport-error-brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:#fff;font-size:17px;font-weight:750;line-height:1.1}
.transport-error-brand:hover{color:#fff}
.transport-error-brand small{display:block;color:#d4d4ce;letter-spacing:.18em;font-size:10px;font-weight:650;margin-top:5px}
.transport-error-brand-icon{width:42px;height:42px;display:grid;place-items:center;background:#856a00;border-radius:11px;font-size:21px;color:#fff}
.transport-error-main{width:100%;flex:1;display:grid;place-items:center;padding:50px 18px}
.transport-error-card{width:min(100%,570px);padding:clamp(28px,4.5vw,50px);background:#fff;border:1px solid #f0f0eb;border-radius:16px;box-shadow:0 12px 36px rgba(35,35,30,.055);text-align:center}
.transport-error-icon{height:68px;width:68px;background:#f0f0eb;border:1px solid #efead3;border-radius:17px;display:grid;place-items:center;margin:0 auto 25px;color:#856a00;font-size:30px}
.transport-error-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:760;color:#696964;margin:0 0 9px}
.transport-error-card h1{font-size:clamp(23px,4vw,31px);font-weight:770;letter-spacing:-.035em;line-height:1.2;margin:0 0 15px;color:#262626}
.transport-error-description{color:#696964;font-size:15px;line-height:1.7;margin:0 auto;max-width:430px}
.transport-error-actions{display:flex;justify-content:center;gap:12px;margin-top:27px}
.transport-error-primary{border:1px solid #856a00;background:#856a00;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 18px;font-size:14px;font-weight:650;color:#fff;text-decoration:none;transition:background-color .15s ease,box-shadow .15s ease}
.transport-error-primary:hover,.transport-error-primary:focus{color:#fff;background:#806900;box-shadow:0 4px 14px rgba(255,229,0,.23)}
.transport-error-primary:focus-visible{outline:3px solid #ead88c;outline-offset:3px}
.transport-error-help{font-size:12px;color:#a0a09a;margin:28px 0 0;line-height:1.5}
.transport-error-footer{text-align:center;font-size:12px;color:#a0a09a;padding:18px 24px;border-top:1px solid #f0f0eb}
.transport-error-footer span{padding:0 8px}
@media(max-width:575px){.transport-error-header{min-height:68px}.transport-error-main{padding:28px 15px}.transport-error-card{padding:26px 19px}.transport-error-primary{width:100%}}


/* === ETAP 22 — identyfikacja wizualna inspirowana TOPMET ===
   Żółć TOPMET • grafit • biel • subtelne szarości.
   Reguły komponentowe zebrane na końcu arkusza, aby stanowiły
   jedyne źródło kolorystyki także dla starszych widoków. */
:root {
  --topmet-yellow: #ffe600;
  --topmet-yellow-hover: #f2d600;
  --topmet-yellow-soft: #fff9de;
  --topmet-yellow-border: #e6d38a;
  --topmet-ink: #1a1a1a;
  --topmet-charcoal: #202020;
  --topmet-muted: #686864;
  --topmet-border: #e3e3dc;
  --topmet-canvas: #f7f7f4;
  --topmet-surface: #fff;
  --topmet-focus: 0 0 0 .2rem rgba(255,230,0,.28);
  --bs-primary: #ffe600;
  --bs-primary-rgb: 255,230,0;
  --bs-link-color: #665500;
  --bs-link-hover-color: #292400;
  --bs-focus-ring-color: rgba(255,230,0,.36);
  --navy: var(--topmet-charcoal);
  --purple: var(--topmet-yellow);
  --blue: var(--topmet-yellow);
  --border: var(--topmet-border);
  --text: var(--topmet-ink);
  --muted: var(--topmet-muted);
  --ui-bg: var(--topmet-canvas);
  --ui-surface: var(--topmet-surface);
  --ui-border: var(--topmet-border);
  --ui-text: var(--topmet-ink);
  --ui-muted: var(--topmet-muted);
  --ui-blue: #806600;
  --ui-blue-dark: #554500;
  --ui-blue-soft: var(--topmet-yellow-soft);
  --ui-focus: var(--topmet-focus);
}
body, .transport-error-body {background:var(--topmet-canvas);color:var(--topmet-ink)}
a {--bs-link-color-rgb:102,85,0;--bs-link-hover-color-rgb:41,36,0}
a:not(.btn):not(.nav-link):not(.app-sidebar-brand):not(.dropdown-item):not(.user-menu-button):not(.transport-error-primary) {color: #6a5700}
a:not(.btn):not(.nav-link):not(.app-sidebar-brand):not(.dropdown-item):not(.user-menu-button):not(.transport-error-primary):hover {color:#393000}

/* Menu aplikacji */
.app-sidebar{background:var(--topmet-charcoal);color:#f5f5f4;box-shadow:2px 0 15px rgba(0,0,0,.07)}
.app-sidebar-brand{color:#fff;border-bottom-color:#383838}
.app-sidebar-brand:hover{color:#fff}
.app-sidebar-brand small{color:#c0c0ba}
.brand-symbol,.sidebar-bottom-icon,.user-avatar,.transport-error-brand-icon{
 background:var(--topmet-yellow)!important;
 color:var(--topmet-ink)!important;
 box-shadow:none!important;
}
.app-sidebar-nav .nav-link{color:#ccccca}
.app-sidebar-nav .nav-link:hover:not(.active){color:#fff;background:#343434}
.app-sidebar-nav .nav-link.active{background:var(--topmet-yellow)!important;color:#171717!important;box-shadow:none!important;font-weight:700}
.app-sidebar-nav .nav-link.active .bi{color:#171717!important}
.sidebar-group-label{color:#999995}
.sidebar-bottom{background:#292929;border-color:#393939}
.sidebar-bottom strong{color:#f5f5f2}
.sidebar-bottom span{color:#b4b4ae}
html.sidebar-collapsed .sidebar-group-label::after{background:#454545}

/* Górny pasek i profil */
.app-topbar{background:#fff;border-bottom:1px solid var(--topmet-border);box-shadow:none}
.breadcrumb-label,.breadcrumb-label i:first-child{color:#686864}
.user-menu-button{background:#fff;border:1px solid var(--topmet-border);color:var(--topmet-ink)}
.user-menu-button:hover{background:#fafaf6;border-color:#d7d1b4}
.user-meta strong{color:var(--topmet-ink)}
.user-meta small{color:var(--topmet-muted)}
.user-dropdown{background:#fff;border-color:var(--topmet-border)}
.user-dropdown-head{background:#f9f9f6;border-bottom-color:var(--topmet-border)}
.user-dropdown .dropdown-item:hover:not(.danger-action){background:var(--topmet-yellow-soft);color:var(--topmet-ink)}
.sidebar-collapse-btn,.btn-light{background:#f7f7f4;border-color:var(--topmet-border);color:#333}
.sidebar-collapse-btn:hover,.btn-light:hover{background:#fff7d2;border-color:#dec967;color:#191919}

/* Panele, karty, sekcje */
.panel-card,.metric-card,.form-card,.transport-panel,.transport-option,.transport-card,.dashboard-button,.auth-box{
 background:var(--topmet-surface);border-color:var(--topmet-border);color:var(--topmet-ink);
}
.panel-card,.metric-card,.transport-panel{box-shadow:0 1px 3px rgba(20,20,20,.045)}
.panel-card h2,.section-heading h2,.transport-section-title,.transport-card-content h3,.form-card-header h3{color:#242424}
.page-intro,.page-intro.transport-intro{color:var(--topmet-muted)}
.page-intro i,.info-strip i,.metric-card i{color:#917500}
.section-header p,.panel-card p,.form-card-header p{color:var(--topmet-muted)}
.info-strip{background:#fffbee;border-color:#efe3b6;color:#66615b}
.metric-card:hover,.dashboard-button:hover{border-color:#deca78}
.step-indicator{background:var(--topmet-yellow-soft);color:#615100}

/* Jednolity system akcji */
.btn-primary,.panel-card .btn-primary,.auth-box .btn-primary,.login-dropdown .btn-primary,.transport-submit.btn,.form-card-footer .btn{
 background:var(--topmet-yellow)!important;border:1px solid var(--topmet-yellow)!important;color:#171717!important;
 box-shadow:none!important;background-image:none!important;font-weight:700;
}
.btn-primary:hover,.panel-card .btn-primary:hover,.auth-box .btn-primary:hover,.login-dropdown .btn-primary:hover,.transport-submit.btn:hover,.form-card-footer .btn:hover{
 background:var(--topmet-yellow-hover)!important;border-color:var(--topmet-yellow-hover)!important;color:#171717!important;
}
.btn-primary:active,.btn-primary:focus-visible{background:#e8cc00!important;border-color:#e8cc00!important;color:#171717!important}
.btn-outline-primary,.admin-nav-button.btn,.ui-tool-btn.btn-outline-primary{
 background:var(--topmet-yellow-soft)!important;border:1px solid var(--topmet-yellow-border)!important;color:#423700!important;box-shadow:none!important;
}
.btn-outline-primary:hover,.admin-nav-button.btn:hover,.ui-tool-btn.btn-outline-primary:hover{
 background:#fff0ad!important;border-color:#cdb448!important;color:#262000!important;
}
.btn-outline-primary:focus-visible,.admin-nav-button.btn:focus-visible{
 outline:3px solid #e6cb00!important;outline-offset:2px;
}
.btn-outline-secondary{border-color:#d5d5d0;color:#494945;background:#fff}
.btn-outline-secondary:hover{border-color:#acaca6;color:#252525;background:#f2f2ec}
.btn-link{color:#665400}
.btn-link:hover{color:#443800}
.admin-nav-button.btn .bi,.ui-tool-btn .bi,.admin-quick-actions .bi{color:inherit!important}
.ui-icon-circle,.form-section-icon,.form-header-icon{background:var(--topmet-yellow-soft)!important;color:#6d5900!important}

/* Formularze, wybór ról, fokus */
.form-label,.form-check-label{color:#3c3c38}
.form-control,.form-select,.input-group-text{border-color:#dcdcd5;color:#242424;background-color:#fff}
.form-control::placeholder{color:#8b8b85}
.form-control:focus,.form-select:focus,.postal-field .form-control:focus{
 border-color:#c9a800!important;box-shadow:var(--topmet-focus)!important;color:#1a1a1a;
}
.form-check-input:checked{background-color:#dfbe00;border-color:#a48a00}
.form-check-input:focus{border-color:#b99900;box-shadow:var(--topmet-focus)}
.form-control[readonly],.form-control[disabled]{background:#f4f4ef;color:#696964}
.role-choice input{accent-color:#dabb00}
.role-choice input:checked+span{background:#fff9df;border-color:#d3b944;box-shadow:inset 0 0 0 1px #f0dc83}
.role-choice>span{border-color:var(--topmet-border)}
.form-section-icon{border-radius:9px}
.ui-form-actions{background:var(--topmet-canvas)}
.form-card-footer{background:#fbfbf8;border-color:var(--topmet-border)}

/* Tabele, daty, oznaczenia i wykresy */
.clean-table thead th,.panel-card .table thead th{background:#f5f5f2;border-bottom-color:var(--topmet-border);color:#656560}
.clean-table tbody td,.panel-card .table tbody td{border-color:#ecece6;color:#30302f}
.panel-card .table tbody tr:hover,.clean-table tbody tr:hover{background:#fffcf0}
.clean-table tbody tr.is-selected{--bs-table-bg:#fff9de;background:#fff9de}
.clean-table .table-sort:hover{color:#6c5600}
.clean-table .table-avatar{background:#fff4c2;color:#5e4a00}
.table-empty i{color:#a18a36}
.badge.text-bg-primary{background:#ffe600!important;color:#161616!important}
.badge.text-bg-info{background:#fff2b3!important;color:#4d4000!important}
.bg-primary{background-color:var(--topmet-yellow)!important;color:#171717!important}
.text-primary,.text-info{color:#756000!important}
.border-primary{border-color:#e0c243!important}
.metric-card i,.monitor-day-count{color:#796200}
.monitor-day-bar{background:linear-gradient(180deg,#ffed51,#dfbb00)}
.status-pill.is-active{background:#edf8ef;color:#126e40}
.status-pill.is-blocked{background:#fff0ef;color:#aa3030}

/* Kompaktowy wybór transportu */
.transport-option,.transport-card{border-color:var(--topmet-border);background:#fff;color:#252525}
.transport-option:hover,.transport-card:hover{background:#fffdf3;border-color:#d7bc50;box-shadow:0 3px 11px rgba(99,80,0,.065)}
.transport-option.selected,.transport-card.selected{background:#fff9de!important;border-color:#d6b400!important;box-shadow:inset 0 0 0 1px #f4dc73!important}
.transport-option-icon,.transport-panel-heading-icon,.transport-icon,.domestic-icon,.international-icon,.unavailable-icon,.transport-unavailable-icon{
 color:#675400!important;background:#fff3bb!important;
}
.transport-option-selected,.selected .selection-check{color:#161616;background:var(--topmet-yellow);border-color:#d7b600}
.transport-option-copy strong{color:#262626}
.transport-option-copy small{color:#6f6f69}
.transport-postal-field .form-control:focus{border-color:#c7a800;box-shadow:var(--topmet-focus)}
.transport-unavailable{background:#fffdf3}
.transport-status{background:#fff5c6;color:#655400;border-color:#ebd67e}
.transport-field-help{color:#676761}

/* Informacje i powiadomienia */
.alert-info{background:#fffae4;color:#5a4b00;border-color:#e8d58d}
.ui-toast{background:#fff;border:1px solid #eadca3;border-left:4px solid #d2ad00;color:#383225;box-shadow:0 12px 30px rgba(0,0,0,.10)}
.ui-toast.is-success{border-left-color:#198754}
.ui-toast.is-danger{border-left-color:#cb3838}
.ui-confirm-modal .modal-content,.modal-content.ui-dialog{border-color:var(--topmet-border)}
.modal-header,.modal-footer{border-color:var(--topmet-border)}
:focus-visible{outline-color:#c8a900}
.btn:focus-visible,a:focus-visible,button:focus-visible,.role-choice input:focus-visible+span{
 outline:2px solid #ba9700;outline-offset:2px;
}

/* Logowanie i instalator */
.auth-bg{background:#191919}
.auth-logo{color:#8a7100}
.auth-box{border-top:4px solid var(--topmet-yellow)}
.login-dropdown{border-color:#e0e0d8!important}
.login-dropdown .form-control:focus{box-shadow:var(--topmet-focus)}

/* Strony informacyjne / SQL / błędy — bez informacji technicznych */
.transport-error-body{background:var(--topmet-canvas);color:var(--topmet-ink)}
.transport-error-header{background:#202020;box-shadow:0 4px 16px rgba(0,0,0,.1)}
.transport-error-brand,.transport-error-brand:hover{color:#fff}
.transport-error-brand small{color:#c9c9c4}
.transport-error-card{background:#fff;border-color:var(--topmet-border);box-shadow:0 12px 36px rgba(0,0,0,.055)}
.transport-error-card h1{color:#222}
.transport-error-icon{background:#fff6d0;border-color:#eedc8a;color:#756000}
.transport-error-kicker{color:#777770}
.transport-error-description{color:#696964}
.transport-error-primary{background:var(--topmet-yellow);border-color:var(--topmet-yellow);color:#171717}
.transport-error-primary:hover,.transport-error-primary:focus{background:var(--topmet-yellow-hover);border-color:var(--topmet-yellow-hover);color:#171717;box-shadow:0 4px 14px rgba(124,103,0,.1)}
.transport-error-primary:focus-visible{outline:3px solid #c0a000}
.transport-error-help,.transport-error-footer{color:#777770}
.transport-error-footer{border-color:var(--topmet-border)}

/* Etap 23: niewielka karta kursu EUR/PLN nad wyborem transportu */
.exchange-rate-card{
 display:flex;align-items:flex-start;gap:13px;width:100%;max-width:none;margin:0 0 25px;
 padding:16px 18px;border:1px solid var(--topmet-border,#e7e7df);
 border-radius:var(--ui-radius,12px);background:#fff;box-shadow:0 1px 3px rgba(20,20,20,.035);
}
.exchange-rate-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:10px;background:#fff3bb;color:#695400;font-size:18px}
.exchange-rate-content{flex:1;min-width:0}
.exchange-rate-topline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 9px}
.exchange-rate-label{font-size:13px;font-weight:700;color:#292923;margin:0}
.exchange-rate-tag{display:inline-flex;align-items:center;font-size:10px;font-weight:700;letter-spacing:.03em;padding:3px 8px;border:1px solid #ecd576;background:#fff9df;border-radius:99px;color:#655200}
.exchange-rate-tag.is-manual{color:#4b5563;background:#f2f3f5;border-color:#e2e6ea}
.exchange-rate-input-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.exchange-rate-unit{font-size:13px;color:#464640;white-space:nowrap;font-weight:600}
.exchange-rate-input.form-control{width:120px;max-width:100%;height:39px;font-size:15px;letter-spacing:.025em;font-variant-numeric:tabular-nums;font-weight:700;border-radius:9px;padding:7px 12px;text-align:center}
.exchange-rate-reset.btn{font-size:11px;font-weight:650;border-radius:9px;min-height:37px;display:inline-flex;align-items:center;gap:6px;padding:7px 11px}
.exchange-rate-help{font-size:11px;line-height:1.5;color:#686862;margin:8px 0 0}
.exchange-rate-card .invalid-feedback{font-size:11px;margin-top:7px}
.exchange-rate-card .invalid-feedback[hidden]{display:none!important}
.exchange-rate-link{color:#6b5900;font-size:11px;white-space:nowrap;margin-left:auto;padding-top:7px;text-decoration:none}
.exchange-rate-link:hover{color:#282100;text-decoration:underline}
.exchange-rate-link i{font-size:10px;margin-left:2px}
@media(max-width:767.98px){
 .exchange-rate-card{flex-wrap:wrap;padding:15px;gap:10px}
 .exchange-rate-icon{width:32px;height:32px;flex-basis:32px;font-size:16px}
 .exchange-rate-link{margin-left:42px;padding-top:0}
}
@media(max-width:420px){
 .exchange-rate-input-row{gap:7px}
 .exchange-rate-reset.btn{width:100%;justify-content:center}
}

/* Etap 24: wspólne, kompaktowe dane transportowe. */
.transport-details .transport-panel{width:100%;max-width:none;padding:19px 20px}
.transport-details .transport-form-row{min-width:0}
.transport-details .transport-form-row[hidden],.transport-country-row[hidden],.country-dropdown[hidden],.country-option[hidden],.country-empty[hidden],#postalRequiredMarker[hidden]{display:none!important}
.transport-details .form-label{font-size:12px;font-weight:700;margin-bottom:7px;color:#33332f}
.transport-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:3px}
.transport-fields-grid .form-control,.country-search-control .form-control{font-size:13px;min-height:42px;border-radius:9px}
.transport-fields-grid .input-group-text{font-size:12px;border-top-right-radius:9px;border-bottom-right-radius:9px;font-weight:600;background:#f7f7f4}
.transport-weight-field{max-width:100%}
.transport-postal-input{max-width:100%}
.transport-form-row .transport-field-help{font-size:11px;margin-top:7px;line-height:1.55;color:#6a6a64}
.transport-form-row .invalid-feedback{margin-top:5px;font-size:11px}
.transport-details .invalid-feedback[hidden]{display:none!important}
.transport-country-row{margin-bottom:17px;padding-bottom:17px;border-bottom:1px solid #ecece6}
.country-combobox{max-width:440px;position:relative}
.country-search-control{position:relative;display:flex;align-items:center}
.country-search-control>i{position:absolute;left:12px;color:#827300;font-size:15px;pointer-events:none}
.country-search-control .form-control{padding-left:39px;padding-right:39px}
.country-expand{position:absolute;right:2px;top:2px;bottom:2px;width:38px;border:0;background:transparent;color:#696964;display:grid;place-items:center;cursor:pointer;border-radius:8px}
.country-expand:hover,.country-expand:focus-visible{background:#fff7d4;color:#272723}
.country-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:100;max-height:225px;overflow-y:auto;background:#fff;border:1px solid #dcdcd5;border-radius:10px;box-shadow:0 12px 28px rgba(20,20,20,.12);padding:5px}
.country-options{display:flex;flex-direction:column;gap:2px}
.country-option{display:block;width:100%;border:none;background:#fff;text-align:left;border-radius:7px;padding:10px 12px;color:#30302b;font-size:13px;cursor:pointer}
.country-option:hover,.country-option.is-active,.country-option[aria-selected="true"]{background:#fff7d0;color:#2d2700}
.country-empty{padding:14px 12px;font-size:12px;color:#797972}
.transport-options-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:19px 0 15px}
.transport-flag{display:inline-flex;gap:9px;align-items:center;min-height:41px;min-width:145px;padding:9px 13px;border:1px solid #e1e1d9;border-radius:9px;color:#383833;font-size:13px;font-weight:600;background:#fff;cursor:pointer;user-select:none}
.transport-flag:has(input:checked){background:#fff9da;border-color:#ddc14a}
.transport-flag .form-check-input{margin:0;flex:0 0 auto;cursor:pointer}
.transport-flag .bi{font-size:15px;color:#766100}
.transport-flag:focus-within{outline:2px solid #b99500;outline-offset:1px}
.transport-actions{border-top:1px solid #ecece6;padding-top:14px;margin-top:6px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.transport-actions-hint{font-size:11px;color:#6d6d67;line-height:1.5}
.transport-actions .transport-submit{flex:0 0 auto;min-height:41px}
@media(max-width:650px){
 .transport-fields-grid{grid-template-columns:1fr;gap:16px}
 .transport-options-row{gap:9px}
 .transport-flag{min-width:0;flex:1 1 125px}
 .transport-actions{align-items:stretch;flex-direction:column}
 .transport-actions .transport-submit{width:100%}
 .country-combobox{max-width:100%}
}

/* Etap 25: stały kraj dostawy w transporcie krajowym. */
.transport-fixed-country[readonly]{background:#f7f7f4;color:#33332e;font-weight:600;cursor:default;opacity:1}
.transport-fixed-country[readonly]:focus{box-shadow:none;border-color:#deded6}

/* 26 / GLS - wspólny styl wyników w kolorystyce TOPMET */
.gls-results{margin-top:24px;background:#fff;border:1px solid #e7e8e7;border-radius:14px;overflow:hidden;box-shadow:0 5px 22px rgba(32,32,32,.035)}
.gls-results-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid #eeefed;background:#fffdf3}
.gls-results-brand{display:flex;align-items:center;gap:14px;min-width:0}.gls-results-brand>div{display:flex;flex-direction:column;gap:3px}
.gls-results-brand strong{font-size:16px;color:#262626}.gls-results-brand small{color:#6f7375;font-size:12px}
.gls-logo{font-size:22px;font-weight:900;font-style:italic;letter-spacing:-.07em;border-radius:10px;background:#202020;color:#ffe600;padding:7px 13px;line-height:1}
.gls-results-note{font-size:11px;color:#595959;white-space:nowrap;border:1px solid #ddd;padding:6px 9px;border-radius:20px;background:white}
.gls-controls{padding:18px 22px;display:flex;gap:12px 16px;align-items:center;flex-wrap:wrap;border-bottom:1px solid #eeefed}
.gls-controls-info{display:flex;gap:8px;align-items:center;margin-right:auto;font-size:13px;color:#414141}
.gls-controls-info>i{color:#8e7d09;font-size:17px}.gls-quantity-label{font-size:13px;font-weight:700;color:#333;white-space:nowrap}
.gls-controls .gls-quantity{width:92px;height:40px;text-align:center;border-radius:8px}.gls-controls small{font-size:11px;color:#777}
.gls-eur-toggle{display:flex;align-items:center;gap:9px;cursor:pointer;border:1px solid #e7e8e7;border-radius:9px;background:#fff;padding:9px 12px;font-size:13px;font-weight:600;white-space:nowrap}
.gls-eur-toggle .form-check-input{margin:0}.gls-zones{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:12px;padding:18px 22px}
.gls-zone-card{border:1px solid #e4e4e1;border-radius:12px;background:#fff;padding:16px;min-width:0}
.gls-zone-caption{display:flex;align-items:center;gap:9px;font-size:14px;margin-bottom:13px;color:#222}
.gls-zone-icon{display:grid;place-items:center;width:29px;height:29px;background:#fff7c3;color:#735e00;border-radius:8px}
.gls-zone-details{display:grid;gap:11px}.gls-zone-details>div{display:flex;flex-direction:column;gap:4px}
.gls-zone-details>div>span{font-size:11px;color:#727272}.gls-zone-details strong{font-size:15px;color:#252525}
.gls-zone-details .gls-total-pln{font-size:23px;letter-spacing:-.02em}
.gls-zone-details .gls-total-eur{padding-top:9px;border-top:1px dashed #e1e1db}.gls-zone-details .gls-total-eur strong{color:#4b4b4b;font-size:19px}
.gls-rate-warning{color:#944300;font-size:12px;padding:0 22px}
.gls-info{font-size:11px;color:#747474;line-height:1.5;padding:0 22px 18px;margin:0}
.gls-no-results{padding:29px 18px;text-align:center;display:grid;justify-items:center;gap:9px}
.gls-no-results>i{color:#9c8610;font-size:23px;background:#fff8d2;border-radius:50%;padding:11px 14px}
.gls-no-results strong{font-size:17px}.gls-no-results span{font-size:13px;color:#777}
@media(max-width:660px){.gls-results-header{padding:16px;flex-wrap:wrap}.gls-controls{padding:14px 16px}.gls-controls-info{width:100%;margin:0}.gls-zones{padding:16px;grid-template-columns:1fr}.gls-info{padding:0 16px 16px}}
.gls-results [hidden]{display:none !important}

/* Etap 27: dopłaty GLS w podsumowaniu, wspólna stylistyka TOPMET. */
.gls-extra-control{display:flex;flex-direction:column;gap:5px;min-width:156px}
.gls-extra-control>label{font-size:12px;font-weight:700;color:#383838;display:flex;gap:6px;align-items:center;margin:0}
.gls-extra-control>label i{color:#8d7900;font-size:14px}
.gls-extra-control .input-group{max-width:185px}
.gls-extra-control .form-control{height:39px;border-radius:8px 0 0 8px;text-align:right;font-weight:700;font-size:14px}
.gls-extra-control .input-group-text{border-radius:0 8px 8px 0;color:#555;background:#f5f5f0;font-size:12px;min-width:48px;justify-content:center}
.gls-extra-help{font-size:11px;color:#717171;width:100%;padding-left:1px;margin-top:0}
.gls-extra-alert{font-size:12px;color:#9a2a1b;background:#fff1eb;padding:9px 12px;border-radius:8px;margin:0;width:100%}
.gls-zone-details .gls-final-row{display:flex;flex-direction:column;gap:4px;border-top:1px solid #e4e3da;padding-top:13px;margin-top:2px}
.gls-zone-details .gls-final-row>span{font-size:12px;font-weight:750;color:#333}
.gls-zone-details .gls-final-row strong{font-size:23px;color:#222;letter-spacing:-.02em}
.gls-zone-details .gls-fuel-charge,.gls-zone-details .gls-road-total,.gls-zone-details .gls-transport-subtotal{font-size:15px}
@media(max-width:650px){.gls-extra-control{flex:1 1 135px}.gls-extra-control .input-group{max-width:none}}


/* etap 28 - kompaktowe sterowanie GLS */

.gls-controls{padding:16px 22px;display:grid;grid-template-columns:1fr;gap:12px;border-bottom:1px solid #eeefed}
.gls-controls-info{display:flex;gap:8px;align-items:center;font-size:13px;color:#414141}
.gls-controls-info>i{color:#8e7d09;font-size:17px}
.gls-control-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;align-items:stretch}
.gls-control-box{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid #e7e8e7;border-radius:12px;background:#fcfcfa;min-width:0}
.gls-control-box--compact .input-group{max-width:100%}
.gls-control-title{font-size:12px;font-weight:700;color:#383838;display:flex;gap:6px;align-items:center;margin:0;line-height:1.2}
.gls-control-title i{color:#8d7900;font-size:13px}
.gls-control-box .gls-quantity{width:100%;max-width:110px;height:34px;text-align:center;border-radius:8px;font-weight:700;padding-top:4px;padding-bottom:4px}
.gls-control-box small{font-size:11px;color:#777;line-height:1.25}
.gls-control-box .form-control{height:34px;text-align:right;font-weight:700;font-size:14px;padding-top:4px;padding-bottom:4px}
.gls-control-box .input-group-text{color:#555;background:#f5f5f0;font-size:12px;min-width:50px;justify-content:center;padding-top:4px;padding-bottom:4px}
.gls-control-box--toggle{justify-content:center;cursor:pointer}
.gls-toggle-row{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#333;min-height:34px}
.gls-toggle-row .form-check-input{margin:0;flex:0 0 auto}
.gls-extra-help{font-size:11px;color:#717171;padding-left:2px;margin:0}
@media(max-width:660px){.gls-controls{padding:14px 16px}.gls-control-grid{grid-template-columns:1fr 1fr}.gls-controls-info{width:100%}.gls-zones{padding:16px;grid-template-columns:1fr}.gls-info{padding:0 16px 16px;margin:0}}
@media(max-width:520px){.gls-control-grid{grid-template-columns:1fr}.gls-control-box .gls-quantity{max-width:none}}

/* TOPMET local brand assets */
.topmet-sidebar-logo{display:block;width:174px;max-width:100%;height:auto;background:#fff;border-radius:6px;padding:4px 7px;object-fit:contain}
html.sidebar-collapsed .topmet-sidebar-logo{width:42px;height:42px;max-width:none;object-fit:cover;object-position:left center;padding:3px}
.topmet-error-logo{display:block;width:175px;height:auto;background:#fff;border-radius:6px;padding:4px 7px}


/* etap 31 - wyrównanie sekcji transportu */

.transport-picker .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}
.transport-picker .row>*{width:auto;padding:0;margin:0}
.transport-details .transport-panel form{display:grid;gap:18px}
.transport-country-row,.transport-fields-grid,.transport-options-row,.transport-actions{margin-top:0}
.transport-country-row{width:100%}
.country-combobox{width:100%;max-width:none}
.transport-fields-grid{align-items:start}
.transport-form-row{display:flex;flex-direction:column;min-width:0}
.transport-options-row{align-items:stretch}
.transport-flag{min-height:44px}
.transport-actions{align-items:center}
.transport-actions-hint{flex:1 1 auto;max-width:70%}
.transport-actions .transport-submit{min-width:156px}
@media(max-width:767.98px){
  .transport-picker .row{grid-template-columns:1fr}
  .transport-actions-hint{max-width:none}
}

/* Etap 32: wspólna szerokość formularzy i wyników GLS. */
.exchange-rate-card,.transport-picker,.transport-details,.transport-details .transport-panel,.gls-results{width:100%;max-width:none}


/* etap 33 - pola transportu w jednej linii */

.transport-details .transport-panel form{display:flex;flex-direction:column;gap:16px}
.transport-inline-grid{display:grid;grid-template-columns:minmax(180px,1.25fr) minmax(170px,1fr) minmax(160px,1fr) auto auto;gap:14px;align-items:start}
.transport-inline-grid .transport-country-row{margin:0;padding:0;border:0;min-width:0}
.transport-inline-grid .transport-inline-item{min-width:0}
.transport-inline-grid .country-combobox{max-width:none;width:100%}
.transport-inline-grid .country-search-control .form-control,
.transport-inline-grid .transport-fixed-country,
.transport-inline-grid .transport-postal-input,
.transport-inline-grid .transport-weight-field .form-control{min-height:42px}
.transport-inline-grid .transport-field-help{margin-top:6px;font-size:11px;line-height:1.3}
.transport-inline-grid .invalid-feedback{font-size:11px;margin-top:4px}
.transport-flag--inline{align-self:start;min-height:42px;min-width:132px;justify-content:center;padding:10px 14px;margin-top:24px}
.transport-actions{margin-top:2px}
@media (max-width:1199.98px){
  .transport-inline-grid{grid-template-columns:minmax(220px,1.3fr) minmax(180px,1fr) minmax(180px,1fr);}
  .transport-flag--inline{margin-top:0;align-self:start}
}
@media (max-width:767.98px){
  .transport-inline-grid{grid-template-columns:1fr;gap:16px}
  .transport-flag--inline{justify-content:flex-start;min-width:0}
}

/* etap 35: informacja o stanie synchronizacji stawek GLS */
.gls-sync-status{display:flex;align-items:center;gap:8px;width:100%;padding:8px 11px;border-radius:9px;font-size:11px;line-height:1.45;border:1px solid #e1e2db;background:#f9f9f7;color:#42423b}
.gls-sync-status--success{border-color:#d9e8d2;background:#f5faf2;color:#37612a}
.gls-sync-status--warning{border-color:#efe1b0;background:#fff9e5;color:#7a5d00}
.gls-sync-status a{margin-left:auto;white-space:nowrap;color:inherit;text-decoration:underline}
@media(max-width:660px){.gls-sync-status{flex-wrap:wrap}.gls-sync-status a{margin-left:0}}


/* Etap 37 — opcjonalnie rozwijany zestaw wymiarów przesyłki */
.transport-dimensions-container{border:1px solid #e5e5de;border-radius:10px;background:#fff;padding:10px 12px}
.transport-dimensions-toggle{display:inline-flex;gap:9px;align-items:center;cursor:pointer;font-weight:650;font-size:13px;color:#30302a;user-select:none;margin:0}
.transport-dimensions-toggle .form-check-input{margin:0;cursor:pointer;flex-shrink:0}
.transport-dimensions-toggle .bi{font-size:16px;color:#8d7900}
.transport-dimensions-toggle small{font-size:11px;color:#77776f;font-weight:400}
.transport-dimensions-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;margin-top:13px;padding-top:13px;border-top:1px solid #efefe9}
.transport-dimensions-fields[hidden]{display:none!important}
.transport-dimensions-fields .form-label{font-size:12px;font-weight:650;margin-bottom:6px;white-space:normal}
.transport-dimensions-fields .input-group .form-control{min-width:0;height:40px;font-size:13px}
.transport-dimensions-fields .input-group-text{font-size:12px;background:#f7f7f4;color:#626258}
.transport-dimensions-help{font-size:11px;line-height:1.4;color:#77776f;margin:0;grid-column:1/-1}
.transport-dimensions-error{grid-column:1/-1;font-size:12px;margin:0}
@media(max-width:620px){.transport-dimensions-fields{grid-template-columns:1fr}}


/* Etap 40 – wyniki przewoźnika SUUS */
.suus-results{margin-top:20px;background:#fff;border:1px solid #e7e8e7;border-radius:14px;overflow:hidden;box-shadow:0 5px 22px rgba(32,32,32,.035)}
.suus-results-header{background:#fffdf3}
.suus-logo{display:grid;place-items:center;background:#202020;border-radius:10px;padding:10px 12px;color:#ffe600;letter-spacing:-.04em;font-weight:900;font-size:18px}
.suus-body{padding:16px 22px}
.suus-metadata{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.suus-metadata>div{display:flex;flex-direction:column;gap:6px;background:#fcfcfa;border:1px solid #e9e9e3;border-radius:9px;padding:11px}
.suus-metadata small{font-size:11px;color:#747474;line-height:1.3}
.suus-metadata strong{font-size:15px;color:#272727}
.suus-weight-note,.suus-rate-help{font-size:11px;line-height:1.5;color:#727272;margin:12px 0}
.suus-controls{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:12px;margin-top:14px}
.suus-control{background:#fcfcfa;border:1px solid #e7e8e7;border-radius:10px;padding:11px;display:grid;gap:6px}
.suus-control>label{font-size:12px;font-weight:700;display:flex;align-items:center;gap:7px;color:#363636}
.suus-control>label i{color:#806900}
.suus-control .form-control{height:35px;text-align:right;font-weight:700}
.suus-control .input-group-text{min-width:44px;justify-content:center}
.suus-prices{border-top:1px solid #eaeae4;padding-top:12px;display:grid;gap:10px;max-width:650px}
.suus-prices>div{display:flex;align-items:baseline;justify-content:space-between;gap:20px;font-size:13px;color:#666}
.suus-prices>div strong{color:#252525;font-size:15px;white-space:nowrap}
.suus-prices>.suus-grand-total{border-top:1px solid #e8e4c5;padding-top:12px;color:#282828;font-weight:750;font-size:14px}
.suus-prices>.suus-grand-total strong{font-size:23px}
.suus-error,.suus-unavailable{padding:12px 16px;border-radius:9px;background:#fff9e0;color:#684a00;font-size:13px}
.suus-unavailable{margin:16px 22px;display:flex;align-items:center;gap:9px}
.suus-sync-status{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 22px;font-size:11px;color:#696964;border-top:1px solid #eaeae4}
.suus-sync-status span{flex:1 1 220px}.suus-sync-status a{color:#695400;text-decoration:underline}
@media(max-width:660px){.suus-body{padding:14px 16px}.suus-metadata{grid-template-columns:repeat(2,minmax(0,1fr))}.suus-controls{grid-template-columns:1fr 1fr}.suus-sync-status{padding:12px 16px}}
@media(max-width:440px){.suus-metadata,.suus-controls{grid-template-columns:1fr}}
.suus-results [hidden]{display:none!important}


/* Etap 41 – strefy IE/GB oraz czytelne zestawienie wag SUUS */
.suus-postal-special-hint{margin-top:7px;font-size:11px;line-height:1.4;color:#715b00;background:#fff9df;border-left:3px solid #d7b600;padding:6px 9px;border-radius:0 6px 6px 0}
.suus-postal-special-hint[hidden]{display:none!important}
.suus-weight-explanation{margin:14px 0 16px;border:1px solid #e9e8da;border-radius:11px;background:#fffef8;padding:14px}
.suus-weight-explanation-title{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:11px;color:#292929}
.suus-weight-explanation-title i{color:#907700;font-size:16px}
.suus-weight-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.suus-weight-steps>div{display:flex;flex-direction:column;gap:4px;min-width:0;padding:9px 10px;border:1px solid #efeee4;border-radius:8px;background:#fff}
.suus-weight-steps span{font-size:11px;color:#777}
.suus-weight-steps strong{font-size:16px;color:#252525}
.suus-weight-steps small{font-size:10px;line-height:1.4;color:#777}
.suus-weight-explanation-status{font-size:11px;line-height:1.55;color:#686858;margin:12px 0 0}
.suus-weight-explanation-status strong{color:#282822}
@media(max-width:1000px){.suus-weight-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.suus-weight-steps{grid-template-columns:1fr}}

/* Etap 42 — komunikat o przekroczeniu ograniczeń gabarytowych GLS */
.gls-dimension-rejected{padding:25px 22px;gap:10px;text-align:center}
.gls-dimension-rejected>i{background:#fff3d2;color:#705200}
.gls-dimension-rejected>strong{color:#252525}
.gls-dimension-rejected>span{max-width:680px;line-height:1.55}
.gls-dimension-reasons{width:min(100%,620px);margin:4px auto;padding:12px 16px 12px 34px;text-align:left;background:#fff9e8;border:1px solid #f0dfb5;border-radius:10px;color:#5f400a;font-size:13px;line-height:1.65}
.gls-dimension-reasons li+li{margin-top:5px}
/* Etap 43: wybór oferty i komunikaty monitoringu */
.mon-choose-btn{display:block;margin-top:15px;width:100%;font-size:12px}
.mon-quote-feedback{margin:14px 0 0;padding:10px 12px;border:1px solid #e5e5da;border-radius:9px;background:#fffdf4;color:#5c5c53;font-size:12px}
.suus-results .mon-choose-btn{max-width:260px;margin:0 18px 18px auto}


/* Etap 45: ustawienia systemowe i bezpieczna diagnostyka SQL */
.settings-form{display:grid;gap:16px}
.settings-switch-row{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fffdf5;border:1px solid #ebe8d8;border-radius:12px;padding:17px 18px;cursor:pointer}
.settings-switch-copy{display:grid;gap:5px;min-width:0}
.settings-switch-copy strong{font-size:14px;color:#262626}
.settings-switch-copy small{font-size:12px;line-height:1.55;color:#6d6c64;font-weight:400}
.settings-switch{width:42px!important;height:22px;cursor:pointer;float:none!important;margin:0!important}
.settings-switch:checked{background-color:#b69600;border-color:#b69600}
.settings-security-note{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.6;color:#696456;background:#f8f8f3;padding:13px;border:1px solid #ededdf;border-radius:10px}
.settings-security-note i{color:#8b7500;font-size:16px;flex-shrink:0}
.settings-form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.settings-meta{font-size:11px;color:#7a796f}
.transport-sql-debug{margin:16px auto 20px;padding:16px;border:1px solid #e8c774;border-radius:12px;background:#fff9e6;text-align:left;max-width:800px;width:100%}
.transport-sql-debug-heading{display:flex;align-items:center;gap:8px;color:#5b4900;font-size:14px}
.transport-sql-debug>p{margin:8px 0 10px;color:#6b6037;font-size:12px;line-height:1.5}
.transport-sql-debug pre{display:block;white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:auto;max-height:220px;margin:0;padding:12px;background:#fff;border:1px solid #ebdfb7;border-radius:8px;font-size:12px;line-height:1.5;color:#3e3a30}
@media(max-width:600px){.settings-switch-row{padding:13px;gap:12px}.settings-switch-copy small{font-size:11px}.settings-form-actions .btn{width:100%}}

/* Etap 46: wspólna diagnostyka i identyfikator zdarzenia */
.transport-error-reference{margin:14px auto 0;color:#74746d;font-size:11px}
.transport-error-reference code{background:#f2f2ee;border-radius:6px;padding:4px 7px;color:#30302a;letter-spacing:.06em}
.transport-error-location{font-size:11px!important;color:#6b6037;margin:8px 0 0!important}
.transport-error-preview-notice{margin:16px auto 0;padding:10px 13px;border-radius:9px;border:1px solid #ded6b4;background:#fffbea;color:#685900;font-size:12px}
.settings-preview-note{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:#60605c;background:#fafaf7;border:1px solid #e6e6db;border-radius:9px;padding:12px;margin-top:13px}
.settings-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.settings-form-actions .settings-meta{margin-right:auto}
@media(max-width:650px){.settings-form-actions .btn{width:100%}}

/* Etap 47 - panel ustawień systemowych */
.system-settings-form{display:grid;gap:18px}
.system-settings-form .panel-card{margin:0}
.system-settings-form .settings-switch-row{border-bottom:1px solid #ecece7;padding:14px 0}
.system-settings-form .settings-switch-row:last-of-type{border-bottom:0}
.system-select-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 0;border-bottom:1px solid #ecece7}
.system-select-input{max-width:260px;font-size:13px}
.system-setting-hint{font-size:12px;line-height:1.65;color:#696964;margin:12px 0 0}
.system-settings-save{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px 19px;background:#fffdf0;border:1px solid #ece5be;border-radius:11px;font-size:12px;color:#59594e;flex-wrap:wrap}
.system-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:24px}
.system-action-grid h3{font-size:15px;font-weight:750}
.system-action-grid .btn{margin-top:14px}
@media(max-width:760px){.system-select-row{align-items:flex-start;flex-direction:column}.system-select-input{max-width:100%;width:100%}.system-action-grid{grid-template-columns:1fr}}


/* Etap 48 - kurs EUR w ustawieniach */
.system-rate-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:20px}
.system-rate-info>div{display:flex;flex-direction:column;gap:7px;padding:12px;background:#f8f8f2;border:1px solid #eae8dc;border-radius:10px;min-width:0}
.system-rate-info small{font-size:11px;color:#696964}
.system-rate-info strong{font-size:15px;color:#2c2c27;overflow-wrap:anywhere}
.system-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:920px){.system-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.system-action-grid{grid-template-columns:1fr}}

/* Etap 49 – karta DHL Freight Standard */
.dhl-results{margin-top:18px;border:1px solid #e6e6de;border-radius:14px;background:#fff;overflow:hidden}
.dhl-results-header{background:#fffce8}
.dhl-logo{background:#ffcc00;color:#d40511;border-radius:5px;letter-spacing:-.06em;padding:8px 15px;font-weight:900;font-size:20px;font-style:italic}
.dhl-fee-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
.dhl-fee-controls>div{display:flex;flex-direction:column;gap:5px}
.dhl-fee-controls label{font-weight:650;font-size:12px}
.dhl-fee-controls .form-control{max-width:180px;height:38px;font-size:13px}
.dhl-validation{font-size:12px;color:#a03222;padding:8px 0}
@media(max-width:650px){.dhl-fee-controls:not(.suus-controls){grid-template-columns:1fr}.dhl-fee-controls:not(.suus-controls) .form-control{max-width:100%}}

/* Etap 51: wyniki DHL w stylistyce SUUS; układ opłat i podsumowania bez zmiany logiki. */
.dhl-results .dhl-fee-controls{grid-template-columns:repeat(3,minmax(0,220px));gap:12px;margin:14px 0 0}
.dhl-results .dhl-fee-controls>.suus-control{display:grid;gap:6px;padding:11px}
.dhl-results .dhl-fee-controls .form-control{max-width:none;height:35px;font-size:13px;text-align:right;font-weight:700}
.dhl-results .dhl-fee-controls .input-group-text{min-width:44px;justify-content:center}
.dhl-results .dhl-fee-controls label{font-weight:700}
.dhl-cost-breakdown{max-width:680px;gap:11px;margin-top:12px}
.dhl-cost-breakdown>div{min-width:0}
.dhl-cost-breakdown>div>span:first-child{flex:1 1 auto;min-width:0}
.dhl-line-values{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:3px;white-space:nowrap}
.dhl-line-values strong{font-size:15px;color:#252525}
.dhl-line-values small{font-size:11px;color:#777}
.dhl-cost-breakdown>.suus-grand-total{align-items:center}
.dhl-cost-breakdown>.suus-grand-total strong{font-size:23px}
.dhl-cost-breakdown>.dhl-pln-total{padding-top:9px;border-top:1px dashed #e6e3d5;color:#555;font-size:12px}
.dhl-cost-breakdown>.dhl-pln-total strong{font-size:19px;color:#252525}
.dhl-rate-note{padding:0;margin:7px 0 13px;font-size:11px}
@media(max-width:760px){.dhl-results .dhl-fee-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:440px){.dhl-results .dhl-fee-controls{grid-template-columns:1fr}.dhl-cost-breakdown>div{gap:10px}.dhl-line-values strong{font-size:14px}.dhl-cost-breakdown>.suus-grand-total strong{font-size:20px}}



/* Etap 52 – automatyczne wyróżnienie najtańszej porównywalnej wyceny */
.quote-best-summary{display:flex;align-items:flex-start;gap:12px;border:1px solid #e3c74a;background:#fff9dc;border-radius:12px;padding:14px 17px;margin-top:20px}
.quote-best-summary-icon{display:grid;place-items:center;width:35px;height:35px;flex:0 0 35px;border-radius:10px;background:#ffe600;color:#272100;font-size:18px}
.quote-best-summary-copy{display:grid;gap:5px;min-width:0;line-height:1.45}
.quote-best-summary-copy strong{font-size:14px;color:#2e2900}
.quote-best-summary-copy span{font-size:12px;color:#5c5540}
.quote-best-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:750;color:#24210b;background:#ffe600;border:1px solid #d9bf2b;border-radius:50px;padding:5px 9px;white-space:normal;text-align:center;line-height:1.25}
.gls-zone-caption .quote-best-badge{margin-left:auto}
.suus-results .gls-results-header,.dhl-results .gls-results-header{flex-wrap:wrap}
.suus-results .quote-best-badge,.dhl-results .quote-best-badge{margin-left:0}
.gls-zone-card.quote-best{border:2px solid #d6b500;background:#fffdf3;box-shadow:0 5px 17px rgba(129,110,0,.10)}
.suus-results.quote-best,.dhl-results.quote-best{border:2px solid #d6b500;box-shadow:0 5px 20px rgba(129,110,0,.10)}
.quote-best-summary[hidden],.quote-best-badge[hidden]{display:none!important}
@media(max-width:600px){.quote-best-summary{padding:12px}.gls-zone-caption{flex-wrap:wrap}.gls-zone-caption .quote-best-badge{margin-left:0}.suus-results .gls-results-header .quote-best-badge,.dhl-results .gls-results-header .quote-best-badge{margin-left:0}}


/* Etap 54: uproszczony, domyślny widok wycen GLS / SUUS / DHL */
.quote-view-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-top:22px;padding:14px 17px;border:1px solid #e7e5d8;background:#fff;border-radius:13px}
.quote-view-toolbar-heading{display:flex;align-items:center;gap:12px;min-width:0}
.quote-view-toolbar-heading>i{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;background:#fff8ca;border-radius:9px;color:#806900;font-size:17px}
.quote-view-toolbar-heading>div{display:grid;gap:3px}.quote-view-toolbar-heading strong{font-size:14px;color:#2c2c29}.quote-view-toolbar-heading small{font-size:11px;color:#707068}
.quote-view-switch{display:inline-flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid #deddd3;border-radius:9px;background:#fcfcfa;white-space:nowrap;font-size:13px;font-weight:650;cursor:pointer;color:#34342e}
.quote-view-switch .form-check-input{margin:0;cursor:pointer}
.quote-results-area--simple .quote-detailed-results{display:none}
.quote-results-area:not(.quote-results-area--simple) .quote-compact-results{display:none}
.quote-compact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));align-items:stretch;gap:12px;margin-top:16px}
.quote-compact-card{border:1px solid #e5e5df;border-radius:13px;background:#fff;min-width:0;padding:15px;display:flex;flex-direction:column;gap:13px;box-shadow:0 4px 16px rgba(30,30,30,.025)}
.quote-compact-card-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0}
.quote-compact-brand{display:grid;place-items:center;width:43px;height:33px;flex:0 0 43px;border-radius:8px;font-size:13px;font-style:italic;font-weight:900;letter-spacing:-.045em}
.quote-compact-brand--gls{background:#282828;color:#ffe600}.quote-compact-brand--suus{background:#e9f0fa;color:#194b85}.quote-compact-brand--dhl{background:#ffe600;color:#cf142b}
.quote-compact-card-head>div{display:grid;gap:2px;min-width:0;flex:1 1 95px}.quote-compact-card-head>div strong,.quote-compact-card-head>strong{color:#30302d;font-size:14px}.quote-compact-card-head>div small{font-size:11px;color:#7a7a73}
.quote-compact-card-head .quote-best-badge{font-size:10px;padding:4px 7px;flex:0 1 auto}
.quote-compact-costs{display:grid;gap:11px;margin-top:2px}.quote-compact-costs>div{display:flex;justify-content:space-between;align-items:baseline;gap:9px}.quote-compact-costs span{font-size:11px;color:#71716a}.quote-compact-costs strong{font-variant-numeric:tabular-nums;white-space:nowrap;color:#282824;font-size:15px}.quote-compact-costs>div:first-child strong{font-size:21px;letter-spacing:-.025em}
.quote-compact-card .mon-choose-btn{align-self:start;margin-top:auto;min-height:34px}
.quote-compact-card.quote-best{border:2px solid #d6b500;background:#fffdf3;box-shadow:0 5px 18px rgba(129,110,0,.11);padding:14px}
.quote-compact-unavailable-label{font-size:13px;color:#855419}.quote-compact-card--unavailable p,.quote-compact-warning{font-size:11px;color:#6d6b63;line-height:1.5;margin:0;overflow-wrap:anywhere}
.quote-compact-warning{color:#98521c;display:flex;gap:7px;align-items:flex-start}
.quote-compact-footnote{display:flex;gap:7px;align-items:flex-start;color:#77756f;font-size:11px;line-height:1.5;margin:12px 3px 0}
.quote-compact-footnote i{color:#8e7900}
@media(max-width:560px){.quote-view-toolbar{padding:13px}.quote-view-switch{width:100%;justify-content:center}.quote-compact-grid{grid-template-columns:minmax(0,1fr)}.quote-compact-card{padding:13px}.quote-compact-card.quote-best{padding:12px}}

/* Etap 55: weryfikacja strefy przy najtańszym wariancie GLS */
.quote-gls-zone-warning{display:flex;align-items:flex-start;gap:8px;padding:10px 11px;margin:8px 0 12px;background:#fff2d9;border:1px solid #e8b760;border-radius:9px;font-size:12px;font-weight:650;line-height:1.45;color:#784414}
.quote-gls-zone-warning i{font-size:15px;line-height:1.1;flex:0 0 auto}
.quote-gls-zone-warning[hidden]{display:none!important}


/* Etap 57: zwijany panel kursu EUR/PLN (domyślnie tylko najważniejsze informacje). */
.exchange-rate-card.exchange-rate-card--compact{align-items:center;padding:10px 15px;gap:11px}
.exchange-rate-card--compact .exchange-rate-icon{width:30px;height:30px;flex-basis:30px;font-size:15px;border-radius:8px}
.exchange-rate-summary{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;min-height:32px}
.exchange-rate-summary .exchange-rate-label{white-space:nowrap}
.exchange-rate-summary-value{font-size:13px;color:#36342a;white-space:nowrap}
.exchange-rate-summary-value strong{font-variant-numeric:tabular-nums;font-size:14px;color:#232323}
.exchange-rate-summary-source{font-size:11px;color:#76736a}
.exchange-rate-details .exchange-rate-link{display:inline-flex;margin-top:9px;margin-left:0;padding-top:0}
.exchange-rate-details[hidden],.exchange-rate-summary[hidden]{display:none!important}
.exchange-rate-visibility{display:inline-flex;gap:8px;align-items:center;justify-content:center;flex:0 0 auto;cursor:pointer;white-space:nowrap;border:1px solid #e1e0d8;border-radius:9px;padding:8px 11px;background:#fcfcfa;font-size:12px;font-weight:650;color:#34342e;margin-left:auto}
.exchange-rate-visibility .form-check-input{margin:0;cursor:pointer}
.exchange-rate-visibility:hover{border-color:#c8ac21;background:#fffbea}
.exchange-rate-visibility:focus-within{outline:2px solid #b99500;outline-offset:2px}
@media(max-width:800px){.exchange-rate-card{flex-wrap:wrap}.exchange-rate-visibility{margin-left:auto}.exchange-rate-summary{gap:5px 11px}}
@media(max-width:520px){.exchange-rate-summary{flex-direction:column;align-items:flex-start;gap:2px}.exchange-rate-visibility{margin-left:0;width:100%}.exchange-rate-card.exchange-rate-card--compact{padding:12px}.exchange-rate-card--compact .exchange-rate-icon{align-self:flex-start}.exchange-rate-summary-source{white-space:normal}}


/* Etap 59 — szybkie wymiary palet i dłużyc. */
.transport-dimension-presets{grid-column:1/-1;display:flex;flex-direction:column;gap:8px;padding:11px 12px;border:1px solid #ece8d8;border-radius:9px;background:#fffdf4}
.transport-dimension-presets-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.transport-dimension-presets-label{display:inline-flex;align-items:center;gap:6px;min-width:78px;color:#514b37;font-size:12px;font-weight:700}
.transport-dimension-presets-label i{color:#927700}
.transport-dimension-preset{appearance:none;border:1px solid #dfd9c8;border-radius:7px;background:#fff;color:#303027;min-height:33px;padding:6px 10px;font-size:12px;font-weight:600;line-height:1.3;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}
.transport-dimension-preset:hover{background:#fff7cd;border-color:#c8a600}
.transport-dimension-preset:focus-visible{outline:2px solid #ac8c00;outline-offset:2px}
.transport-dimension-preset:active{background:#ffe66a}
.transport-dimension-presets-hint{font-size:11px;color:#797568;line-height:1.4}
@media(max-width:620px){.transport-dimension-presets-row{align-items:flex-start}.transport-dimension-presets-label{width:100%}.transport-dimension-preset{white-space:normal}}

/* Etap 60: niezależna aktywność Dłużycy i Palety dla obu kierunków transportu. */
.transport-flag.is-unavailable{opacity:.48;background:#f5f5f1;border-color:#e2e2dc;cursor:not-allowed;box-shadow:none}
.transport-flag.is-unavailable .form-check-input{cursor:not-allowed}
.transport-flag.is-unavailable::after{content:'Wyłączone';font-size:10px;font-weight:500;color:#686860;white-space:nowrap}
.settings-options-subtitle{font-size:13px;font-weight:750;color:#363631;margin:16px 0 6px}

/* Etap 61 — porównanie kosztów, diagnostyka ofert, weryfikacja stref */
.quote-difference{font-size:12px;line-height:1.4;color:#64645e;margin:8px 0 4px;font-weight:600}
.quote-difference--best{color:#6f5a00}
.quote-zone-confirmed{outline:2px solid #8e9b67;outline-offset:1px}
.quote-zone-confirmed-note{font-size:11px;color:#536337;margin:5px 0}
.quote-zone-verify,.quote-diagnostics{border:1px solid #e1ddcd;border-radius:12px;background:#fffdf4;margin:12px 0;padding:13px 16px}
.quote-zone-verify{display:grid;grid-template-columns:minmax(0,1fr) minmax(215px,265px);gap:8px 18px;align-items:center}
.quote-zone-verify strong,.quote-postal-lookup strong{font-size:13px;color:#3b3521}
.quote-zone-verify p,.quote-postal-lookup p{margin:5px 0 0;color:#686356;font-size:12px;line-height:1.5}
.quote-zone-verify-action{display:grid;gap:5px}.quote-zone-verify-action label{font-size:11px;font-weight:700}
.quote-zone-verify-status{grid-column:1/-1;margin:0!important;font-size:11px!important}
.quote-diagnostics{background:#fdfdfa}.quote-diagnostics summary,.quote-postal-lookup summary{cursor:pointer;font-size:13px;font-weight:700}
.quote-diagnostics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:10px;margin:13px 0 8px}
.quote-diagnostic-item{border:1px solid #e8e7df;border-radius:9px;padding:11px;background:white}
.quote-diagnostic-item strong{font-size:12px}.quote-diagnostic-item p{font-size:11px;color:#595953;margin:6px 0 0;line-height:1.45}
.quote-diagnostics-note{font-size:11px;color:#66665f;margin:0}
.quote-postal-lookup{background:#fffaf0;border:1px solid #e9dfc5;border-radius:9px;padding:10px;margin:7px 0 0;min-width:0}
.quote-postal-lookup details{margin:7px 0}.quote-postal-lookup details div{overflow-wrap:anywhere;font-size:11px;color:#625d50;line-height:1.6}
.quote-postal-lookup small{font-size:10px;color:#746f63}
.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:12px;margin:18px 0}
.health-tile{background:#fff;border:1px solid #e3e3dc;border-radius:12px;padding:17px;min-width:0}
.health-tile h3{font-size:14px;font-weight:750;margin:0 0 8px}.health-tile p{font-size:12px;margin:5px 0;color:#63635e;line-height:1.45;overflow-wrap:anywhere}
.health-state{font-weight:750;font-size:12px}.health-state--ok{color:#26713c}.health-state--failed{color:#a23c30}.health-state--unknown{color:#8a6c19}
.health-table{width:100%;font-size:12px;border-collapse:collapse}.health-table td,.health-table th{border-bottom:1px solid #eae8e2;padding:10px 8px;text-align:left;vertical-align:top}
.health-table td{overflow-wrap:anywhere}.health-panel{background:#fff;border:1px solid #e3e3dc;border-radius:12px;padding:18px;margin:14px 0}
@media(max-width:720px){.quote-zone-verify{grid-template-columns:1fr}}

/* Etap 64 — wspólne limity wymiarów */
.settings-dimension-limits{display:grid;gap:10px}
.settings-dimension-limit-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(140px,1fr) minmax(140px,1fr);align-items:center;gap:12px;padding:12px 14px;border:1px solid #eceae1;background:#fffdf7;border-radius:10px}
.settings-dimension-limit-row>strong{font-size:13px;color:#30302b}
.settings-dimension-limit-field{display:grid;gap:5px}
.settings-dimension-limit-field label{font-size:12px;font-weight:600;color:#66645f}
.settings-dimension-limit-field .form-control{text-align:center;font-variant-numeric:tabular-nums}
.settings-dimension-limit-field .input-group-text{font-size:12px;background:#f6f5ed}
.transport-dimension-preset:disabled{opacity:.42;cursor:not-allowed;background:#f5f5f2;border-color:#dfdfd9;box-shadow:none}
@media(max-width:620px){.settings-dimension-limit-row{grid-template-columns:1fr 1fr}.settings-dimension-limit-row>strong{grid-column:1/-1}}


/* etap 65: administracyjne zarządzanie gotowymi wymiarami */
.settings-preset-panel{margin-top:20px}
.settings-presets-category{margin-top:18px;border-top:1px solid #eeeae0;padding-top:14px}
.settings-presets-count{font-size:11px;color:#777;font-weight:600;margin-left:6px}
.settings-preset-item{display:flex;align-items:end;gap:10px;padding:13px 0;border-bottom:1px solid #eeeae0}
.settings-preset-edit{flex:1;min-width:0}
.settings-preset-delete{flex:0 0 auto;margin-bottom:1px}
.settings-preset-grid{display:grid;grid-template-columns:minmax(160px,2fr) minmax(110px,1.15fr) repeat(3,minmax(75px,.75fr)) minmax(74px,.7fr);gap:10px;align-items:end}
.settings-preset-field{display:flex;flex-direction:column;gap:4px;min-width:0}
.settings-preset-field label{font-size:11px;color:#65655f;font-weight:700}
.settings-preset-field .form-control,.settings-preset-field .form-select{min-width:0}
.settings-preset-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:9px}
.settings-preset-active{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;cursor:pointer}
.settings-preset-warning{font-size:11px;color:#95620b}
.settings-preset-create{padding:14px;border:1px solid #eae6d7;border-radius:10px;background:#fffdf4}
@media(max-width:1050px){.settings-preset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-preset-name{grid-column:span 2}}
@media(max-width:650px){.settings-preset-item{flex-direction:column;align-items:stretch}.settings-preset-delete{text-align:right}.settings-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-preset-name{grid-column:span 2}}

/* etap 66 — sortowanie gotowych wymiarów */
.settings-preset-sorting{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:10px 0 12px}
.settings-preset-sorting>span{font-size:12px;font-weight:700;color:#4b4b46;margin-right:4px}
.settings-preset-sorting .btn{font-size:12px;white-space:nowrap}

/* Etap 67: Raben PL, lokalizacja i karta kosztów krajowych */
@media(min-width:1200px){
 .transport-inline-grid{grid-template-columns:minmax(155px,1.14fr) minmax(150px,1fr) minmax(130px,.9fr) minmax(155px,1.06fr) minmax(99px,auto) minmax(92px,auto);gap:10px}
 .transport-inline-grid .transport-flag--inline{min-width:0;padding-inline:10px;white-space:nowrap}
}
#domesticLocalityGroup[hidden]{display:none!important}
#domesticLocalityGroup .form-control{height:42px;min-height:42px;font-size:13px}
.raben-logo,.quote-compact-brand--raben{display:inline-flex;align-items:center;justify-content:center;background:#ed282f;color:#fff;font-weight:850;border-radius:7px;letter-spacing:.02em;padding:5px 9px;font-size:12px}
.raben-warning{border:1px solid #eccb8b;background:#fffaf0;padding:10px 12px;border-radius:8px;color:#754d10;font-size:12px;margin:12px 0}
.raben-results .suus-body{padding-top:17px}
.raben-results .suus-grand-total strong{font-size:23px}
.raben-results .suus-rate-help{margin-top:8px}
@media(max-width:1199.98px) and (min-width:768px){.transport-inline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.transport-flag--inline{align-self:stretch}}

/* Etap 70: niezależna ilość paczek Raben w szczegółowych wynikach (jak GLS). */
.raben-pricing-controls{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.raben-package-result-control small{color:#6a6a6a;font-size:11px;line-height:1.45}
.raben-package-result-control #rabenPackageCount{text-align:center}
.raben-package-result-control #rabenPackageReset{font-size:11px;white-space:normal;text-align:center}
@media(max-width:750px){.raben-pricing-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:440px){.raben-pricing-controls{grid-template-columns:1fr}}

/* Etap 73 — ograniczenia DHL Freight ECE konfigurowane przez administratora. */
.settings-dhl-limits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.settings-dhl-limit-field{display:grid;align-content:start;gap:7px;padding:15px;border:1px solid #eceae1;background:#fffdf7;border-radius:10px}
.settings-dhl-limit-field>label{font-weight:700;font-size:13px;color:#30302b}
.settings-dhl-limit-field .input-group{max-width:250px}
.settings-dhl-limit-field .form-control{text-align:right;font-variant-numeric:tabular-nums}
.settings-dhl-limit-field .input-group-text{min-width:46px;justify-content:center;background:#f6f5ed}
.settings-dhl-limit-field>small{display:block;font-size:12px;color:#69685e;line-height:1.45}
@media(max-width:640px){.settings-dhl-limits{grid-template-columns:1fr}}

/* ETAP 74 UPS — przejrzysty wybór opcjonalnych usług i rozbicie składników. */
.ups-logo{display:inline-flex;align-items:center;justify-content:center;background:#6d422a;color:#fff;border-radius:8px;padding:9px 12px;font-weight:800;letter-spacing:.08em}
.ups-extra-choice{padding:14px 16px;background:var(--bs-secondary-bg,#f7f7f8);border:1px solid #ddd;border-radius:12px;margin:14px 0}
.ups-extra-choice>strong{display:block;margin-bottom:10px;font-size:.95rem}
.ups-extra-choice>small{display:block;color:#666;margin-top:9px;line-height:1.55}
.ups-extra-toggles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.ups-extra-toggles label{display:flex;align-items:center;gap:8px;font-size:.92rem;cursor:pointer}
.ups-extra-toggles input{accent-color:#6d422a}
/* UPS: kwoty bezpośrednio po opisie, z separatorem ": ". */
.ups-price-breakdown > div:not([data-ups-optional-list]){justify-content:flex-start;column-gap:5px;flex-wrap:wrap}
.ups-price-breakdown [data-ups-optional-list]>div{display:block;padding:7px 0}
.ups-price-breakdown [data-ups-optional-list]>div strong{display:inline;font-weight:700}

/* ETAP 75 — UPS Standard Single: strefy w wynikach szczegółowych. */
.ups-zone-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,385px),1fr));gap:16px;margin:16px 0}
.ups-zone-result{min-width:0;border:1px solid #d6dbe2;border-radius:13px;padding:16px;background:var(--bs-body-bg,#fff)}
.ups-zone-result.quote-best{border-color:#d6aa24;box-shadow:0 0 0 1px #d6aa24}
.ups-zone-result-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-bottom:12px;border-bottom:1px solid #e7e7eb;margin-bottom:13px}
.ups-zone-result-head>strong{font-size:1.05rem}
.quote-ups-zone-info{margin:14px 0;border-radius:10px;border:1px solid #e4c974;background:#fff9e8;color:#684d18;padding:12px 14px;line-height:1.5}
.quote-ups-zone-warning{display:block!important;color:#74530e}
@media (max-width:575px){.ups-zone-results{grid-template-columns:minmax(0,1fr)}.ups-zone-result{padding:12px}}

/* ETAP 82 — globalne ostrzeżenie o braku aktualnych stawek paliwowych UPS */
.ups-fuel-alert{display:flex;align-items:flex-start;gap:15px;margin:0 0 23px;padding:17px 19px;background:#fff0f0!important;color:#871717!important;border:2px solid #ce2828!important;border-left:9px solid #ce2828!important;border-radius:12px;box-shadow:0 5px 20px rgba(163,28,28,.16);font-size:14px;line-height:1.5}
.ups-fuel-alert-icon{display:grid;place-items:center;min-width:35px;height:35px;background:#be2020;color:white;border-radius:8px;font-size:25px;font-weight:800}
.ups-fuel-alert strong{display:block;color:#8a1414;font-weight:900;font-size:15px;letter-spacing:.015em}
.ups-fuel-alert p{margin:5px 0 0;color:#801616!important}
@media(max-width:575.98px){.ups-fuel-alert{padding:13px;gap:11px}.ups-fuel-alert strong{font-size:13px}}

/* Etap 87: automatyczne przewijanie do wyników oraz powrót na górę */
#quoteResultsArea{scroll-margin-top:20px}
.back-to-top{position:fixed;right:24px;bottom:24px;z-index:1050;width:46px;height:46px;border:1px solid #d3bc00;border-radius:50%;background:#ffe600;color:#222;box-shadow:0 5px 18px rgba(0,0,0,.2);display:grid;place-items:center;cursor:pointer;font-size:21px;transition:transform .15s ease,background .15s ease}
.back-to-top[hidden]{display:none!important}
.back-to-top:hover{background:#ffef57;transform:translateY(-2px)}
.back-to-top:focus-visible{outline:3px solid #111;outline-offset:3px}
@media(max-width:600px){.back-to-top{right:14px;bottom:18px;width:42px;height:42px}}

/* Etap 105: GLS — osobne ceny każdej paczki. */
.gls-package-breakdown{display:block!important;padding:.65rem 0;border-bottom:1px solid #e5e7eb}.gls-package-breakdown-list{display:grid;gap:.35rem;margin-top:.5rem}.gls-package-breakdown-list>div{display:flex;justify-content:space-between;gap:1rem;font-size:.88rem}.gls-package-breakdown-list strong{white-space:nowrap}

/* END app.css */

/* START corporate-modern.css */
/* Etap 88 — Corporate Modern + Compact Pro. Wyłącznie warstwa prezentacji. */
:root{--cm-yellow:#ffe600;--cm-ink:#242424;--cm-line:#e7e7df;--cm-soft:#f7f7f3;--cm-radius:14px;--cm-shadow:0 5px 18px rgba(25,25,20,.045)}
body{background:#f6f7f5;color:var(--cm-ink);-webkit-font-smoothing:antialiased}
.app-topbar{border-bottom:1px solid var(--cm-line);box-shadow:0 3px 16px rgba(20,20,18,.035)}
.app-sidebar-nav .nav-link{transition:background .18s,color .18s,transform .18s}
.app-sidebar-nav .nav-link:hover{transform:translateX(2px)}
.app-sidebar-nav .nav-link.active{color:#1d1d1b;background:var(--cm-yellow);box-shadow:none;font-weight:750}
.app-sidebar-nav .nav-link.active i{color:#1d1d1b}
.main-content{padding-top:30px;padding-bottom:42px}
.content-wrapper{max-width:1160px}
.page-intro,.exchange-rate-card,.transport-option,.transport-panel,.quote-view-toolbar,.quote-best-summary,.quote-compact-card,.gls-results,.suus-results,.dhl-results,.panel-card,.metric-card,.admin-card,.card{box-shadow:var(--cm-shadow)}
.transport-picker,.transport-details{margin-top:20px}
.transport-section-title{font-weight:790;letter-spacing:-.025em}
.transport-option,.transport-panel,.exchange-rate-card{border-radius:var(--cm-radius);border-color:var(--cm-line)}
.transport-option{transition:box-shadow .18s,transform .18s,border-color .18s}
.transport-option:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(20,20,18,.09)}
.transport-option[aria-pressed="true"],.transport-option.selected{border-color:#b29a00;box-shadow:0 0 0 2px rgba(255,230,0,.16),var(--cm-shadow)}
.transport-panel{overflow:visible;background:#fff}
.transport-inline-grid{gap:14px 18px}
.transport-form-row{min-width:0}
.transport-form-row .form-label,.form-card .form-label{font-weight:700;color:#383832;font-size:12px;letter-spacing:.005em}
.transport-panel .form-control,.transport-panel .form-select,.transport-panel .input-group-text,.form-card .form-control,.panel-card .form-control,.panel-card .form-select{border-color:#dadcd6;border-radius:9px;min-height:40px}
.transport-panel .form-control:focus,.transport-panel .form-select:focus,.panel-card .form-control:focus,.panel-card .form-select:focus{border-color:#b29a00;box-shadow:0 0 0 3px rgba(255,230,0,.19)}
.transport-panel .input-group .form-control{border-radius:9px 0 0 9px}
.transport-panel .input-group .input-group-text{border-radius:0 9px 9px 0;background:#f7f7f4}
.transport-actions{border-top:1px solid var(--cm-line);padding-top:17px;margin-top:16px}
.transport-submit,.btn-primary{background:#ffe600;border-color:#ffe600;color:#262626;font-weight:750;box-shadow:none;transition:transform .15s,background .15s}
.transport-submit:hover,.btn-primary:hover{background:#f5da00;border-color:#f5da00;color:#171717;transform:translateY(-1px)}
.transport-submit:focus-visible,.btn-primary:focus-visible,.btn:focus-visible,.app-sidebar-nav .nav-link:focus-visible{outline:3px solid #b09b00;outline-offset:2px}
.quote-results-area{scroll-margin-top:92px}
.quote-view-toolbar{border:1px solid var(--cm-line);border-radius:14px;background:#fff;padding:16px 18px}
.quote-view-toolbar-heading strong{font-size:18px;letter-spacing:-.02em}
.quote-compact-grid{gap:13px!important;align-items:stretch}
.quote-compact-card{position:relative;overflow:hidden;border:1px solid var(--cm-line)!important;border-radius:14px!important;padding:18px!important;background:#fff;transition:transform .16s,box-shadow .16s,border-color .16s}
.quote-compact-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(30,30,25,.09)}
.quote-compact-card:has(.quote-best-badge:not([hidden])),.quote-compact-card.quote-is-best,.quote-compact-card.is-best{border-color:#d0b400!important;background:linear-gradient(135deg,#fffef0 0%,#fff 38%);box-shadow:inset 4px 0 0 #e3c700,0 7px 23px rgba(100,85,0,.075)}
.quote-best-badge:not([hidden]){display:inline-flex;align-items:center;gap:5px;background:#fff3a4;color:#554700;border:1px solid #e8d56a;border-radius:999px;font-weight:800;font-size:10px;padding:5px 9px;line-height:1.2}
.quote-compact-card-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0}
.quote-compact-card-head>div{min-width:0;flex:1}
.quote-compact-card-head strong{font-weight:800}
.quote-compact-costs{background:#fafaf7;border:1px solid #eeeee7;border-radius:10px;padding:11px 13px;margin-top:12px;gap:10px}
.quote-compact-costs>div{min-width:0;display:flex;flex-direction:column;gap:4px}
.quote-compact-costs span{font-size:11px;color:#65665f}
.quote-compact-costs strong{font-size:clamp(18px,2vw,23px);font-weight:850;letter-spacing:-.035em;font-variant-numeric:tabular-nums;white-space:nowrap}
.quote-compact-costs [data-compact-eur]{font-size:clamp(15px,1.5vw,18px)}
.quote-compact-card--unavailable{background:#fafaf9!important;border-style:dashed!important;opacity:.87}
.quote-compact-unavailable-label{display:inline-flex;color:#6a6c68;background:#ededeb;border-radius:7px;padding:5px 9px;font-size:12px}
.quote-compact-warning,.quote-gls-zone-warning,.quote-ups-zone-warning{border-radius:9px;line-height:1.5}
.gls-results,.suus-results,.dhl-results,.raben-results,.ups-results{border-radius:14px;overflow:hidden;border-color:var(--cm-line)}
.gls-results-header{gap:10px;flex-wrap:wrap}
.gls-zone-card,.quote-diagnostic-item{border-radius:11px;border-color:var(--cm-line)}
.panel-card,.metric-card,.admin-card,.card{border-radius:14px;border-color:var(--cm-line)}
.panel-card{padding:20px}
.table-responsive{border-radius:10px;border:1px solid var(--cm-line)}
.table{--bs-table-bg:transparent;vertical-align:middle;margin-bottom:0}
.table thead th{background:#f1f2ee;color:#575851;font-size:11px;text-transform:uppercase;letter-spacing:.035em;font-weight:800;border-bottom-color:#e3e5df;white-space:nowrap}
.table td,.table th{padding:10px 12px}
.table tbody tr:hover{background:#fffdec}
.admin-nav-button.btn{background:#fafaf7;color:#333;border-color:var(--cm-line);min-height:51px;border-radius:10px;box-shadow:none}
.admin-nav-button.btn:hover{background:#fffbe0;border-color:#e8d56a;transform:translateY(-1px)}
.badge{font-weight:700}
.alert{border-radius:11px}
.pagination .page-link{color:#3c3c36;border-color:var(--cm-line)}
.pagination .active .page-link{background:#ffe600;color:#222;border-color:#ffe600}
.cm-loading-overlay[hidden]{display:none!important}
.cm-loading-overlay{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;background:rgba(246,247,245,.82);backdrop-filter:blur(4px);padding:20px}
.cm-loading-dialog{width:min(420px,100%);background:white;border:1px solid var(--cm-line);border-radius:18px;box-shadow:0 22px 80px rgba(0,0,0,.17);padding:27px;text-align:center}
.cm-loading-spinner{width:46px;height:46px;border:4px solid #efede2;border-top-color:#bca200;border-radius:50%;margin:0 auto 16px;animation:cm-spin .8s linear infinite}
.cm-loading-dialog strong{display:block;font-size:18px;margin-bottom:5px}.cm-loading-dialog p{margin:0;color:#62635d;font-size:13px}
.cm-loading-progress{height:4px;background:#f1f1e9;border-radius:99px;margin-top:19px;overflow:hidden}.cm-loading-progress::before{content:"";display:block;width:42%;height:100%;background:#ffe600;border-radius:99px;animation:cm-progress 1.5s ease-in-out infinite alternate}
@keyframes cm-spin{to{transform:rotate(360deg)}}@keyframes cm-progress{from{transform:translateX(-90%)}to{transform:translateX(280%)}}
@media(max-width:991.98px){.main-content{padding:22px 18px}.quote-results-area{scroll-margin-top:75px}.app-sidebar{max-width:min(300px,88vw)}.quote-compact-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,275px),1fr))!important}}
@media(max-width:575.98px){.main-content{padding:16px 12px 28px}.page-intro{padding:12px}.transport-option{min-height:76px}.transport-inline-grid{gap:11px}.transport-actions{display:flex;flex-direction:column;gap:12px}.transport-submit{width:100%;min-height:48px}.quote-view-toolbar{padding:13px;gap:10px;flex-wrap:wrap}.quote-compact-grid{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:10px!important}.quote-compact-card{padding:14px!important}.quote-compact-costs strong{font-size:20px}.quote-best-badge:not([hidden]){font-size:9px}.panel-card{padding:14px}.table td,.table th{padding:9px 10px}.app-topbar{min-height:60px}.user-dropdown{max-width:calc(100vw - 25px)}}
@media(prefers-reduced-motion:reduce){.cm-loading-spinner,.cm-loading-progress::before{animation:none}.quote-compact-card,.transport-option,.admin-nav-button.btn{transition:none}.quote-compact-card:hover,.transport-option:hover{transform:none}}

/* Etap 89 — stabilne wyrównanie kontrolek transportu krajowego i zagranicznego.
   Układ reaguje na rzeczywistą szerokość formularza (również przy otwartym menu),
   zamiast na szerokość całego okna przeglądarki. */
.transport-details .transport-panel{container-type:inline-size;container-name:transport-form}
.transport-details .transport-inline-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:start;
  gap:14px 12px;
}
.transport-details .transport-inline-grid > .transport-form-row{min-width:0;align-self:start}
.transport-details .transport-inline-grid > .transport-form-row > .form-label{
  display:flex;
  align-items:flex-end;
  min-height:36px;
  margin-bottom:7px;
  line-height:1.3;
}
.transport-details .transport-inline-grid .transport-flag--inline{
  align-self:start;
  margin-top:43px; /* 36 px etykiety + 7 px przerwy */
  min-height:42px;
  min-width:0;
  width:100%;
  padding:9px 10px;
  white-space:nowrap;
}
.transport-details .transport-inline-grid .transport-field-help{margin-top:7px}
@container transport-form (min-width:460px){
  .transport-details .transport-inline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container transport-form (min-width:710px){
  .transport-details .transport-inline-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@container transport-form (min-width:1050px){
  .transport-details .transport-inline-grid{
    grid-template-columns:minmax(0,1.12fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,1.04fr) minmax(0,.93fr) minmax(0,.83fr);
  }
}
@container transport-form (max-width:459.98px){
  .transport-details .transport-inline-grid .transport-flag--inline{margin-top:0}
  .transport-details .transport-inline-grid > .transport-form-row > .form-label{min-height:0}
}

/* Etap 91: kompaktowy panel podsumowania wyceny */
.quote-overview{margin:16px 0 20px;padding:18px;border:1px solid #dce2e8;border-radius:14px;background:#fff;box-shadow:0 5px 22px rgba(27,39,53,.055)}
.quote-overview[hidden]{display:none!important}
.quote-overview-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.quote-overview-heading h3{margin:0;font-size:17px;font-weight:750;color:#19222e}
.quote-overview-heading p{margin:4px 0 0;font-size:12px;color:#697381}
.quote-overview-heading>.bi{font-size:22px;color:#9b831b}
.quote-overview-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.quote-overview-metric{display:flex;flex-direction:column;gap:5px;min-width:0;padding:15px;background:#f6f8fa;border:1px solid #e8ebef;border-radius:11px}
.quote-overview-metric--best{background:#fffbed;border-color:#e8d778}
.quote-overview-metric>span{font-size:12px;color:#576372;font-weight:600}
.quote-overview-metric>strong{font-size:clamp(19px,2vw,25px);line-height:1.15;color:#182635;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.quote-overview-metric--best>strong{color:#3d541b}
.quote-overview-metric>small{font-size:11px;line-height:1.4;color:#687482;overflow-wrap:anywhere}
.quote-overview-note{margin:12px 0 0;color:#8a5e17;font-size:12px;line-height:1.5}
.quote-overview-note[hidden]{display:none}
@media(max-width:680px){.quote-overview{padding:13px}.quote-overview-metrics{grid-template-columns:1fr;gap:8px}.quote-overview-metric{padding:12px}.quote-overview-metric>strong{font-size:22px}}

/* Etap 92: uporządkowanie ustawień — bez zmian w logice formularzy. */
.settings92-heading{margin:18px 0 12px}.settings92-heading h2{font-size:1.35rem;font-weight:800;margin:0 0 4px}.settings92-heading p{margin:0;color:#696b65;font-size:.87rem}
.settings92-nav,.settings92-carriers-nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0 8px}
.settings92-nav a,.settings92-carriers-nav a{display:inline-flex;gap:7px;align-items:center;text-decoration:none;border:1px solid #dedfd8;background:#fff;color:#34352f;padding:10px 14px;border-radius:10px;font-weight:700;font-size:13px;transition:background .15s,border-color .15s}
.settings92-nav a:hover,.settings92-carriers-nav a:hover{background:#fff9d1;border-color:#decb46;color:#282820}
.settings92-nav a:focus-visible,.settings92-carriers-nav a:focus-visible{outline:3px solid #b59b00;outline-offset:2px}
.settings92-carriers-nav{margin-bottom:24px}.settings92-carriers-nav span{font-weight:750;color:#686a63;font-size:12px;margin-right:5px}.settings92-carriers-nav a{padding:7px 11px}
.settings92-group{scroll-margin-top:100px;margin:0 0 26px;padding:18px 18px 6px;background:#f8f9f6;border:1px solid #e6e8e1;border-radius:16px;min-width:0}
.settings92-group-heading{border-left:4px solid #e3cb00;padding:0 0 0 12px;margin-bottom:14px}.settings92-group-heading h2{font-size:1.1rem;font-weight:800;letter-spacing:-.015em;margin:0 0 4px}.settings92-group-heading p{font-size:12px;color:#6b6d66;margin:0}
.settings92-group>.panel-card,.settings92-group>form.panel-card{margin:0 0 12px!important;background:#fff;max-width:100%;min-width:0}
.settings92-providers-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0}
.settings92-provider{padding:12px;border:1px solid #e6e7df;border-radius:11px;background:#fafbf8;min-width:0}
.settings92-provider h3{font-size:13px;font-weight:800;margin:0 0 8px;padding-bottom:8px;border-bottom:1px solid #e8e9e2}
.settings92-provider .settings-switch-row,.settings92-provider .system-select-row{padding:10px 2px}
.settings92-extras{margin-top:16px}.settings92-extras .settings92-group{margin-bottom:26px}
.settings92-group .system-action-grid{display:contents}
@media(max-width:760px){.settings92-group{padding:12px 10px 4px}.settings92-providers-grid{grid-template-columns:1fr}.settings92-nav a{flex:1 1 calc(50% - 8px);justify-content:center}.settings92-carriers-nav a{flex:1 0 auto;text-align:center;justify-content:center}}
@media(max-width:420px){.settings92-nav a{flex:1 1 100%}}

/* Etap 94: stan systemu i zarządzanie logami */
.health94-links{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}.health94-links a{background:#fff;border:1px solid #dfe1db;border-radius:10px;padding:9px 13px;color:#3d403b;text-decoration:none;font-size:.85rem;font-weight:700}.health94-links a:hover{border-color:#d6c022;background:#fff9dd}
.health94-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.health94-kpi{padding:16px;border:1px solid #e4e6e0;border-radius:14px;background:white;display:flex;flex-direction:column;gap:8px}.health94-kpi span{font-size:.82rem;color:#66706b}.health94-kpi strong{font-size:1.8rem;line-height:1.1;font-variant-numeric:tabular-nums;color:#30352f}.health94-system{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.health94-system article{background:#fff;border:1px solid #e4e6e0;border-radius:14px;padding:18px;min-width:0}.health94-system h2{font-size:1rem;font-weight:800}.health94-system p{font-size:.87rem;color:#59605b;margin:5px 0}.health94-heading{margin:25px 0 14px;scroll-margin-top:90px}#health94-http,#retention-tools{scroll-margin-top:90px}@media(max-width:900px){.health94-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.health94-system{grid-template-columns:1fr}.health94-overview{gap:8px}.health94-kpi{padding:12px}.health94-kpi strong{font-size:1.5rem}}

/* END corporate-modern.css */


/* ETAP 124 — współdzielony design system, jawne tokeny i jednolite komponenty. */
:root{--ui-font:Arial,"Helvetica Neue",Helvetica,sans-serif;--ui-base:14px;--ui-small:12.5px;--ui-control:36px;--ui-radius:9px;--ui-line:#dedfda;--ui-muted:#526070;--ui-space:12px;--ui-accent:#ffe500}
body{font-family:var(--ui-font);font-size:14px;line-height:1.45;color:#202a34;text-rendering:optimizeLegibility}
:is(.main-content,.content-wrapper,.panel-card,.transport-panel,.form-card,.admin-card){min-width:0}
:is(h1,h2,h3,.section-header h2,.transport-section-title){letter-spacing:normal;overflow-wrap:anywhere}
:is(.form-label,label:not(.form-check-label)){line-height:1.3}
:is(.form-control,.form-select,.input-group-text){font-family:inherit;font-size:13px;min-height:36px}
.input-group{display:flex;flex-wrap:nowrap;min-width:0;max-width:100%}
.input-group>.form-control,.input-group>.form-select{flex:1 1 auto;width:1%;min-width:0}
.input-group>.input-group-text{flex:0 0 auto;min-width:42px;max-width:65px;padding-inline:10px;white-space:nowrap;text-align:center;justify-content:center}
:is(.btn,.form-control,.form-select):focus-visible{outline-offset:2px}
:is(.panel-card,.admin-card,.form-card,.metric-card){box-sizing:border-box}
.table-responsive{max-width:100%;overflow-x:auto}
.table{vertical-align:middle;font-variant-numeric:tabular-nums}
.table>:not(caption)>*>*{padding:8px 10px}
.table thead th{font-size:12.5px;font-weight:700;color:#364354;white-space:normal}
:is(.table td,.table th){overflow-wrap:anywhere}
:is(.status-pill,.badge){line-height:1.3}
@media(max-width:767.98px){.main-content{min-width:0;padding:12px 10px 20px}.section-header{flex-wrap:wrap;gap:8px}.panel-card,.admin-card{max-width:100%}.table-responsive{width:100%}}

/* Etap 125 — panel podglądu czcionki */
.font125-preview{margin-top:12px;padding:14px 16px;border:1px solid #e3e6e9;border-radius:10px;background:#f9fafb;line-height:1.55;overflow-wrap:anywhere}
.font125-preview strong{display:block;margin-bottom:5px}.font125-preview p{margin:0 0 6px}.font125-preview span{color:#526073;font-size:13px}
