/* Nowoczesny ekran dostępu — niezależny od układu panelu po zalogowaniu. */
.login-body { display: block; min-width: 0; min-height: 100vh; margin: 0; padding: 0; overflow-x: hidden; background: #080b12; }
.login-shell { position: relative; display: grid; width: 100%; grid-template-columns: minmax(0, 1.12fr) minmax(430px, .88fr); min-height: 100vh; overflow: hidden; background: radial-gradient(circle at 17% 27%, rgba(108, 88, 246, .34), transparent 33rem), radial-gradient(circle at 49% 83%, rgba(36, 158, 183, .13), transparent 29rem), linear-gradient(112deg, #121034 0%, #0d1121 47%, #0a0e17 76%, #090c13 100%); }
.login-showcase { position: relative; display: flex; min-height: 100vh; flex-direction: column; justify-content: center; overflow: hidden; padding: clamp(42px, 7vw, 110px); color: #f5f7ff; background: linear-gradient(90deg, rgba(8, 10, 25, .08), rgba(12, 16, 29, .02) 72%, transparent); }
.login-showcase::before, .login-showcase::after { position: absolute; border: 1px solid rgba(164, 151, 255, .14); border-radius: 50%; content: ""; pointer-events: none; }.login-showcase::before { width: 620px; height: 620px; top: -320px; right: -210px; box-shadow: 0 0 0 72px rgba(117, 96, 236, .035), 0 0 0 145px rgba(117, 96, 236, .025); }.login-showcase::after { width: 390px; height: 390px; bottom: -240px; left: 16%; box-shadow: 0 0 0 66px rgba(41, 181, 190, .025); }
.login-brand, .login-showcase-copy, .login-signal-card, .login-showcase-grid, .login-copyright { position: relative; z-index: 1; }.login-brand { position: absolute; top: clamp(24px, 4vw, 54px); left: clamp(25px, 5vw, 78px); display: inline-flex; align-items: center; gap: 10px; color: #f4f5ff; font-size: 18px; font-weight: 900; letter-spacing: -.7px; text-decoration: none; }.login-brand .brand-mark { width: 38px; height: 38px; border-radius: 12px; font-size: 18px; box-shadow: 0 8px 22px rgba(107, 88, 255, .38); }.login-brand b { color: #a89cff; font-weight: 900; }
.login-showcase-copy { max-width: 660px; }.login-showcase-copy .eyebrow { color: #b8b0ff; }.login-showcase-copy h1 { margin: 0; color: #fcfcff; font-size: clamp(42px, 5vw, 76px); line-height: .98; letter-spacing: -3.5px; }.login-showcase-copy h1 em { color: #a69bff; font-style: normal; }.login-showcase-copy > p:not(.eyebrow) { max-width: 540px; margin: 22px 0 0; color: #aeb9cf; font-size: 15px; line-height: 1.75; }
.login-signal-card { display: flex; align-items: center; gap: 11px; width: min(100%, 410px); margin-top: 38px; padding: 13px; border: 1px solid rgba(155, 144, 255, .25); border-radius: 13px; background: rgba(7, 10, 21, .31); backdrop-filter: blur(12px); }.login-signal-dot { width: 10px; height: 10px; flex: 0 0 auto; border-radius: 50%; background: #56dba0; box-shadow: 0 0 0 5px rgba(86, 219, 160, .12), 0 0 18px rgba(86, 219, 160, .66); }.login-signal-card div { min-width: 0; }.login-signal-card strong, .login-signal-card small { display: block; }.login-signal-card strong { font-size: 12px; }.login-signal-card small { margin-top: 3px; color: #9ba9c0; font-size: 10px; }.login-signal-card b { margin-left: auto; color: #c9c3ff; font-size: 10px; }
.login-showcase-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; width: min(100%, 455px); margin-top: 28px; }.login-showcase-grid span { padding: 10px 12px; border: 1px solid rgba(127, 143, 184, .18); border-radius: 9px; color: #c6d0e5; background: rgba(10, 15, 27, .23); font-size: 11px; font-weight: 750; }.login-copyright { position: absolute; bottom: 30px; left: clamp(25px, 5vw, 78px); margin: 0; color: #71809b; font-size: 10px; }
.login-access { position: relative; display: grid; place-items: center start; padding: 28px clamp(40px, 6vw, 136px); background: radial-gradient(circle at 28% 46%, rgba(103, 88, 211, .16), transparent 25rem), linear-gradient(90deg, transparent, rgba(7, 10, 17, .08) 34%, rgba(7, 10, 17, .26)); }.login-access::before { position: absolute; top: 17%; bottom: 17%; left: 0; width: 1px; background: linear-gradient(transparent, rgba(133, 123, 237, .16), transparent); content: ""; }.login-access::after { position: absolute; width: 540px; height: 540px; left: -175px; top: 50%; border-radius: 50%; background: rgba(97, 82, 219, .11); filter: blur(70px); transform: translateY(-50%); content: ""; pointer-events: none; }.login-card { z-index: 1; position: relative; width: min(100%, 520px); padding: clamp(34px, 4vw, 54px); border: 1px solid rgba(83, 99, 137, .82); border-radius: 24px; background: linear-gradient(145deg, rgba(26, 33, 49, .98), rgba(12, 17, 28, .99)); box-shadow: 0 34px 92px rgba(0, 0, 0, .34), 0 0 0 1px rgba(137, 122, 255, .04) inset; text-align: left; }.login-card::before { display: block; width: 56px; height: 3px; margin: -54px 0 35px; border-radius: 0 0 4px 4px; background: linear-gradient(90deg, #9a8fff, #5fdcaf); content: ""; }.login-card-top { display: flex; align-items: center; gap: 7px; color: #aaa1ff; font-size: 10px; font-weight: 900; letter-spacing: .11em; }.login-lock { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 7px; color: #e4e1ff; background: rgba(128, 113, 242, .22); font-size: 15px; }.login-card h2 { margin: 21px 0 11px; color: #f7f8fd; font-size: clamp(29px, 3vw, 36px); letter-spacing: -1.2px; }.login-card .muted { margin: 0; color: #a6b2c8; font-size: 13px; line-height: 1.7; }.login-error { margin: 18px 0 0; padding: 10px 11px; border: 1px solid rgba(229, 98, 119, .34); border-radius: 9px; color: #ffc2cb; background: rgba(141, 43, 62, .18); font-size: 11px; line-height: 1.45; }.discord-button { display: flex; justify-content: space-between; width: 100%; min-height: 54px; margin-top: 30px; padding: 0 17px; border: 1px solid rgba(157, 146, 255, .45); border-radius: 11px; color: #fff; background: linear-gradient(135deg, #6573ec, #5964e8); box-shadow: 0 12px 24px rgba(73, 85, 213, .25); font-size: 12px; }.discord-button:hover { border-color: #bab3ff; background: linear-gradient(135deg, #7784ff, #636eea); box-shadow: 0 14px 28px rgba(73, 85, 213, .38); }.discord-mark { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 7px; color: #6470e9; background: #fff; font-size: 11px; }.login-trust { display: flex; flex-wrap: wrap; gap: 7px 14px; margin-top: 17px; color: #7fd5ad; font-size: 10px; font-weight: 750; }.login-note { margin: 24px 0 0; padding-top: 16px; border-top: 1px solid rgba(65, 79, 106, .58); color: #8492aa; font-size: 10px; line-height: 1.55; }
@media (max-width: 900px) { .login-shell { grid-template-columns: 1fr; }.login-showcase { min-height: 335px; padding: 92px 28px 56px; }.login-brand { top: 22px; left: 26px; }.login-showcase-copy h1 { font-size: clamp(38px, 10vw, 58px); }.login-showcase-grid, .login-signal-card, .login-copyright { display: none; }.login-access { min-height: calc(100vh - 335px); }.login-card::before { margin-top: -30px; } }
@media (max-width: 500px) { .login-showcase { min-height: 285px; padding: 85px 22px 40px; }.login-showcase-copy h1 { letter-spacing: -2.4px; }.login-showcase-copy > p:not(.eyebrow) { font-size: 12px; }.login-access { padding: 13px; }.login-card { padding: 31px 24px; border-radius: 17px; }.login-card::before { margin: -31px 0 25px; }.login-card h2 { font-size: 28px; } }


/* Szerokie ekrany: zamknięta kompozycja, bez pustej i urwanej połowy strony. */
.login-body { display: grid; min-height: 100vh; padding: clamp(16px, 2.2vw, 42px); place-items: center; background: radial-gradient(circle at 14% 5%, rgba(101, 78, 235, .20), transparent 31rem), #080b12; }
.login-shell { width: min(1780px, 100%); min-height: min(900px, calc(100vh - clamp(32px, 4.4vw, 84px))); grid-template-columns: minmax(0, 1.12fr) minmax(460px, .88fr); border: 1px solid rgba(93, 106, 146, .48); border-radius: 30px; background: radial-gradient(circle at 19% 25%, rgba(111, 88, 244, .27), transparent 35rem), linear-gradient(119deg, #121033 0%, #0d1120 53%, #0b0f18 100%); box-shadow: 0 32px 110px rgba(0, 0, 0, .44); }
.login-showcase { min-height: 100%; padding: clamp(48px, 7vw, 128px); background: linear-gradient(90deg, rgba(8, 10, 28, .10), transparent 83%); }
.login-showcase-copy { max-width: 680px; }
.login-showcase-copy h1 { font-size: clamp(46px, 4.7vw, 78px); }
.login-signal-card { width: min(100%, 432px); margin-top: 40px; }
.login-showcase-grid { width: min(100%, 478px); }
.login-access { min-height: 100%; padding: clamp(40px, 5vw, 94px); background: radial-gradient(circle at 49% 44%, rgba(104, 89, 214, .17), transparent 25rem), linear-gradient(112deg, rgba(14, 18, 31, .12), rgba(7, 10, 17, .48)); }
.login-access::before { top: 12%; bottom: 12%; background: linear-gradient(transparent, rgba(142, 129, 244, .22), transparent); }
.login-access::after { width: 490px; height: 490px; left: 50%; background: rgba(105, 86, 229, .12); }
.login-card { width: min(100%, 540px); padding: clamp(36px, 4vw, 58px); border-color: rgba(82, 99, 137, .82); border-radius: 24px; box-shadow: 0 34px 92px rgba(0, 0, 0, .36), 0 0 0 1px rgba(137, 122, 255, .05) inset; }
.login-card::before { width: 58px; margin: -58px 0 37px; }
.login-card h2 { font-size: clamp(30px, 2.7vw, 37px); }
.discord-button { min-height: 56px; }

@media (max-width: 1040px) { .login-body { padding: 16px; }.login-shell { grid-template-columns: minmax(0, 1fr) minmax(400px, .82fr); }.login-showcase { padding: 54px; }.login-access { padding: 38px; } }
@media (max-width: 820px) { .login-body { display: block; padding: 0; }.login-shell { width: 100%; min-height: 100vh; grid-template-columns: 1fr; border: 0; border-radius: 0; }.login-showcase { min-height: 335px; padding: 92px 28px 56px; }.login-brand { top: 22px; left: 26px; }.login-showcase-copy h1 { font-size: clamp(38px, 10vw, 58px); }.login-showcase-grid, .login-signal-card, .login-copyright { display: none; }.login-access { min-height: calc(100vh - 335px); padding: 34px 24px; }.login-access::before { display: none; }.login-card::before { margin-top: -58px; } }
@media (max-width: 500px) { .login-showcase { min-height: 285px; padding: 85px 22px 40px; }.login-showcase-copy h1 { letter-spacing: -2.4px; }.login-showcase-copy > p:not(.eyebrow) { font-size: 12px; }.login-access { padding: 26px 13px; }.login-card { padding: 38px 24px; border-radius: 17px; }.login-card::before { margin: -38px 0 27px; }.login-card h2 { font-size: 28px; } }
