/* MYKSIR B2B — scoped login presentation, v1 */
body.b2b-login { margin:0; min-height:100vh; height:auto; background:#f3f6fa; color:#172b47; font:15px/1.5 "Segoe UI",Arial,sans-serif; }
.b2b-login *, .b2b-login *::before, .b2b-login *::after { box-sizing:border-box; }
.b2b-login #form1 { margin:0; padding:0; min-height:100vh; }
.b2b-login .b2b-login-header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:14px 40px; min-height:84px; background:#172e49; color:#fff; }
.b2b-login .b2b-portal-title { font-size:20px; font-weight:600; }
.b2b-login .b2b-logo { background:white; padding:8px 14px; border-radius:8px; line-height:0; }
.b2b-login .b2b-logo img { display:block; width:132px; height:auto; max-height:55px; object-fit:contain; }
.b2b-login .b2b-login-main { width:100%; max-width:540px; margin:0 auto; padding:58px 24px 48px; float:none; background:none; }
.b2b-login .b2b-login-control { border:0; border-collapse:collapse; width:100%; }
.b2b-login .b2b-login-control > tbody > tr > td { padding:0; }
.b2b-login .b2b-login-card { padding:38px; background:#fff; border:1px solid #d9e2ed; border-radius:12px; box-shadow:0 10px 36px #17304c09; text-align:left; }
.b2b-login .b2b-config-logo { display:none!important; }
.b2b-login h1 { margin:0 0 6px; padding:0; font:700 30px/1.3 "Segoe UI",Arial,sans-serif; color:#172b47; text-transform:none; }
.b2b-login .b2b-intro { margin:0 0 30px; padding:0; color:#64758b; font-size:16px; }
.b2b-login .b2b-field { margin:0 0 20px; }
.b2b-login .b2b-field label { display:block; margin:0 0 8px; color:#172b47; font-size:14px; font-weight:600; }
.b2b-login input.b2b-input { display:block; float:none; width:100%; height:48px; padding:11px 14px; margin:0; border:1px solid #cdd8e5; border-radius:7px; background:#fff; color:#172b47; font:16px "Segoe UI",Arial,sans-serif; box-shadow:none; }
.b2b-login input.b2b-input::placeholder { color:#748299; }
.b2b-login .b2b-password-wrap { position:relative; }
.b2b-login .b2b-password-wrap input { padding-right:75px; }
.b2b-login .b2b-password-toggle { position:absolute; right:4px; top:4px; height:40px; padding:0 10px; border:0; border-radius:4px; color:#315c8c; background:transparent; font:13px "Segoe UI",Arial,sans-serif; cursor:pointer; }
.b2b-login a.b2b-submit { display:flex; justify-content:center; align-items:center; width:100%; min-height:48px; padding:12px 16px; background:#087bd9; border:1px solid #087bd9; border-radius:7px; color:white; text-decoration:none; font-size:16px; font-weight:600; }
.b2b-login a.b2b-submit:hover { background:#0666b6; }
.b2b-login .b2b-recovery { text-align:center; padding-top:24px; }
.b2b-login .b2b-recovery a { color:#086dbc; font-size:14px; }
.b2b-login :focus-visible { outline:3px solid #8bc7ff; outline-offset:3px; }
.b2b-login input:focus { border-color:#087bd9; }
.b2b-login .b2b-login-error { color:#b42318; font-size:14px; }
.b2b-login .b2b-login-error:not(:empty) { padding:10px 12px; margin-bottom:18px; background:#fff0ee; border-radius:6px; }
.b2b-login .b2b-announcement, .b2b-login .b2b-login-message { overflow-wrap:anywhere; color:#42556d; font-size:14px; }
.b2b-login .b2b-announcement:has(span:not(:empty)) { margin-bottom:20px; padding:16px; background:#e8f2fd; border-radius:8px; }
.b2b-login .b2b-login-message:has(span:not(:empty)) { margin-bottom:24px; }
@media(max-width:600px) {
 .b2b-login .b2b-login-header { padding:12px 18px; min-height:72px; }
 .b2b-login .b2b-portal-title { font-size:17px; }
 .b2b-login .b2b-logo img { width:108px; }
 .b2b-login .b2b-login-main { padding:32px 16px; }
 .b2b-login .b2b-login-card { padding:26px 22px; }
 .b2b-login h1 { font-size:27px; }
}

/* v3.1: niezależny panel logowania — reset ograniczeń starego motywu. */
body.b2b-login { min-width: 0 !important; width: 100% !important; height: auto !important; overflow: auto !important; }
.b2b-login #form1 { width: 100%; min-width: 0; height: auto; }
.b2b-login main.b2b-login-main {
 display: block !important; visibility: visible !important; opacity: 1 !important;
 position: relative !important; top: auto !important; left: auto !important;
 right: auto !important; bottom: auto !important; transform: none !important;
 min-width: 0 !important; height: auto !important; min-height: 0 !important;
 max-width: 540px; width: 100% !important; overflow: visible !important;
 margin: 0 auto !important; float: none !important;
}
.b2b-login .b2b-login-control { display: table !important; table-layout: fixed; max-width: 100%; min-width: 0 !important; }
.b2b-login .b2b-login-control > tbody { display: table-row-group !important; }
.b2b-login .b2b-login-control > tbody > tr { display: table-row !important; }
.b2b-login .b2b-login-control > tbody > tr > td { display: table-cell !important; width: 100%; padding: 0 !important; }
.b2b-login .b2b-login-card { display: block !important; visibility: visible !important; width: 100%; min-width: 0; height: auto; overflow: visible; }
@media screen and (max-width: 600px) {
 .b2b-login .b2b-login-header { display: flex !important; width: 100%; padding: 12px 16px; gap: 12px; min-width: 0; }
 .b2b-login .b2b-portal-title { font-size: 17px; }
 .b2b-login .b2b-logo { margin-left: auto; padding: 8px; }
 .b2b-login .b2b-logo img { width: 96px; }
 .b2b-login main.b2b-login-main { padding: 20px 12px 28px !important; }
 .b2b-login .b2b-login-card { padding: 24px 18px !important; }
 .b2b-login h1 { font-size: 26px; }
 .b2b-login .b2b-intro { margin-bottom: 22px; }
 .b2b-login input.b2b-input { width: 100% !important; min-width: 0; height: 48px !important; font-size: 16px !important; }
 .b2b-login .b2b-field { width: 100%; margin-bottom: 18px; }
 .b2b-login .b2b-field label { color: #172b47 !important; }
 .b2b-login a.b2b-submit { min-height: 48px; color: #fff !important; }
 .b2b-login .b2b-announcement, .b2b-login .b2b-login-message { overflow-wrap: anywhere; }
}
