@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:wght@400;500&display=swap');
:root{--bg:#160d09;--panel:rgba(27,16,11,.82);--line:rgba(194,157,106,.34);--gold:#d1a45e;--text:#f4eee8;--muted:rgba(244,238,232,.62)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:'DM Sans',Arial,sans-serif}body{overscroll-behavior:none}a{text-decoration:none;color:inherit}button,input{font:inherit}
.app{position:relative;height:100dvh;min-height:100dvh;overflow:hidden}.app-bg{position:fixed;inset:0;background-image:linear-gradient(rgba(19,10,7,.38),rgba(19,10,7,.62)),url('assets/dashboard-bg.jpg');background-size:cover;background-position:72% center;filter:saturate(.88);z-index:0}.app:after{content:"";position:fixed;inset:0;background:linear-gradient(180deg,rgba(14,7,5,.34) 0%,rgba(14,7,5,.08) 38%,rgba(14,7,5,.74) 100%);pointer-events:none;z-index:0}
.top{height:92px;position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;width:min(760px,100%);margin:auto;padding:20px 22px 10px}.logo{display:flex;gap:10px;align-items:center}.logo strong{font:500 52px/1 'Playfair Display',serif}.logo span{display:flex;flex-direction:column}.logo b{font-size:18px;letter-spacing:6px;font-weight:500}.logo small{font-size:7px;letter-spacing:2px;margin-top:5px;opacity:.78}.avatar{width:55px;height:55px;border-radius:50%;border:1px solid rgba(218,176,106,.7);background:rgba(93,67,34,.88);display:grid;place-items:center;font:19px 'Playfair Display',serif;flex:none}
.screen{position:relative;z-index:2;width:min(760px,100%);height:calc(100dvh - 160px);margin:auto;padding:8px 24px 24px;overflow:hidden}.screen>*{max-width:100%}.greet{font:400 29px 'Playfair Display',serif;margin:5px 0 14px}.greet small{display:block;font:14px 'DM Sans';opacity:.68;margin-top:4px}.remember{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin-bottom:16px}.remember b,.eyebrow,.pagehead>div{display:block;letter-spacing:4px;color:var(--gold);font-size:10px;font-weight:600}.remember span{display:block;margin-top:6px;font:15px 'Playfair Display',serif}.remember small{display:block;opacity:.58;font-size:10px;margin-top:2px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);margin:12px 0 17px;text-align:center}.stats>div{border-right:1px solid rgba(214,190,162,.42)}.stats>div:last-child{border:0}.stats b{display:block;font:32px 'Playfair Display',serif}.stats span{display:block;font-size:10px;opacity:.65;margin-top:2px}
.card{border:1px solid rgba(194,157,106,.48);border-radius:20px;background:rgba(26,15,10,.78);padding:18px;box-shadow:0 14px 45px rgba(0,0,0,.18);backdrop-filter:blur(5px)}.date{font:23px 'Playfair Display',serif;margin:8px 0 5px}.status{font-size:8px;letter-spacing:2px;border:1px solid #9a7748;border-radius:20px;padding:5px 8px;display:inline-block;color:#d9b46f}.massrow{display:flex;justify-content:space-between;align-items:center;margin:11px 0 14px}.massrow b{font:40px 'Playfair Display',serif}.massrow span{font-size:11px;opacity:.68}.mass-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mass{width:100%;padding:11px 4px;border:1px solid #604a39;border-radius:11px;background:rgba(30,18,12,.9);color:#eee;cursor:pointer}.mass b{display:block;font:17px 'Playfair Display'}.mass span{font-size:8px;opacity:.62}.cancel{background:transparent;border:1px solid #6b5143;color:#cdbeb5;border-radius:9px;padding:9px 14px}
.nav{position:fixed;z-index:5;bottom:0;left:0;right:0;height:68px;border-top:1px solid rgba(111,83,59,.5);background:rgba(19,10,7,.94);display:grid;grid-template-columns:repeat(4,1fr);padding:4px max(8px,calc((100vw - 760px)/2));backdrop-filter:blur(10px)}.nav a{text-align:center;opacity:.56;padding-top:2px}.nav a.active{opacity:1;color:var(--gold)}.nav i{display:block;font-style:normal;font-size:22px;line-height:24px}.nav span{font-size:9px}
.pagehead{padding:10px 2px 14px}.pagehead h1,.accounthead h1,.profile h1{font:400 33px 'Playfair Display',serif;margin:6px 0}.pagehead p,.accounthead p,.profile p{opacity:.58;margin:0;font-size:11px}.list{border-top:1px solid rgba(194,157,106,.25)}.rank{display:grid;grid-template-columns:28px 40px 1fr auto;align-items:center;gap:9px;padding:10px 3px;border-bottom:1px solid rgba(194,157,106,.22)}.rank em{font-style:normal;opacity:.5;text-align:center}.small{width:38px;height:38px;font-size:14px}.who b{display:block;font-size:12px}.who small{opacity:.5;font-size:9px}.rank>strong{font:19px 'Playfair Display'}.rank>strong small{font:8px 'DM Sans';opacity:.5}.profile{text-align:center;padding-top:16px}.big{width:88px;height:88px;font-size:26px;margin:0 auto 18px}.profile-points{margin:23px auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px}.profile-points b{display:block;font:52px 'Playfair Display'}.profile-points span{font-size:9px;letter-spacing:3px;color:var(--gold)}.event{display:flex;gap:15px;padding:14px 3px;border-bottom:1px solid rgba(194,157,106,.22)}.eventdate{font:23px 'Playfair Display';color:var(--gold);width:52px}.event b{font-size:13px}.event p{font-size:10px;opacity:.6;margin:4px 0}.event small{font-size:8px;opacity:.45}.empty{padding:25px 3px;opacity:.5}.accounthead{padding:9px 0 14px}.accounthead .big{margin:0 0 12px}.menu{border-top:1px solid rgba(194,157,106,.25)}.menu>a,.setting{display:flex;justify-content:space-between;align-items:center;padding:18px 4px;border-bottom:1px solid rgba(194,157,106,.25);font-size:11px;letter-spacing:3px}.menu>a b{color:var(--gold);font-size:24px;font-weight:400}.setting{letter-spacing:0;opacity:.75}.setting b{color:#fff}.history{display:grid;grid-template-columns:1fr 65px 100px 52px;gap:5px;align-items:center;padding:13px 3px;border-bottom:1px solid rgba(194,157,106,.22);font-size:10px}.history b{font:17px 'Playfair Display'}.history strong{font-size:9px;text-align:right}.status.approved{color:#b9d19a;border-color:#627850}.status.rejected{color:#cf9182;border-color:#805247}.badges{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.badge{height:115px;border:1px solid #574235;border-radius:16px;display:grid;place-items:center;background:rgba(30,18,12,.75)}.badge b{font:36px 'Playfair Display';color:var(--gold)}.badge span{font-size:8px;letter-spacing:1px;opacity:.6}
.login{height:100dvh;min-height:100dvh;overflow:hidden;background:#160d09}.login-bg{position:fixed;inset:0;background-image:linear-gradient(90deg,rgba(17,8,5,.63) 0%,rgba(17,8,5,.23) 54%,rgba(17,8,5,.38) 100%),url('assets/login-bg.jpg');background-size:cover;background-position:center 42%;z-index:0}.login:after{content:"";position:fixed;inset:0;background:linear-gradient(180deg,rgba(15,7,5,.1),rgba(15,7,5,.03) 46%,rgba(15,7,5,.72));z-index:0;pointer-events:none}.login-wrap{position:relative;z-index:1;height:100dvh;width:min(650px,100%);margin:auto;padding:28px 24px 15px;display:flex;flex-direction:column}.brand{text-align:center;letter-spacing:7px;font-size:16px}.brand span{display:block;font-size:7px;letter-spacing:4px;margin-top:5px;opacity:.78}.hero{text-align:center;margin:auto 0 17px}.hero .kicker{font:44px 'Playfair Display',serif}.goldline{width:78px;height:2px;background:var(--gold);margin:11px auto}.hero h1{font:32px 'Playfair Display';font-weight:400;margin:0 0 16px}.hero p{font:italic 14px 'Playfair Display';line-height:1.45;max-width:500px;margin:0 auto 11px}.hero small{font-size:9px;letter-spacing:2px;opacity:.75}.login-card{background:rgba(23,14,10,.70);border:1px solid rgba(177,145,108,.52);border-radius:22px;padding:16px 20px;backdrop-filter:blur(7px)}.login-card label{display:block;font-size:10px;margin:0 0 6px}.login-card input{width:100%;height:52px;background:rgba(255,255,255,.07);border:1px solid #725f54;border-radius:14px;margin-bottom:10px;color:#fff;padding:0 14px;outline:0}.login-card button{width:100%;height:55px;border:0;border-radius:14px;background:#a97837;color:#fff;font:19px 'Playfair Display';margin-top:1px}.login-card button b{font-size:28px;margin-left:10px;font-weight:400}.forgot{text-align:center;font-size:7px;letter-spacing:4px;margin-top:12px;opacity:.76}.error{color:#e0a18f;font-size:10px;text-align:center;margin-top:8px}
@media(max-width:520px){.top{height:80px;padding:15px 18px 7px}.logo strong{font-size:43px}.logo b{font-size:16px;letter-spacing:5px}.logo small{font-size:6px}.avatar{width:52px;height:52px}.screen{height:calc(100dvh - 148px);padding:6px 16px 18px}.greet{font-size:25px}.remember{padding:10px 0;margin-bottom:13px}.remember span{font-size:14px}.stats{margin:10px 0 14px}.stats b{font-size:29px}.card{padding:15px}.mass-grid{grid-template-columns:repeat(4,1fr);gap:6px}.mass{padding:9px 2px}.mass b{font-size:15px}.hero .kicker{font-size:39px}.hero h1{font-size:29px}.hero p{font-size:13px}.login-wrap{padding:25px 15px 13px}.login-card{padding:15px 17px}.login-card input{height:50px}.login-card button{height:53px}.nav{height:68px}.nav i{font-size:21px}.nav span{font-size:8px}}
/* AKCJE MINISTRANTA */
.action-event{align-items:flex-start}.event-body{flex:1}.event-signup{margin-top:8px}.event-signup button{height:32px;padding:0 13px;border:1px solid #8c6838;border-radius:9px;background:rgba(49,30,16,.88);color:#d9b46f;font-size:9px}.event-signup button.going{background:#a97837;color:#fff;border-color:#a97837}.action-event .eventdate{flex:none}
.register-page .login-wrap{padding-top:22px}
.register-card{background:rgba(23,14,10,.74);border:1px solid rgba(177,145,108,.52);border-radius:22px;padding:18px 20px;backdrop-filter:blur(8px);margin:auto 0;max-height:calc(100dvh - 85px);overflow:hidden}
.register-card .eyebrow{color:var(--gold);letter-spacing:4px;font-size:9px}
.register-card h1{font:400 30px 'Playfair Display',serif;margin:5px 0 4px;text-align:center}
.register-card>p{text-align:center;opacity:.6;font-size:10px;margin:0 0 14px}
.register-form{display:block}.register-form label{display:block;font-size:9px;margin:0 0 5px}.register-form input:not([type=checkbox]){width:100%;height:43px;background:rgba(255,255,255,.07);border:1px solid #725f54;border-radius:12px;margin-bottom:8px;color:#fff;padding:0 12px;outline:0;box-sizing:border-box}.register-form .two{display:grid;grid-template-columns:1fr 1fr;gap:9px}.register-form .consent{display:flex;gap:9px;align-items:flex-start;margin:4px 0 12px;font-size:9px;line-height:1.35;opacity:.8}.register-form .consent input{margin-top:2px;accent-color:#a97837}.register-form button{width:100%;height:49px;border:0;border-radius:13px;background:#a97837;color:#fff;font:18px 'Playfair Display'}.register-form button b{font-size:24px;margin-left:8px;font-weight:400}.back-login,.success a{display:block;text-align:center;color:#fff;text-decoration:none;font-size:8px;letter-spacing:2px;margin-top:11px;opacity:.7}.register-link{display:block;text-align:center;color:#fff;text-decoration:none;font-size:7px;letter-spacing:2px;margin-top:11px;opacity:.72}.register-link b{color:var(--gold);font-weight:600}.success{border:1px solid rgba(177,145,108,.35);border-radius:14px;padding:16px;text-align:center;background:rgba(0,0,0,.15)}.success b{display:block;color:#d3a35a;font:18px 'Playfair Display';margin-bottom:7px}.success span{display:block;font-size:10px;opacity:.7;line-height:1.5}.subsection-title{font-size:8px;letter-spacing:3px;color:var(--gold);padding:10px 2px 7px;border-bottom:1px solid rgba(194,157,106,.2)}

.registered-login{display:block;font:600 20px 'DM Sans',Arial,sans-serif;letter-spacing:.5px;color:#d1a45e;margin:8px 0}.success small{display:block;color:rgba(245,238,231,.60);font-size:10px;margin:4px 0 10px}

/* Przywrócenie czystego tła logowania — tekst jest już częścią fotografii login-bg.jpg. */
.login .brand,.login .hero{display:none}
.login-wrap{justify-content:flex-end}
.login-card{margin-top:auto;margin-bottom:18px}
.register-page .login-wrap{justify-content:center}
.register-page .register-card{margin:auto 0}
/* v6 — czyste tło logowania i spokojniejsza typografia */
.login-bg{background-image:linear-gradient(90deg,rgba(17,8,5,.24) 0%,rgba(17,8,5,.08) 54%,rgba(17,8,5,.28) 100%),url('assets/login-bg.jpg');background-size:cover;background-position:center center}
.login .brand,.login .hero{display:block}
.login-wrap{justify-content:flex-start}
.hero{margin:auto 0 17px}
.register-link{font-size:8.5px}
.register-form input[type=email]{width:100%;height:43px;background:rgba(255,255,255,.07);border:1px solid #725f54;border-radius:12px;margin-bottom:8px;color:#fff;padding:0 12px;outline:0;box-sizing:border-box}
.request-error{margin:0 0 8px;padding:8px 10px;border:1px solid rgba(190,100,80,.45);border-radius:10px;background:rgba(90,30,20,.35)}

/* v7: dopracowanie logowania i rankingu */
body.login:not(.register-page) .brand,
body.login:not(.register-page) .hero{display:none!important}
body.login:not(.register-page) .login-wrap{justify-content:flex-end;padding-bottom:18px}
body.login:not(.register-page) .login-card{margin:0 0 12px}
body.login:not(.register-page) .login-bg{background-size:cover;background-position:center center;background-repeat:no-repeat}
.register-link{font-size:10px!important;letter-spacing:1.7px!important;padding:7px 0 2px;opacity:.88!important}
.register-link b{font-size:10.5px}
/* ranking: inicjały jako dyskretny znacznik, bez stopnia na liście */
.rank{grid-template-columns:24px 30px 1fr auto;gap:9px;padding:12px 3px}
.rank .avatar.small{width:28px;height:28px;font-size:10px;background:rgba(71,48,27,.58);border-color:rgba(218,176,106,.52)}
.rank .who b{font-size:13px;font-weight:500}
.rank .who small{display:none!important}
.rank:after{content:'›';font-size:18px;color:rgba(218,176,106,.55);margin-left:3px}
.rank{grid-template-columns:24px 30px 1fr auto 10px}
@media(max-width:520px){body.login:not(.register-page) .login-card{margin-bottom:8px}.register-link{font-size:9.5px!important}}

/* v8 — zaakceptowany ekran logowania */
body.login:not(.register-page) .login-bg{
  background-image:linear-gradient(90deg,rgba(18,9,6,.56) 0%,rgba(18,9,6,.18) 58%,rgba(18,9,6,.25) 100%),url('assets/login-bg.jpg')!important;
  background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important;
}
body.login:not(.register-page) .login-wrap{justify-content:flex-start!important;padding:28px 24px 18px!important;max-width:650px}
body.login:not(.register-page) .brand{display:block!important;text-align:left!important;letter-spacing:7px;font-size:17px;margin-top:5px}
body.login:not(.register-page) .brand span{color:var(--gold);opacity:1;margin-top:7px}
body.login:not(.register-page) .hero{display:block!important;text-align:left!important;margin:auto 0 20px!important;max-width:520px}
body.login:not(.register-page) .hero .kicker{font-size:48px;line-height:1.05}
body.login:not(.register-page) .hero .goldline{margin:14px 0;width:74px}
body.login:not(.register-page) .hero h1{text-transform:uppercase;font:400 13px 'DM Sans',Arial,sans-serif;letter-spacing:5px;margin:0 0 23px}
body.login:not(.register-page) .hero p{margin:0 0 8px;font-size:16px;max-width:390px;line-height:1.5}
body.login:not(.register-page) .hero small{font-size:9px}
body.login:not(.register-page) .login-card{margin:0!important;background:rgba(20,12,8,.76);border-color:rgba(190,151,96,.58);border-radius:25px;padding:18px 22px;backdrop-filter:blur(10px)}
body.login:not(.register-page) .login-card label{font-size:11px}
body.login:not(.register-page) .login-card input{height:56px;border-radius:16px;background:rgba(255,255,255,.08);font-size:15px}
body.login:not(.register-page) .login-card button{height:59px;border-radius:16px;background:linear-gradient(90deg,#b47d32,#d09b49);font-size:21px}
body.login:not(.register-page) .forgot{margin:14px 0 12px}
body.login:not(.register-page) .register-link{border-top:1px solid rgba(190,151,96,.35);padding-top:13px;margin-top:0;font-size:9px!important;opacity:.95}
body.login:not(.register-page) .register-link b{font-size:11px;letter-spacing:2px}
@media(max-width:520px){
 body.login:not(.register-page) .login-wrap{padding:24px 22px 16px!important}
 body.login:not(.register-page) .brand{font-size:16px}
 body.login:not(.register-page) .hero .kicker{font-size:43px}
 body.login:not(.register-page) .hero h1{font-size:11px;letter-spacing:4px}
 body.login:not(.register-page) .hero p{font-size:14px}
 body.login:not(.register-page) .login-card{padding:16px 18px}
 body.login:not(.register-page) .login-card input{height:52px}
 body.login:not(.register-page) .login-card button{height:55px}
}

/* v9 — autorskie logo M + krzyż */
.brand-logo-wrap{position:relative;z-index:2;width:100%;display:flex;justify-content:flex-start;align-items:center;margin:0 0 4px}
.brand-logo{display:block;width:min(360px,72vw);height:auto;object-fit:contain;object-position:left center}
body.login:not(.register-page) .brand-logo-wrap{margin-top:0}
.register-page .brand-logo-wrap{justify-content:center;margin-bottom:14px}
.register-page .brand-logo{width:min(330px,72vw)}
.logo.logo-image{display:flex;align-items:center;min-width:0}
.logo.logo-image img{display:block;width:min(310px,52vw);max-height:62px;object-fit:contain;object-position:left center}
@media(max-width:520px){
 .brand-logo{width:min(320px,70vw)}
 .logo.logo-image img{width:min(260px,58vw);max-height:54px}
}

/* v10 — ekran logowania nieruchomy + bez cytatu */
html:has(body.login), body.login{height:100%;min-height:100%;overflow:hidden!important;overscroll-behavior:none!important;}
body.login:not(.register-page){position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;touch-action:none;}
body.login:not(.register-page) .login-wrap{height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;}
body.login:not(.register-page) .login-card,
body.login:not(.register-page) .login-card input,
body.login:not(.register-page) .login-card button,
body.login:not(.register-page) .login-card a{touch-action:manipulation;}
body.login:not(.register-page) .hero h1{margin-bottom:0!important;}

/* v11 — odzyskiwanie hasła; istniejący login/rejestracja bez zmian */
.forgot{display:block;text-align:center;color:inherit;text-decoration:none;cursor:pointer}.reset-card{max-width:520px;width:100%;box-sizing:border-box}.reset-card .error{margin-top:10px}
.push-setting{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px}.push-setting>span{flex:1}.push-enable{border:1px solid rgba(211,163,90,.65);background:rgba(211,163,90,.12);color:#e3bc7a;border-radius:12px;padding:9px 12px;font:inherit}.push-setting small{width:100%;opacity:.7;font-size:12px}

/* v20: iPhone/PWA safe area — nagłówek poniżej paska systemowego */
@supports (padding-top: env(safe-area-inset-top)){body.app .top{padding-top:calc(15px + env(safe-area-inset-top));height:calc(80px + env(safe-area-inset-top));}body.app .screen{height:calc(100dvh - 148px - env(safe-area-inset-top));}.nav{padding-bottom:env(safe-area-inset-bottom);height:calc(68px + env(safe-area-inset-bottom));}}
.push-enable.enabled{opacity:.85}

\n\n/* v26 — stabilizacja ekranu i wiadomości */\nbody.app .app-bg{background-size:auto 112%;background-position:72% 58%;}\nbody.app .top{height:92px;padding-top:20px;}\nbody.app .screen{height:calc(100dvh - 150px);}\nbody.app .nav{height:58px;padding-top:2px;padding-bottom:max(2px,env(safe-area-inset-bottom));align-items:start;}\nbody.app .nav a{padding-top:1px} body.app .nav i{font-size:20px;line-height:21px} body.app .nav span{font-size:8px}\n@supports (padding-top: env(safe-area-inset-top)){body.app .top{padding-top:calc(12px + env(safe-area-inset-top));height:calc(74px + env(safe-area-inset-top));}body.app .screen{height:calc(100dvh - 132px - env(safe-area-inset-top));}.nav{height:calc(58px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);}}\n.message-alert{display:flex;align-items:center;gap:10px;border:1px solid rgba(209,164,94,.52);background:rgba(42,25,14,.88);border-radius:14px;padding:10px 12px;margin:-5px 0 10px}.message-alert div{min-width:0;flex:1}.message-alert small{display:block;color:var(--gold);font-size:7px;letter-spacing:2px}.message-alert b{display:block;font:15px 'Playfair Display',serif;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-alert strong{font-size:22px;color:var(--gold)}.message-dot{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px rgba(209,164,94,.7)}\n.unread-badge{font-style:normal;background:var(--gold);color:#1b100b;border-radius:12px;padding:2px 6px;font-size:9px;margin-left:auto}.message-row{display:flex;justify-content:space-between;align-items:center;padding:14px 4px;border-bottom:1px solid rgba(194,157,106,.22)}.message-row div{min-width:0}.message-row b{display:block;font:16px 'Playfair Display',serif}.message-row span{display:block;font-size:9px;opacity:.55;margin-top:4px}.message-row strong{color:var(--gold);font-size:12px}.message-row.unread b{color:#f4eee8}.message-open{border:1px solid rgba(194,157,106,.48);border-radius:20px;background:rgba(26,15,10,.82);padding:20px;margin-top:10px}.message-open h1{font:27px 'Playfair Display',serif;margin:8px 0}.message-open small{opacity:.55;font-size:9px}.message-open p{font-size:13px;line-height:1.6;white-space:normal}.back-message{display:inline-block;color:var(--gold);font-size:10px;margin:8px 0}.message-list{max-height:calc(100% - 80px);overflow:auto}\n

/* v27 — Konto/Wiadomości + dolna belka dopasowana do PWA */
body.app .nav{
  bottom:0!important;
  min-height:calc(58px + env(safe-area-inset-bottom,0px))!important;
  height:calc(58px + env(safe-area-inset-bottom,0px))!important;
  padding-top:3px!important;
  padding-bottom:env(safe-area-inset-bottom,0px)!important;
  align-items:start!important;
}
body.app .screen{padding-bottom:8px}
.account-nav-icon{position:relative;width:32px;margin:0 auto}
.nav-message-badge{position:absolute;right:-4px;top:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:9px;background:var(--gold);color:#1b100b;font:600 9px/16px 'DM Sans',Arial,sans-serif;text-align:center;box-shadow:0 0 0 2px rgba(19,10,7,.94)}
.accounthead{padding-top:12px}.accounthead .eyebrow{margin-bottom:4px}

/* v28 — długa wiadomość: przewijanie treści nad stałą belką */
body.app:has(.message-open) .screen{
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:contain;
  padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))!important;
  scrollbar-width:none;
}
body.app:has(.message-open) .screen::-webkit-scrollbar{display:none}
body.app:has(.message-open) .message-open{margin-bottom:18px}

/* v30 — tylko tło i dolna belka: bez zmiany funkcji/układu treści */
body.app .app-bg{
  background-size:cover!important;
  background-position:72% center!important;
  background-repeat:no-repeat!important;
}
/* Maskujemy napis znajdujący się w górnej części fotografii, bez powiększania/cropowania tła. */
body.app .app-bg::after{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:112px;
  background:linear-gradient(180deg,rgba(18,10,7,.78) 0%,rgba(18,10,7,.50) 58%,rgba(18,10,7,0) 100%);
  -webkit-backdrop-filter:blur(7px);
  backdrop-filter:blur(7px);
  pointer-events:none;
}
/* Krótsza belka = jej górna krawędź jest niżej; safe-area zostaje tylko dla gestu Home. */
body.app .nav{
  height:calc(46px + env(safe-area-inset-bottom,0px))!important;
  min-height:calc(46px + env(safe-area-inset-bottom,0px))!important;
  padding-top:1px!important;
  padding-bottom:env(safe-area-inset-bottom,0px)!important;
  align-items:start!important;
}
body.app .nav a{padding-top:0!important}
body.app .nav i{font-size:19px!important;line-height:20px!important}
body.app .nav span{font-size:8px!important;line-height:10px!important}
/* oddajemy ekranowi 12px zabrane z belki */
@supports (padding-top: env(safe-area-inset-top)){
  body.app .screen{height:calc(100dvh - 120px - env(safe-area-inset-top))!important;}
}

/* v31 — rejestracja: przewijanie tylko formularza na niższych ekranach/Androidzie. Nie dotyka aplikacji ani dolnej belki. */
html:has(body.register-page), body.register-page{
  height:100%;
  min-height:100%;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior-y:auto!important;
  -webkit-overflow-scrolling:touch;
}
body.register-page .login-wrap{
  height:auto!important;
  min-height:100dvh!important;
  max-height:none!important;
  overflow:visible!important;
  justify-content:flex-start!important;
  padding-bottom:calc(32px + env(safe-area-inset-bottom))!important;
}
body.register-page .register-card{
  max-height:none!important;
  overflow:visible!important;
  flex:none;
  margin:14px 0 20px!important;
}

/* v33 — tylko ekran logowania: trwałe logowanie 60 dni */
body.login:not(.register-page) .remember-me{display:flex;align-items:center;gap:9px;margin:1px 0 11px!important;font-size:10px!important;color:rgba(255,255,255,.82);cursor:pointer}
body.login:not(.register-page) .remember-me input{width:18px!important;height:18px!important;margin:0!important;padding:0!important;accent-color:#b9843e;flex:0 0 auto}
body.login:not(.register-page) .remember-me span{line-height:1.2}

/* v34 — subtelne „Zapamiętaj hasło” pod polem hasła */
body.login:not(.register-page) .remember-me{display:flex!important;align-items:center!important;gap:7px!important;margin:-2px 0 9px 2px!important;font-size:10px!important;color:rgba(255,255,255,.76)!important;cursor:pointer;width:max-content!important}
body.login:not(.register-page) .remember-me input{appearance:none!important;-webkit-appearance:none!important;width:14px!important;height:14px!important;min-width:14px!important;min-height:14px!important;margin:0!important;padding:0!important;border:1px solid rgba(214,169,96,.72)!important;border-radius:3px!important;background:rgba(20,11,8,.35)!important;display:grid!important;place-content:center!important;box-shadow:none!important}
body.login:not(.register-page) .remember-me input::before{content:"";width:7px;height:4px;border-left:1.5px solid #e3b56d;border-bottom:1.5px solid #e3b56d;transform:rotate(-45deg) scale(0);transform-origin:center;transition:transform .08s ease}
body.login:not(.register-page) .remember-me input:checked::before{transform:rotate(-45deg) scale(1)}
body.login:not(.register-page) .remember-me span{font-size:10px!important;line-height:14px!important;letter-spacing:.01em!important}

/* v35 — własny checkbox remember-me: bez natywnego niebieskiego UI iOS */
body.login:not(.register-page) .remember-me{position:relative!important;display:flex!important;align-items:center!important;gap:7px!important;margin:-2px 0 9px 2px!important;width:max-content!important;font-size:10px!important;color:rgba(255,255,255,.76)!important;cursor:pointer}
body.login:not(.register-page) .remember-me input[type="checkbox"]{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important}
body.login:not(.register-page) .remember-me .remember-box{width:14px;height:14px;flex:0 0 14px;border:1px solid rgba(214,169,96,.72);border-radius:3px;background:rgba(20,11,8,.35);display:flex;align-items:center;justify-content:center;box-sizing:border-box}
body.login:not(.register-page) .remember-me .remember-box::after{content:"";width:6px;height:3px;border-left:1.5px solid #e3b56d;border-bottom:1.5px solid #e3b56d;transform:translateY(-1px) rotate(-45deg) scale(0);transition:transform .08s ease}
body.login:not(.register-page) .remember-me input[type="checkbox"]:checked + .remember-box::after{transform:translateY(-1px) rotate(-45deg) scale(1)}
body.login:not(.register-page) .remember-me span:last-child{font-size:10px!important;line-height:14px!important;letter-spacing:.01em!important}


/* v37 — czytelne wiadomości + licznik nowych akcji */
.menu .account-message-link{display:flex;align-items:center;justify-content:space-between}.menu .menu-right{display:flex;align-items:center;gap:10px;margin-left:auto}.menu .menu-right b{color:var(--gold);font-size:24px;font-weight:400}.menu .unread-badge{margin:0;min-width:20px;height:20px;line-height:16px;text-align:center;border-radius:11px;padding:2px 6px;background:var(--gold);color:#1b100b;font-size:10px;font-style:normal;letter-spacing:0}
.action-nav-icon{position:relative}.nav-action-badge{position:absolute;right:-8px;top:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:9px;background:var(--gold);color:#1b100b;font:600 9px/16px 'DM Sans',Arial,sans-serif;text-align:center;box-shadow:0 0 0 2px rgba(19,10,7,.94);font-style:normal}
.message-row-card{position:relative;border:1px solid rgba(194,157,106,.28);border-radius:15px;background:rgba(28,16,11,.72);margin:0 0 9px;overflow:hidden}.message-row-card.unread{border-color:rgba(209,164,94,.62);background:rgba(42,25,14,.86)}.message-row-card>a{display:block;padding:14px 52px 12px 14px;text-align:left}.message-card-top{display:flex;align-items:center;gap:8px}.message-card-top b{font:18px 'Playfair Display',serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-card-top em{font-style:normal;font-size:7px;letter-spacing:1.5px;color:#1b100b;background:var(--gold);border-radius:8px;padding:3px 6px}.message-row-card p{margin:6px 0 7px;font-size:10px;line-height:1.4;opacity:.7}.message-row-card span{font-size:8px;opacity:.48}.message-row-card form{position:absolute;right:8px;bottom:9px}.message-row-card button{border:0;background:transparent;color:rgba(255,255,255,.42);font-size:8px;padding:6px;cursor:pointer}.message-row-card button:hover{color:#d1a45e}


/* v38 — kompaktowa karta zgłoszonej służby */
.card.service-compact{padding:16px 18px 15px}
.service-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:7px}
.service-meta .date{margin:0;font-size:22px}
.service-meta .status{flex:none;padding:4px 8px;font-size:7px}
.service-mainline{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-top:17px}
.service-mainline>b{font:34px 'Playfair Display',serif;line-height:1}
.service-mainline>span{font-size:10px;opacity:.62;justify-self:start}
.service-mainline form{margin:0;justify-self:end}
.cancel.cancel-mini{border:0!important;background:transparent!important;padding:6px 0 6px 8px!important;color:#c9a26a!important;font-size:9px!important;white-space:nowrap}
@media(max-width:420px){.service-mainline{gap:8px}.service-mainline>b{font-size:31px}.cancel.cancel-mini{font-size:8px!important}}

/* v44 — aplikacja ministranta: przewijanie ekranów + dolna belka niżej. Reszta bez zmian. */
body.app .screen{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-y:contain;
  scrollbar-width:none;
  padding-bottom:calc(54px + env(safe-area-inset-bottom,0px))!important;
}
body.app .screen::-webkit-scrollbar{display:none}

/* Na telefonie obniżamy górną krawędź belki, zachowując strefę Home i obecny wygląd ikon. */
@media (max-width:520px){
  body.app .nav{
    height:calc(38px + env(safe-area-inset-bottom,0px))!important;
    min-height:calc(38px + env(safe-area-inset-bottom,0px))!important;
    padding-top:4px!important;
    padding-bottom:env(safe-area-inset-bottom,0px)!important;
    align-items:start!important;
  }
  body.app .nav a{padding-top:0!important}
  body.app .nav i{font-size:19px!important;line-height:19px!important}
  body.app .nav span{font-size:8px!important;line-height:9px!important}
  body.app .screen{
    height:calc(100dvh - 112px - env(safe-area-inset-top,0px))!important;
    padding-bottom:calc(48px + env(safe-area-inset-bottom,0px))!important;
  }
}
