/* VELARO · WYWOZY: ekran logowania (samodzielny arkusz; styles.css starego UI nie jest tu ładowany). */
@font-face{font-family:"Montserrat";font-style:normal;font-weight:100 900;font-display:swap;src:url("./assets/fonts/montserrat-latin-ext-wght-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:100 900;font-display:swap;src:url("./assets/fonts/montserrat-latin-wght-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{color-scheme:light;font-family:"Montserrat","Segoe UI",Arial,sans-serif;font-size:14px;color:var(--ink-strong);background:var(--page);
--page:#fff;--surface:#fff;--surface-2:#f5f6f7;--surface-3:#fbfbfc;--layer:#e9ecef;
--line:#d8dde3;--line-soft:#e9ecef;--line-ctl:#c9d0d8;--line-strong:#a3a3a3;
--ink:#17191c;--ink-strong:#23282e;--body:#56616d;--muted:#626c77;--on-dark:#f5f6f7;
--accent:#aeb6c0;--accent-soft:#eef1f4;--accent-deep:#8f99a4;--accent-text:#56616d;
--cta:#17191c;--cta-hover:#23282e;--cta-pressed:#0e1013;--cta-text:#fff;
--ok:#166534;--ok-bg:#f0fdf4;--ok-line:#86efac;
--err:#991b1b;--err-bg:#fef2f2;--err-line:#fca5a5;
--warn:#92400e;--warn-bg:#fffbeb;--warn-line:#f6cf7c;--warn-strong:#b45309;
--info:#1e40af;--info-bg:#eff6ff;--info-line:#bfdbfe;
--focus:#56616d;--focus-ring:0 0 0 3px rgba(174,182,192,.45);
--shadow-card:0 1px 2px rgba(23,25,28,.04),0 8px 24px -12px rgba(23,25,28,.10);
--shadow-float:0 2px 4px rgba(23,25,28,.05),0 18px 40px -16px rgba(23,25,28,.18);
--shadow-bar:0 -1px 2px rgba(23,25,28,.04),0 -10px 28px -14px rgba(23,25,28,.16);
--r-sm:8px;--r-ctl:12px;--r-card:16px;--r-panel:24px;--radius:12px;
--ease:cubic-bezier(0.16,1,0.3,1);--ease-large:cubic-bezier(0.22,0.61,0.36,1);--t-color:350ms;--t-control:450ms;--t-overlay:650ms;
--text:var(--ink);--text-soft:var(--muted)
}
*{box-sizing:border-box}
body{margin:0;min-width:320px;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.6}
[hidden]{display:none!important}
[data-icon]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.icon{width:18px;height:18px;flex-shrink:0}
a{color:inherit;text-underline-offset:3px}
a:focus-visible,button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
h1,h2,p{margin:0}
.login-body{min-height:100dvh;background:var(--page)}
.login-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr)}
/* Lewy panel: ciemna powierzchnia marki */
.login-story{background:var(--ink);color:var(--on-dark);padding:44px 9%;display:flex;flex-direction:column;position:relative;overflow:hidden}
.login-story::after{content:"";position:absolute;inset:auto -20% -30% auto;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(174,182,192,.14),rgba(174,182,192,0));pointer-events:none}
.brand{display:inline-flex;flex-direction:column;align-items:flex-start;gap:8px;text-decoration:none;border-radius:var(--r-sm)}
.brand-logo{display:block;height:20px;width:auto}
.brand-caption{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.login-story .brand-logo{filter:invert(1) brightness(.97)}
.login-story .brand-caption{color:var(--accent)}
.login-story a:focus-visible{outline-color:var(--accent)}
.login-story-content{margin:auto 0;padding:64px 0;max-width:420px;position:relative;z-index:1}
.login-story h1{font-size:36px;line-height:1.2;letter-spacing:-.02em;font-weight:600;margin:0 0 20px;color:#fff;text-wrap:balance}
.login-story-content>p{color:#c9ced5;font-size:14px;line-height:1.75;max-width:360px}
.login-benefits{display:grid;padding:0;list-style:none;margin:36px 0 0;max-width:360px}
.login-benefits li{display:flex;align-items:center;gap:14px;border-top:1px solid rgba(174,182,192,.22);padding:15px 0;font-size:13px;line-height:1.5;color:#dde1e6}
.login-benefits li:last-child{border-bottom:1px solid rgba(174,182,192,.22)}
.login-benefits .icon{color:var(--accent);width:18px;height:18px}
.login-story-footer{color:#a9b0b9;font-size:11px;line-height:1.6;position:relative;z-index:1}
/* Prawy panel: formularz */
.login-area{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 32px;background:var(--page)}
.login-form-wrap{width:min(100%,360px)}
.mobile-brand{display:none}
.login-form-wrap h2{font-size:28px;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin:0 0 8px}
.login-form-wrap>p{color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 32px}
.login-form{display:grid;gap:20px}
.login-form label{display:block;margin-bottom:8px;color:var(--ink-strong);font-size:12px;font-weight:600}
.login-form input{width:100%;border:1px solid var(--line-ctl);border-radius:var(--r-ctl);background:var(--surface);color:var(--ink);padding:12px 14px;font-size:14px;min-height:46px;transition:border-color var(--t-color) var(--ease),box-shadow var(--t-control) var(--ease)}
.login-form input:hover{border-color:var(--accent-deep)}
.login-form input:focus-visible{outline:none;border-color:var(--focus);box-shadow:var(--focus-ring)}
.login-form input::placeholder{color:var(--muted)}
.password-field{position:relative}
.password-field input{padding-right:48px}
.icon-button{display:inline-grid;place-items:center;width:36px;height:36px;border:0;border-radius:var(--r-ctl);background:transparent;color:var(--body);padding:0;transition:background-color var(--t-color) var(--ease),color var(--t-color) var(--ease)}
.icon-button:hover{background:var(--layer);color:var(--ink)}
.password-field button{position:absolute;right:5px;top:5px}
.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:10px 18px;border:1px solid transparent;border-radius:var(--r-ctl);font-size:14px;font-weight:600;line-height:1.3;text-decoration:none;white-space:nowrap;transition:background-color var(--t-color) var(--ease),border-color var(--t-color) var(--ease)}
.button.primary{background:var(--cta);border-color:var(--cta);color:var(--cta-text)}
.button.primary:hover:not(:disabled){background:var(--cta-hover);border-color:var(--cta-hover)}
.button.primary:active{background:var(--cta-pressed)}
.button .icon{width:17px;height:17px}
.login-form .button{margin-top:4px}
.login-error{color:var(--err);background:var(--err-bg);border:1px solid var(--err-line);border-left:4px solid var(--err);padding:10px 12px;border-radius:var(--r-sm);font-size:12px;font-weight:500;line-height:1.6}
.caps-hint{font-size:12px;font-weight:500;color:var(--warn);margin:8px 0 0}
.login-support{font-size:12px;color:var(--muted);line-height:1.7;padding:24px 0;border-bottom:1px solid var(--line)}
.login-privacy{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;line-height:1.5;padding-top:18px}
.login-privacy .icon{width:13px;height:13px}
@media(max-width:760px){
.login-shell{display:block}
.login-story{display:none}
.login-area{min-height:100dvh;justify-content:flex-start;padding:36px 24px}
.mobile-brand{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-bottom:40px}
.mobile-brand .brand-logo{height:17px}
.login-form-wrap h2{font-size:25px}
.login-form input{font-size:16px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
