:root{
--bg:#f6f7f4;--surface:#fff;--ink:#171815;--muted:#74766f;--line:#e7e9e3;--dark:#0c0d0b;
--lime:#c9f052;--lime2:#98d800;--cyan:#21d4f4;--blue:#438ae8;--pink:#ff5c9f;--pink2:#f4006d;--orange:#ffad27;--yellow:#ffdf38;
--shadow:0 24px 60px rgba(22,25,18,.08);--radius:24px;--radius-sm:15px;--font:'Plus Jakarta Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}.container{width:min(1160px,calc(100% - 40px));margin:auto}.topbar{height:74px;background:rgba(255,255,255,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(0,0,0,.055);position:sticky;top:0;z-index:50}.topbar-inner{height:100%;width:min(1220px,calc(100% - 40px));margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:8px;font-weight:800;letter-spacing:.04em}.brand-mark{background:var(--dark);color:#fff;border-radius:8px;padding:5px 8px;font-size:.82rem}.brand-light{color:#fff}.brand-light .brand-mark{background:var(--lime);color:#111}.topnav{display:flex;align-items:center;gap:24px;font-size:.9rem;font-weight:600}.topnav a:hover{opacity:.65}.nav-cta{background:var(--dark);color:#fff!important;padding:11px 18px;border-radius:999px}.inline-form{display:inline}.nav-button{background:none;border:0;font-weight:600;padding:0}.flash-wrap{width:min(1160px,calc(100% - 40px));margin:16px auto 0}.flash{padding:14px 18px;border-radius:14px;font-weight:600;font-size:.9rem}.flash-success{background:#e9f8ca;color:#3a6200;border:1px solid #d2eca1}.flash-error{background:#ffe6ed;color:#9c1744;border:1px solid #ffc6d7}.flash-info{background:#e5f6ff;color:#155b80}
.hero-public{position:relative;overflow:hidden;background:var(--dark);color:#fff;padding:92px 0 90px}.hero-public:after{content:'';position:absolute;inset:auto -10% -70% 30%;height:650px;background:radial-gradient(circle at 25% 25%,rgba(201,240,82,.23),transparent 36%),radial-gradient(circle at 60% 30%,rgba(33,212,244,.15),transparent 32%),radial-gradient(circle at 78% 62%,rgba(255,92,159,.13),transparent 28%);filter:blur(20px)}.hero-glow{position:absolute;width:520px;height:520px;border-radius:50%;right:-120px;top:-180px;background:conic-gradient(rgba(201,240,82,.12),rgba(33,212,244,.05),rgba(255,92,159,.09),rgba(201,240,82,.12));filter:blur(55px)}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;gap:75px;align-items:center}.hero-badge{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(201,240,82,.25);background:rgba(201,240,82,.07);padding:8px 14px;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.12em}.hero-badge i{display:block;width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--lime),var(--cyan));box-shadow:0 0 16px var(--lime)}.hero-public h1{font-size:clamp(3rem,5.6vw,5.2rem);line-height:1.01;letter-spacing:-.06em;margin:24px 0 24px;max-width:760px}.hero-public h1 em,.join-inner h2 em{font-style:normal;background:linear-gradient(135deg,var(--lime),var(--cyan));-webkit-background-clip:text;color:transparent}.hero-public p{color:rgba(255,255,255,.58);font-size:1.08rem;max-width:610px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.button{border:0;border-radius:999px;padding:14px 22px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:800;font-size:.9rem;transition:.22s transform,.22s box-shadow,.22s background}.button:hover{transform:translateY(-2px)}.button-lime{background:linear-gradient(135deg,var(--lime),var(--lime2));color:#10120d;box-shadow:0 14px 35px rgba(153,216,0,.18)}.button-ghost{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#fff}.button-dark{background:var(--dark);color:#fff}.button-soft{background:#eff1eb;color:#252820}.button.full{width:100%}.hero-trust{display:flex;gap:24px;margin-top:28px;color:rgba(255,255,255,.36);font-size:.76rem}.hero-trust span:before{content:'✓';color:var(--lime);margin-right:7px}.tier-stack{position:relative;height:500px}.floating-tier{position:absolute;width:270px;border-radius:25px;padding:27px 28px;background:#fff;color:#161713;box-shadow:0 32px 80px rgba(0,0,0,.28);transform:rotate(-3deg)}.floating-tier small{font-weight:800;font-size:.65rem;letter-spacing:.15em;color:#878b82}.floating-tier strong{display:block;font-size:1.65rem;letter-spacing:-.04em;margin:7px 0}.floating-tier span{font-size:.82rem;color:#6f736a}.card-club{top:20px;left:10px;border-top:5px solid var(--lime)}.card-crew{top:120px;right:0;transform:rotate(4deg);border-top:5px solid var(--cyan)}.card-vip{bottom:80px;left:0;transform:rotate(-5deg);border-top:5px solid var(--pink)}.card-elite{bottom:0;right:12px;transform:rotate(2deg);border-top:5px solid var(--orange)}
.section-white,.section-soft,.section-black,.join-section{padding:92px 0}.section-white{background:#fff}.section-soft{background:var(--bg)}.section-black{background:var(--dark);color:#fff}.eyebrow{display:block;color:#969b91;font-size:.68rem;font-weight:800;letter-spacing:.17em;margin-bottom:10px}.eyebrow-light{color:rgba(255,255,255,.4)}h1,h2,h3,h4,p{margin-top:0}.section-white h2,.section-soft h2,.section-black h2,.join-inner h2{font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.05em;line-height:1.08;margin-bottom:16px}.section-lead{max-width:620px;color:var(--muted);font-size:1rem}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:45px}.how-grid article{position:relative;padding:32px;border-radius:var(--radius);background:linear-gradient(145deg,#f8faef,#f2f4ee);min-height:245px;overflow:hidden}.how-grid article:nth-child(2){background:linear-gradient(145deg,#effafd,#f3f6f7)}.how-grid article:nth-child(3){background:linear-gradient(145deg,#fff3f7,#f8f4f5)}.step-num{position:absolute;right:22px;top:10px;font-size:4.2rem;font-weight:800;opacity:.05}.step-icon{width:48px;height:48px;border-radius:15px;background:#fff;display:grid;place-items:center;font-size:1.2rem;box-shadow:0 10px 22px rgba(0,0,0,.06);margin-bottom:25px}.how-grid h3{font-size:1.05rem}.how-grid p{font-size:.87rem;color:var(--muted)}.tier-grid-public{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:44px}.tier-card-public{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px 22px;min-height:445px}.tier-line{position:absolute;top:0;left:0;right:0;height:5px}.tier-card-public small{font-weight:800;font-size:.64rem;letter-spacing:.15em;color:#979b92}.tier-card-public h3{font-size:1.48rem;margin:9px 0 5px}.tier-card-public p{font-size:.83rem;color:var(--muted);min-height:70px}.tier-card-public .condition{font-size:.72rem;font-weight:700;border-radius:10px;padding:10px 11px;margin:14px 0}.tier-card-public ul{list-style:none;padding:0;margin:18px 0 0}.tier-card-public li{font-size:.82rem;padding:7px 0;border-bottom:1px solid #f0f1ed}.tier-card-public li:before{content:'✓';font-weight:900;margin-right:8px}.tier-club .tier-line{background:linear-gradient(90deg,var(--lime),var(--lime2))}.tier-club h3,.tier-club li:before{color:#6d9900}.tier-club .condition{background:#f3fadd;color:#5b8100}.tier-crew .tier-line{background:linear-gradient(90deg,var(--cyan),var(--blue))}.tier-crew h3,.tier-crew li:before{color:#237db4}.tier-crew .condition{background:#eaf8fb;color:#2376a2}.tier-vip .tier-line{background:linear-gradient(90deg,var(--pink),var(--pink2))}.tier-vip h3,.tier-vip li:before{color:#c4155b}.tier-vip .condition{background:#fff0f6;color:#b91055}.tier-elite .tier-line{background:linear-gradient(90deg,var(--orange),var(--yellow))}.tier-elite h3,.tier-elite li:before{color:#b77200}.tier-elite .condition{background:#fff7df;color:#a66a00}.split-callout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.compare-list p{color:rgba(255,255,255,.68);padding:13px 0;border-bottom:1px solid rgba(255,255,255,.08);margin:0}.compare-list b{color:var(--lime);margin-right:10px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}.review-card{background:#f7f8f4;border:1px solid #eceee8;border-radius:20px;padding:25px;display:flex;flex-direction:column;min-height:230px}.stars{color:#ffb000;letter-spacing:.08em}.review-card p{font-size:.91rem;line-height:1.7;margin:16px 0 20px}.review-card footer{display:flex;justify-content:space-between;gap:10px;margin-top:auto;font-size:.75rem}.review-card footer small{color:#6e9600}.join-section{background:var(--dark);color:#fff;text-align:center;position:relative;overflow:hidden}.join-section:before{content:'';position:absolute;inset:-80% 10% auto;height:600px;background:conic-gradient(rgba(201,240,82,.12),rgba(33,212,244,.06),rgba(255,92,159,.06),rgba(201,240,82,.12));filter:blur(80px)}.join-inner{position:relative}.join-inner p{color:rgba(255,255,255,.5);max-width:620px;margin:0 auto 30px}.join-inner small{display:block;margin-top:18px;color:rgba(255,255,255,.3)}
.auth-page{min-height:calc(100vh - 74px);display:grid;place-items:center;padding:55px 20px;background:radial-gradient(circle at 15% 20%,rgba(201,240,82,.19),transparent 22%),radial-gradient(circle at 80% 70%,rgba(33,212,244,.12),transparent 24%),#f7f8f4}.auth-card{width:min(920px,100%);background:#fff;border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow);padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.auth-card-wide{width:min(1040px,100%)}.auth-copy{padding:45px 35px;background:var(--dark);color:#fff;border-radius:22px;display:flex;flex-direction:column;justify-content:center}.auth-copy h1{font-size:2.6rem;line-height:1.06;letter-spacing:-.05em}.auth-copy p{color:rgba(255,255,255,.5)}.auth-benefits{list-style:none;padding:0;color:rgba(255,255,255,.7);font-size:.85rem}.auth-benefits li{margin:11px 0}.auth-benefits li:before{content:'✓';color:var(--lime);margin-right:9px}.demo-box{margin-top:20px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);border-radius:14px;padding:15px;display:grid;gap:6px;font-size:.75rem}.demo-box code{color:var(--lime);margin-bottom:5px}.form-card{padding:30px;align-self:center}.form-card label,.stack-form label{display:grid;gap:7px;margin-bottom:15px;font-size:.8rem;font-weight:700;color:#4f534b}.form-card input,.form-card select,.stack-form input,.stack-form select,.stack-form textarea,.search-box input{width:100%;border:1px solid #dfe2db;border-radius:13px;padding:13px 14px;background:#fbfcfa;color:#171815;outline:none}.form-card input:focus,.form-card select:focus,.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus{border-color:#9bc900;box-shadow:0 0 0 4px rgba(155,201,0,.1)}.stack-form textarea{min-height:110px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.check-row{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px!important;font-weight:500!important}.check-row input{width:17px!important;height:17px;margin-top:2px}.form-foot{text-align:center;font-size:.8rem;color:var(--muted);margin:14px 0 0}.form-foot a{font-weight:700;color:#638b00}
.member-layout{display:grid;grid-template-columns:270px minmax(0,1fr);width:min(1440px,100%);margin:auto;min-height:calc(100vh - 74px)}.member-sidebar{position:sticky;top:74px;height:calc(100vh - 74px);padding:32px 24px;border-right:1px solid var(--line);background:#fff}.member-profile-mini{display:flex;align-items:center;gap:12px;padding-bottom:22px;border-bottom:1px solid var(--line)}.member-profile-mini>div:last-child{display:grid;gap:4px;font-size:.82rem}.avatar,.table-user>span{width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,var(--lime),var(--cyan));display:grid;place-items:center;font-weight:800}.tier-pill{display:inline-flex;align-items:center;width:max-content;padding:5px 9px;border-radius:999px;font-size:.58rem;font-weight:800;letter-spacing:.07em}.tier-club{background:#eef9cc;color:#628700}.tier-crew{background:#e3f8fc;color:#24779e}.tier-vip{background:#ffe7f1;color:#b51255}.tier-elite{background:#fff1cd;color:#9d6400}.tier-none{background:#eceee9;color:#6d7168}.member-nav{display:grid;gap:5px;margin-top:22px}.member-nav a{font-size:.82rem;font-weight:650;color:#62665e;padding:11px 13px;border-radius:12px}.member-nav a:hover,.member-nav a.active{background:#f0f2ec;color:#111}.sidebar-note{position:absolute;bottom:25px;left:24px;right:24px;padding:16px;border-radius:15px;background:#f5f8ec;font-size:.72rem;display:grid;gap:5px;color:#64685e}.sidebar-note strong{color:#526f00}.member-main{padding:42px 46px 70px;min-width:0}.member-main>.flash-wrap{width:100%;margin:0 0 18px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:27px}.page-head h1{font-size:2.25rem;letter-spacing:-.05em;margin-bottom:5px}.page-head p{color:var(--muted);font-size:.88rem;max-width:650px;margin:0}.status-hero{position:relative;overflow:hidden;border-radius:30px;background:var(--dark);color:#fff;padding:40px 42px;display:grid;grid-template-columns:1fr 210px;align-items:center;min-height:260px;margin-bottom:24px}.status-hero:before{content:'';position:absolute;inset:-90% 20% auto -10%;height:520px;filter:blur(50px);opacity:.42}.status-club:before{background:radial-gradient(circle,var(--lime),transparent 55%)}.status-crew:before{background:radial-gradient(circle,var(--cyan),transparent 55%)}.status-vip:before{background:radial-gradient(circle,var(--pink),transparent 55%)}.status-elite:before{background:radial-gradient(circle,var(--orange),transparent 55%)}.status-content{position:relative}.status-kicker{font-size:.65rem;font-weight:800;letter-spacing:.17em;color:rgba(255,255,255,.45)}.status-hero h2{font-size:3rem;letter-spacing:-.06em;margin:7px 0}.status-hero p{color:rgba(255,255,255,.58);font-size:.88rem}.status-meta{display:flex;gap:22px;margin-top:25px;color:rgba(255,255,255,.45);font-size:.74rem}.status-meta b{color:#fff}.status-orb{position:relative;width:175px;height:175px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(rgba(255,255,255,.22),rgba(255,255,255,.03),rgba(255,255,255,.22));box-shadow:inset 0 0 0 1px rgba(255,255,255,.2),0 20px 50px rgba(0,0,0,.2)}.status-orb:before{content:'';position:absolute;inset:14px;border-radius:50%;background:rgba(7,8,6,.72);backdrop-filter:blur(10px)}.status-orb span{position:relative;font-weight:800;font-size:.77rem;letter-spacing:.16em}.dashboard-grid,.two-col,.admin-grid-two{display:grid;grid-template-columns:1.3fr .7fr;gap:20px;margin-bottom:20px}.panel,.admin-panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:25px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:21px}.panel-head h3{margin:0;font-size:1.08rem}.panel-head .eyebrow{margin-bottom:5px}.panel-head>strong{font-size:1.5rem}.progress-track{height:12px;border-radius:999px;background:#edf0e9;overflow:hidden}.progress-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--lime2),var(--cyan))}.progress-money{display:flex;justify-content:space-between;margin:13px 0 7px;font-size:.78rem;color:var(--muted)}.progress-money b{color:var(--ink)}.next-message{font-size:.79rem;color:#60645b;margin:13px 0 18px}.gate-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gate{display:flex;gap:10px;padding:13px;background:#f6f7f3;border-radius:14px}.gate>span{flex:0 0 28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e4e7df;color:#747970;font-size:.72rem;font-weight:800}.gate.done>span{background:#daf1a4;color:#507500}.gate div{display:grid}.gate b{font-size:.74rem}.gate small{font-size:.62rem;color:var(--muted)}.quick-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.quick-stats div{background:#f6f7f3;border-radius:14px;padding:14px}.quick-stats b{display:block;font-size:1.45rem}.quick-stats span{font-size:.67rem;color:var(--muted)}.text-link{font-size:.75rem;font-weight:750;color:#5d8200}.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.activity-card{display:flex;gap:13px;padding:18px;border-radius:17px;background:#f5f7f1;min-height:140px}.activity-card:nth-child(2){background:#edf9fc}.activity-card:nth-child(3){background:#fff0f6}.activity-icon{width:38px;height:38px;border-radius:12px;background:#fff;display:grid;place-items:center;flex:0 0 38px}.activity-card small{font-size:.58rem;letter-spacing:.1em;color:#90958b}.activity-card h4{margin:4px 0;font-size:.86rem}.activity-card p{font-size:.7rem;color:var(--muted)}.activity-card a{font-size:.68rem;font-weight:700}.notification-list article,.timeline article{display:flex;gap:13px;padding:13px 0;border-bottom:1px solid var(--line)}.notification-list article>span,.timeline article>span{width:9px;height:9px;border-radius:50%;background:var(--lime2);margin-top:6px}.notification-list div,.timeline div{flex:1}.notification-list b,.timeline b{font-size:.76rem}.notification-list p,.timeline p{font-size:.7rem;color:var(--muted);margin:3px 0}.notification-list small,.timeline small{font-size:.62rem;color:#a0a49b}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:.76rem}.data-table th{text-align:left;color:#8a8f85;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;padding:11px 12px;border-bottom:1px solid var(--line)}.data-table td{padding:14px 12px;border-bottom:1px solid #eff0ed;vertical-align:middle}.data-table td small{display:block;color:var(--muted);font-size:.63rem;margin-top:3px}.status-chip,.market-chip{display:inline-flex;border-radius:999px;background:#eef0eb;padding:5px 9px;font-size:.61rem;font-weight:750;color:#61655d}.status-completed,.status-processing{background:#edf8d8;color:#557700}.info-strip{display:flex;gap:12px;align-items:flex-start;padding:15px 17px;background:#f0f5e5;border-radius:15px;color:#5e654f;font-size:.75rem}.info-strip>span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#d9e9ad;font-weight:800}.info-strip p{margin:2px 0}.benefit-grid,.drop-grid,.poll-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.wallet-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:24px;padding:25px;min-height:330px;display:flex;flex-direction:column}.wallet-card:before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:var(--lime)}.wallet-crew:before{background:var(--cyan)}.wallet-vip:before{background:var(--pink)}.wallet-elite:before{background:var(--orange)}.wallet-top{display:flex;justify-content:space-between;font-size:.63rem;font-weight:800;letter-spacing:.08em;color:#8d9188}.wallet-card h2{font-size:1.25rem;margin:25px 0 7px}.wallet-card p{font-size:.78rem;color:var(--muted);flex:1}.wallet-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px}.wallet-card dl div{background:#f6f7f3;border-radius:12px;padding:10px}.wallet-card dt{font-size:.58rem;color:#999d94}.wallet-card dd{margin:3px 0 0;font-size:.68rem;font-weight:700}.review-history{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.review-history article{background:#f7f8f4;border-radius:15px;padding:18px}.review-history p{font-size:.76rem}.review-history footer{display:flex;justify-content:space-between;font-size:.63rem;color:var(--muted)}.gate-feature{display:flex;gap:14px;padding:18px;background:#fff2f5;border-radius:17px}.gate-feature>span{width:40px;height:40px;border-radius:50%;background:#ffd3e2;display:grid;place-items:center;color:#b41251;font-weight:800}.gate-feature.done{background:#eff8db}.gate-feature.done>span{background:#d7eea0;color:#527700}.gate-feature strong{font-size:.83rem}.gate-feature p{font-size:.7rem;color:var(--muted);margin:4px 0}.time-badge{font-size:.64rem;background:#f0f2ed;border-radius:999px;padding:6px 9px}.success-state{display:grid;place-items:center;text-align:center;padding:36px 20px}.success-state>span{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#daf1a3;color:#4e7300;font-size:1.4rem;font-weight:800}.success-state h3{margin:13px 0 5px}.success-state p{font-size:.76rem;color:var(--muted)}.success-state.compact{padding:22px}.feature-list{display:grid;gap:10px;margin-top:20px;font-size:.78rem}.feature-list span:before{color:#6b9700}.muted{color:var(--muted);font-size:.8rem}.drop-tile{background:#fff;border:1px solid var(--line);border-radius:25px;overflow:hidden}.drop-art{height:220px;background:radial-gradient(circle at 35% 30%,rgba(201,240,82,.65),transparent 25%),radial-gradient(circle at 70% 65%,rgba(33,212,244,.45),transparent 26%),#0d0e0c;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.drop-art span{font-size:.62rem;letter-spacing:.18em;color:rgba(255,255,255,.5)}.drop-art strong{font-size:2rem;letter-spacing:-.06em}.drop-body{padding:22px}.drop-tags{display:flex;gap:7px}.drop-tags span{font-size:.58rem;font-weight:800;background:#eef1e9;padding:5px 8px;border-radius:999px}.drop-body h2{font-size:1.25rem;margin:15px 0 7px}.drop-body p{font-size:.75rem;color:var(--muted)}.drop-body dl{display:grid;grid-template-columns:1fr 1fr}.drop-body dt{font-size:.58rem;color:#999}.drop-body dd{margin:4px 0;font-size:.69rem;font-weight:700}.poll-card-full{background:#fff;border:1px solid var(--line);border-radius:24px;padding:27px}.poll-label{font-size:.63rem;color:#6f9600;font-weight:800;letter-spacing:.12em}.poll-card-full h2{font-size:1.3rem;margin:11px 0 6px}.poll-card-full>p{font-size:.78rem;color:var(--muted)}.poll-options{display:grid;gap:8px;margin-top:18px}.poll-options label{cursor:pointer}.poll-options input{position:absolute;opacity:0}.poll-options label span{display:block;border:1px solid #e1e4dd;border-radius:13px;padding:12px 14px;font-size:.76rem;font-weight:650}.poll-options input:checked+span{border-color:#9ac700;background:#f3fadf}.detail-list{margin:16px 0}.detail-list div{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid var(--line)}.detail-list dt{font-size:.72rem;color:var(--muted)}.detail-list dd{margin:0;font-size:.72rem;font-weight:700;text-align:right}.danger-zone{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.danger-zone p{font-size:.72rem;color:var(--muted)}.empty-state{grid-column:1/-1;display:grid;place-items:center;text-align:center;padding:35px;color:var(--muted);gap:5px}.empty-state strong{color:#53574f}.empty-state.large{min-height:250px;background:#fff;border:1px dashed #d9ddd4;border-radius:22px}.mt-20{margin-top:20px}
.admin-layout{min-height:100vh;display:grid;grid-template-columns:245px minmax(0,1fr)}.admin-sidebar{position:sticky;top:0;height:100vh;background:#0d0e0c;color:#fff;padding:28px 22px;display:flex;flex-direction:column}.admin-role{display:grid;margin:30px 0 20px;padding:15px;border:1px solid rgba(255,255,255,.08);border-radius:14px;font-size:.76rem}.admin-role small{color:rgba(255,255,255,.35);margin-top:3px}.admin-sidebar nav{display:grid;gap:4px}.admin-sidebar nav a{padding:11px 12px;border-radius:11px;font-size:.78rem;color:rgba(255,255,255,.58);font-weight:650}.admin-sidebar nav a.active,.admin-sidebar nav a:hover{background:rgba(255,255,255,.08);color:#fff}.admin-logout{margin-top:auto}.admin-logout button{width:100%;border:1px solid rgba(255,255,255,.1);background:transparent;color:rgba(255,255,255,.55);padding:10px;border-radius:11px}.admin-main{padding:34px 38px 70px;min-width:0}.admin-main>.flash-wrap{width:100%;margin:0 0 18px}.admin-topline{margin-bottom:24px}.admin-topline h1{font-size:2rem;letter-spacing:-.05em;margin:0}.admin-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.admin-stat-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.admin-stat-grid span{display:block;color:var(--muted);font-size:.68rem}.admin-stat-grid strong{display:block;font-size:2rem;margin:5px 0;letter-spacing:-.05em}.admin-stat-grid small{font-size:.61rem;color:#9ca198}.admin-panel{border-radius:18px;margin-bottom:18px}.admin-grid-two{grid-template-columns:1fr 1fr}.tier-bars{display:grid;gap:15px}.tier-bars>div{display:grid;grid-template-columns:80px 1fr 30px;gap:12px;align-items:center;font-size:.68rem}.tier-bars i{display:block;height:8px;background:#edf0ea;border-radius:999px;overflow:hidden}.tier-bars b{display:block;height:100%;border-radius:999px;background:#a4ad98}.tier-bars .bar-club{background:var(--lime2)}.tier-bars .bar-crew{background:var(--cyan)}.tier-bars .bar-vip{background:var(--pink)}.tier-bars .bar-elite{background:var(--orange)}.health-list{display:grid;gap:10px}.health-list>div{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.health-list b{font-size:.72rem}.health-list small{font-size:.62rem;color:var(--muted)}.health-dot{width:9px;height:9px;border-radius:50%}.health-dot.ok{background:#8fc300;box-shadow:0 0 0 4px rgba(143,195,0,.12)}.health-dot.warn{background:#ffad27;box-shadow:0 0 0 4px rgba(255,173,39,.12)}.admin-toolbar{display:flex;justify-content:space-between;gap:20px;margin-bottom:18px}.search-box{width:min(380px,100%)}.filter-buttons{display:flex;gap:6px;flex-wrap:wrap}.filter-buttons button{border:0;border-radius:999px;padding:8px 11px;background:#eff1ec;font-size:.62rem;font-weight:750}.filter-buttons button.active{background:#111;color:#fff}.table-user{display:flex;align-items:center;gap:10px}.table-user>span{width:34px;height:34px;border-radius:11px;font-size:.68rem}.table-user div{display:grid}.table-user.large>span{width:58px;height:58px;border-radius:18px}.table-user.large h2{margin:0}.table-user.large p{margin:3px 0;color:var(--muted);font-size:.72rem}.table-action{font-weight:700;color:#5d8200}.mini-gates{display:flex;gap:4px}.mini-gates span{width:22px;height:22px;border-radius:7px;background:#edeFEB;display:grid;place-items:center;font-size:.58rem;color:#a0a49b}.mini-gates span.done{background:#ddf0b2;color:#557700}.admin-member-hero{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:18px}.endpoint-list{display:grid;gap:8px;margin:18px 0}.endpoint-list code{display:block;background:#f4f5f2;border-radius:10px;padding:10px;font-size:.68rem;overflow:auto}
@media(max-width:1100px){.tier-grid-public{grid-template-columns:1fr 1fr}.activity-grid{grid-template-columns:1fr 1fr}.benefit-grid,.drop-grid,.poll-grid{grid-template-columns:1fr 1fr}.admin-stat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:850px){.topnav>a:not(.nav-cta){display:none}.hero-grid,.split-callout,.auth-card,.dashboard-grid,.two-col,.admin-grid-two{grid-template-columns:1fr}.tier-stack{height:420px}.floating-tier{width:230px;padding:21px}.member-layout{display:block}.member-sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:15px 20px}.member-profile-mini,.sidebar-note{display:none}.member-nav{display:flex;overflow:auto;margin:0}.member-nav a{white-space:nowrap}.member-main{padding:28px 20px 60px}.status-hero{grid-template-columns:1fr}.status-orb{display:none}.admin-layout{display:block}.admin-sidebar{position:static;height:auto;display:block}.admin-sidebar nav{display:flex;overflow:auto;margin-top:20px}.admin-sidebar nav a{white-space:nowrap}.admin-role,.admin-logout{display:none}.admin-main{padding:25px 20px 60px}}
@media(max-width:620px){.container{width:min(100% - 28px,1160px)}.hero-public{padding:65px 0}.hero-public h1{font-size:2.65rem}.tier-stack{display:none}.how-grid,.tier-grid-public,.review-grid,.activity-grid,.benefit-grid,.drop-grid,.poll-grid,.review-history,.gate-list,.form-grid,.admin-stat-grid{grid-template-columns:1fr}.section-white,.section-soft,.section-black,.join-section{padding:65px 0}.status-hero{padding:28px 24px;min-height:230px}.status-hero h2{font-size:2.3rem}.status-meta{display:grid;gap:5px}.page-head{align-items:flex-start;display:grid}.auth-card{padding:12px}.auth-copy,.form-card{padding:27px 22px}.auth-copy h1{font-size:2rem}.member-main{padding-left:14px;padding-right:14px}.admin-main{padding-left:14px;padding-right:14px}.panel,.admin-panel{padding:19px}.admin-toolbar{display:grid}.tier-grid-public{grid-template-columns:1fr}.tier-card-public{min-height:auto}}

/* Google OpenID Connect – zákaznícke prihlásenie a prvá registrácia. */
.google-auth-button{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:48px;padding:11px 18px;border:1px solid #d8ddd3;border-radius:13px;background:#fff;color:#252821;font-size:.8rem;font-weight:750;box-shadow:0 4px 13px rgba(23,28,17,.04);transition:border-color .16s,box-shadow .16s,transform .16s}.google-auth-button:hover{border-color:#bfcab2;box-shadow:0 8px 22px rgba(23,28,17,.09);transform:translateY(-1px)}.google-auth-button svg{flex:0 0 20px}.google-auth-note{margin:8px 0 0;text-align:center;color:#7e8379;font-size:.68rem;line-height:1.45}.auth-divider{display:flex;align-items:center;gap:12px;margin:19px 0;color:#9a9f95;font-size:.64rem;font-weight:650}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#e4e7e0}.auth-divider span{white-space:nowrap}.google-account-preview{display:flex;align-items:center;gap:11px;margin-top:22px;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:15px;background:rgba(255,255,255,.055)}.google-account-preview img{width:48px;height:48px;flex:0 0 48px;border-radius:50%;object-fit:cover}.google-account-preview span{display:grid;min-width:0}.google-account-preview b,.google-account-preview small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.google-account-preview b{font-size:.77rem}.google-account-preview small{margin-top:4px;color:rgba(255,255,255,.48);font-size:.66rem}.form-card input[readonly]{background:#f0f3ec;color:#687061;cursor:not-allowed}

/* Benefit administration */
.admin-summary{display:grid;gap:3px}.admin-summary strong{font-size:1rem}.admin-summary span{font-size:.7rem;color:var(--muted)}
.table-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.table-actions form{margin:0}.link-button{appearance:none;border:0;background:none;padding:0;color:#5d8200;font:inherit;font-size:.68rem;font-weight:700;cursor:pointer}.danger-link{color:#b62645}.row-muted{opacity:.55}
.benefit-editor-grid{align-items:start}.benefit-editor .admin-panel{height:100%}.sticky-form-actions{position:sticky;bottom:14px;z-index:5;display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.94);border:1px solid var(--line);box-shadow:0 14px 40px rgba(15,18,12,.12);backdrop-filter:blur(12px);border-radius:17px;padding:13px 15px;margin:0 0 18px}.danger-admin{display:flex;align-items:center;justify-content:space-between;gap:25px;border-color:#f0c9d1;background:#fff8fa}.danger-admin p{font-size:.72rem;color:var(--muted);margin:4px 0}.button-danger{background:#b62645;color:#fff;border-color:#b62645}
.form-grid-3{grid-template-columns:repeat(3,1fr)}.admin-check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 18px;background:#f6f7f3;border-radius:15px;padding:15px}.member-benefit-admin-list{display:grid;gap:12px}.member-benefit-admin-card{border:1px solid var(--line);border-radius:17px;padding:17px;background:#fafbf8}.member-benefit-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.member-benefit-title h4{margin:8px 0 4px}.member-benefit-title p{font-size:.7rem;color:var(--muted);margin:0}.inline-benefit-form{display:grid;grid-template-columns:130px 175px 175px minmax(180px,1fr) auto;gap:9px;align-items:end;margin-top:15px}.inline-benefit-form label{font-size:.62rem;font-weight:700}.inline-benefit-form input,.inline-benefit-form select{width:100%;margin-top:5px}.remove-benefit-form{margin-top:8px;text-align:right}.assign-benefit-box{margin-top:18px;padding:20px;background:#f2f6e9;border-radius:17px}.assign-benefit-box h4{margin:4px 0 15px}.span-2{grid-column:span 2}
@media(max-width:1200px){.inline-benefit-form{grid-template-columns:1fr 1fr 1fr}.inline-benefit-form .wide-field{grid-column:span 2}}
@media(max-width:850px){.form-grid-3,.admin-check-grid{grid-template-columns:1fr 1fr}.inline-benefit-form{grid-template-columns:1fr 1fr}.sticky-form-actions{bottom:8px}.benefit-admin-table{min-width:1050px}}
@media(max-width:620px){.form-grid-3,.admin-check-grid,.inline-benefit-form{grid-template-columns:1fr}.inline-benefit-form .wide-field,.span-2{grid-column:auto}.member-benefit-title,.danger-admin{display:grid}.sticky-form-actions{position:static}}

/* IZY CLUB 1.2 – secure WooCommerce drop claims */
.drop-art em{margin-top:10px;font-style:normal;font-size:.62rem;font-weight:800;letter-spacing:.12em;padding:7px 10px;border-radius:999px;background:var(--lime);color:#111}.drop-ready{box-shadow:0 15px 45px rgba(68,91,10,.08)}.drop-locked{opacity:.82}.drop-locked .drop-art{filter:saturate(.55)}.drop-body form{margin-top:16px}.drop-admin-table{min-width:1180px}.table-actions{display:flex;align-items:center;gap:10px}.table-actions form{margin:0}.link-button{border:0;background:none;padding:0;color:#71766c;font:inherit;font-weight:700;cursor:pointer}.link-button:hover{color:#111}

.member-hero-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.role-help{align-self:end;background:#f6f7f3;border-radius:14px;padding:13px 15px;font-size:.72rem;color:var(--muted);line-height:1.55}.role-help strong{color:var(--ink)}
@media(max-width:620px){.admin-member-hero{align-items:flex-start;gap:14px}.member-hero-badges{justify-content:flex-start}.role-help{grid-column:auto}}

/* IZY CLUB 1.2.2 – admins keep the normal member shell on member pages */
.member-nav .member-admin-link{margin-top:10px;background:#111;color:#fff}
.member-nav .member-admin-link:hover{background:#2a2c27;color:#fff}
@media(max-width:850px){.member-nav .member-admin-link{margin-top:0}}

/* IZY CLUB 1.2.3 – comprehensive UI/form/layout hardening */
:where(.admin-grid-two,.dashboard-grid,.two-col){grid-template-columns:repeat(2,minmax(0,1fr))}
:where(.admin-grid-two,.dashboard-grid,.two-col,.benefit-editor-grid)>*{min-width:0}
:where(.panel,.admin-panel){min-width:0;max-width:100%}
:where(.admin-main,.member-main){max-width:100%;overflow-x:hidden}

/* Consistent form fields in every admin/member editor. */
:where(.stack-form,.benefit-editor,.inline-benefit-form,.assign-benefit-box) label:not(.check-row),
.form-grid>label:not(.check-row){
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-content:start;
  gap:7px;
  min-width:0;
  margin:0;
  color:#4f534b;
  font-size:.76rem;
  font-weight:700;
  line-height:1.35;
}
:where(.stack-form,.benefit-editor,.inline-benefit-form,.assign-benefit-box) :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea),
.form-grid :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea),
.search-box input{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  min-height:46px;
  margin:0;
  border:1px solid #dfe2db;
  border-radius:13px;
  padding:12px 14px;
  background:#fbfcfa;
  color:#171815;
  outline:none;
  box-shadow:none;
  line-height:1.35;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
:where(.stack-form,.benefit-editor,.inline-benefit-form,.assign-benefit-box) textarea,
.form-grid textarea{
  min-height:112px;
  resize:vertical;
}
:where(.stack-form,.benefit-editor,.inline-benefit-form,.assign-benefit-box) :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus,
.form-grid :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus,
.search-box input:focus{
  border-color:#9bc900;
  background:#fff;
  box-shadow:0 0 0 4px rgba(155,201,0,.10);
}
:where(.stack-form,.benefit-editor,.inline-benefit-form,.assign-benefit-box) :where(input,textarea)::placeholder,
.form-grid :where(input,textarea)::placeholder{color:#a1a69c;opacity:1}
:where(.stack-form,.benefit-editor,.inline-benefit-form,.assign-benefit-box) select,
.form-grid select{cursor:pointer}
:where(.stack-form,.benefit-editor,.inline-benefit-form,.assign-benefit-box) label small,
.form-grid>label small{
  display:block;
  margin:0;
  color:#8b9087;
  font-size:.64rem;
  font-weight:500;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.stack-form{display:grid;gap:16px}
.stack-form label{margin-bottom:0}
.form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-items:start;
  width:100%;
  min-width:0;
}
.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.form-grid>*{min-width:0}

/* Checkbox/radio rows stay compact and never inherit text-field sizing. */
.check-row{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  min-width:0;
  margin:0!important;
  padding:3px 0;
  color:#4f534b;
  font-size:.76rem!important;
  font-weight:550!important;
  line-height:1.5;
}
.check-row input[type="checkbox"],.check-row input[type="radio"]{
  flex:0 0 18px;
  width:18px!important;
  height:18px!important;
  min-height:18px!important;
  margin:2px 0 0!important;
  padding:0!important;
  accent-color:#8fb900;
}
.check-row span{min-width:0;overflow-wrap:anywhere}

/* Cards, headers and action rows. */
.admin-panel{padding:25px;overflow:visible}
.admin-panel>.panel-head:first-child{margin-top:0}
.panel-head{min-width:0;flex-wrap:wrap}
.panel-head>div{min-width:0}
.panel-head h3{overflow-wrap:anywhere}
.benefit-editor-grid{gap:20px;align-items:stretch}
.benefit-editor .admin-panel{height:100%}
.admin-toolbar{align-items:center;flex-wrap:wrap}
.admin-toolbar>.info-strip{flex:1 1 420px;min-width:0}
.admin-toolbar>.button{flex:0 0 auto}
.info-strip{min-width:0}
.info-strip>span{flex:0 0 24px}
.info-strip p{min-width:0;overflow-wrap:anywhere}
.sticky-form-actions{flex-wrap:wrap}
.sticky-form-actions .button{min-height:44px}
.danger-admin{flex-wrap:wrap}

/* Tables and long technical values must scroll inside their card, not the page. */
.table-wrap{
  display:block;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
}
.data-table{min-width:720px}
.data-table :where(th,td){overflow-wrap:normal}
.data-table td :where(strong,small){max-width:320px;overflow-wrap:anywhere}
.endpoint-list code,.detail-list code{max-width:100%;overflow:auto;overflow-wrap:normal;white-space:nowrap}

/* Member/admin detail forms. */
.inline-benefit-form{
  grid-template-columns:minmax(120px,.75fr) minmax(160px,1fr) minmax(160px,1fr) minmax(220px,1.5fr) auto;
  gap:12px;
}
.inline-benefit-form>*{min-width:0}
.inline-benefit-form .button{min-height:46px;white-space:nowrap}
.admin-member-hero{gap:18px;flex-wrap:wrap}
.member-hero-badges{min-width:0}
.admin-check-grid>*{min-width:0}
.assign-benefit-box{min-width:0}

/* Buttons and disabled controls. */
.button{max-width:100%;text-align:center;line-height:1.25}
button:disabled,.button:disabled{cursor:not-allowed;opacity:.58;transform:none!important}

/* Better layout at notebook/tablet widths. */
@media(max-width:1180px){
  .benefit-editor-grid{grid-template-columns:1fr}
  .benefit-editor .admin-panel{height:auto}
  .inline-benefit-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inline-benefit-form .wide-field{grid-column:span 2}
  .inline-benefit-form .button{width:100%}
}
@media(max-width:980px){
  .admin-grid-two{grid-template-columns:1fr}
  .form-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .form-grid,.form-grid-3,.admin-check-grid,.inline-benefit-form{grid-template-columns:1fr}
  .inline-benefit-form .wide-field,.span-2{grid-column:auto}
  .admin-panel,.panel{padding:18px}
  .admin-toolbar>.button{width:100%}
  .sticky-form-actions{position:static;display:grid;grid-template-columns:1fr}
  .sticky-form-actions .button{width:100%}
  .data-table{min-width:660px}
  .admin-member-hero{align-items:flex-start}
}

/* 1.3.1 – benefit action */
.benefit-use-note{display:block;margin-top:10px;color:var(--muted,#737373);font-size:.76rem;line-height:1.45;text-align:center}
.wallet-card .button.full{display:flex;align-items:center;justify-content:center;text-decoration:none}

/* 1.3.2 – hard delete benefit/drop */
.danger-zone{align-items:flex-start}.danger-zone-copy{min-width:0;flex:1}.danger-zone-copy .eyebrow{display:block;color:#a51f3c;margin-bottom:6px}.danger-zone-copy strong{display:block;font-size:.9rem}.danger-confirm-form{width:min(430px,100%);display:grid;gap:10px}.danger-confirm-form label{display:grid;gap:7px;font-size:.68rem;font-weight:700;color:#692033}.danger-confirm-form input{width:100%;min-width:0;border:1px solid #e5a9b6;background:#fff;border-radius:11px;padding:11px 12px;font:inherit;color:#171713}.danger-confirm-form input:focus{outline:2px solid rgba(182,38,69,.14);border-color:#b62645}.danger-confirm-form .button{justify-self:start}.danger-zone code{display:inline-block;max-width:100%;overflow-wrap:anywhere;background:#f7e8ec;color:#8e1d36;padding:2px 6px;border-radius:6px}
@media(max-width:760px){.danger-zone{display:grid}.danger-confirm-form{width:100%}.danger-confirm-form .button{width:100%;justify-content:center}}

/* IZY CLUB 1.3.4 – readable member history and audit */
.member-log-stack{display:grid;gap:18px;margin-bottom:18px}
.log-accordion{padding:0;overflow:hidden}
.log-accordion>summary{list-style:none;cursor:pointer}
.log-accordion>summary::-webkit-details-marker{display:none}
.log-accordion-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 25px;user-select:none}
.log-accordion-summary>div{min-width:0}
.log-accordion-summary h3{margin:3px 0 5px;font-size:1.08rem}
.log-accordion-summary p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.55;max-width:720px}
.log-accordion-summary:after{content:'+';width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:#f0f2ed;display:grid;place-items:center;font-size:1.15rem;color:#6e7369;order:3;transition:transform .2s ease,background .2s ease}
.log-accordion[open]>.log-accordion-summary:after{transform:rotate(45deg);background:#e9f2d2;color:#567600}
.log-count{margin-left:auto;display:inline-flex;min-width:34px;height:28px;padding:0 9px;border-radius:999px;align-items:center;justify-content:center;background:#111;color:#fff;font-size:.65rem;font-weight:800;order:2}
.log-accordion-body{border-top:1px solid var(--line);padding:6px 25px 24px}
.friendly-timeline{display:grid}
.friendly-log{display:grid;grid-template-columns:16px minmax(0,1fr);gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}
.friendly-log:last-child{border-bottom:0}
.friendly-log-icon{width:11px;height:11px;border-radius:50%;margin-top:5px;background:#aeb4a8;box-shadow:0 0 0 5px rgba(174,180,168,.12)}
.friendly-log-success .friendly-log-icon{background:#8fbe16;box-shadow:0 0 0 5px rgba(143,190,22,.13)}
.friendly-log-warning .friendly-log-icon{background:#f0a329;box-shadow:0 0 0 5px rgba(240,163,41,.13)}
.friendly-log-manual .friendly-log-icon{background:#6e8bd6;box-shadow:0 0 0 5px rgba(110,139,214,.13)}
.friendly-log-main{min-width:0}
.friendly-log-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.friendly-log-heading strong{display:block;font-size:.81rem;color:#252821}
.friendly-log-heading p{margin:5px 0 0;font-size:.7rem;line-height:1.55;color:var(--muted);max-width:820px}
.friendly-log-heading time,.audit-entry-head time{white-space:nowrap;font-size:.63rem;color:#969b91;padding-top:2px}
.friendly-log-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.friendly-log-meta span{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border-radius:999px;background:#f2f4ef;color:#6b7066;font-size:.61rem;font-weight:650}
.friendly-log-meta .repeat-chip{background:#fff2d9;color:#9a6600}
.audit-list{display:grid}
.audit-entry{padding:18px 0;border-bottom:1px solid var(--line)}
.audit-entry:last-child{border-bottom:0}
.audit-entry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.audit-entry-head strong{display:block;font-size:.8rem;color:#252821}
.audit-entry-head p{margin:5px 0 0;color:var(--muted);font-size:.7rem;line-height:1.55}
.audit-entry-by{margin-top:8px;font-size:.62rem;color:#989d93}
.audit-entry-by b{color:#686d63}
.log-details{margin-top:12px;border:1px solid #e8eae5;border-radius:13px;background:#f8f9f6;overflow:hidden}
.log-details>summary{cursor:pointer;list-style:none;padding:10px 13px;font-size:.65rem;font-weight:750;color:#62685d}
.log-details>summary::-webkit-details-marker{display:none}
.log-details>summary:after{content:'+';float:right;font-size:.9rem;line-height:1}
.log-details[open]>summary:after{content:'−'}
.log-details dl{margin:0;padding:0 13px 10px}
.log-details dl>div{display:grid;grid-template-columns:minmax(120px,.45fr) minmax(0,1fr);gap:16px;padding:8px 0;border-top:1px solid #e8eae5}
.log-details dt{font-size:.62rem;color:#858b80}
.log-details dd{margin:0;font-size:.65rem;font-weight:650;color:#50554d;overflow-wrap:anywhere;text-align:right}
.log-details small{display:block;border-top:1px solid #e8eae5;padding:9px 13px;color:#a0a49c;font-size:.58rem}
.log-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:16px;margin-top:4px}
.log-pagination>span{font-size:.62rem;color:#8c9187}
.log-pagination>div{display:flex;align-items:center;gap:10px}
.log-pagination a,.log-pagination b{display:inline-flex;align-items:center;justify-content:center;min-height:31px;padding:6px 10px;border-radius:9px;font-size:.62rem}
.log-pagination a{background:#eef1e9;color:#5b750f;font-weight:750}
.log-pagination b{background:#111;color:#fff}
@media(max-width:700px){
  .log-accordion-summary{padding:19px 18px;gap:12px;align-items:flex-start}
  .log-accordion-summary p{display:none}
  .log-count{margin-left:auto}
  .log-accordion-body{padding:4px 18px 20px}
  .friendly-log-heading,.audit-entry-head{display:grid;gap:6px}
  .friendly-log-heading time,.audit-entry-head time{order:-1}
  .log-details dl>div{grid-template-columns:1fr;gap:3px}
  .log-details dd{text-align:left}
  .log-pagination{align-items:flex-start;flex-direction:column}
}

/* 2.1.0 – notice a bezpečnostné prvky */
.notice{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 18px;border-radius:14px;font-size:.8rem;margin-bottom:18px}
.notice-warning{background:#fff6e0;color:#8a5b00;border:1px solid #f3dfa8}
.notice ul{margin:8px 0 0 18px;padding:0}
.notice .inline-form{flex:0 0 auto}
.link-button{background:none;border:0;padding:0;font-weight:750;color:#8a5b00;text-decoration:underline;font-size:.78rem}
.verify-email-notice span{flex:1;min-width:240px}
.qr-box{display:inline-block;padding:10px;background:#fff;border:1px solid var(--line);border-radius:16px;margin:6px 0 14px}
.qr-box svg{display:block;max-width:220px;height:auto}
.qr-manual{margin:4px 0 16px;font-size:.8rem}
.qr-manual summary{cursor:pointer;font-weight:650;color:#62665e}
.review-admin-list{display:grid;gap:14px}
.review-admin-item{margin-bottom:0;background:#fafbf8}
.staging-banner{background:#7c3aed;color:#fff;text-align:center;font-size:.72rem;font-weight:800;letter-spacing:.08em;padding:7px 12px}

/* 2.6.1 – jednotné akčné tlačidlá v admin tabuľkách */
td.table-actions{white-space:nowrap}
td.table-actions{display:table-cell}
.table-actions{vertical-align:middle}
.table-actions a.table-action,.table-actions a.text-link,.table-actions .link-button{display:inline-block;margin:2px 3px 2px 0;padding:6px 11px;border:1px solid #dfe2da;border-radius:999px;background:#fff;font-size:.66rem;font-weight:700;color:#4b4f47;text-decoration:none;line-height:1;cursor:pointer;transition:background .15s,border-color .15s}
.table-actions a.table-action:hover,.table-actions a.text-link:hover,.table-actions .link-button:hover{background:#f0f2ec;border-color:#c9cec2;opacity:1}
.table-actions .danger-link{color:#b51255;border-color:#f3cfdd;background:#fff7fa;text-decoration:none}
.table-actions .danger-link:hover{background:#ffe9f1;border-color:#e8a9c3}
.table-actions .inline-form,.table-actions form{display:inline}

/* Reporty – mesačný prehľad bez pretekania */
.report-months{display:grid;gap:12px}
.report-months>div{display:grid;gap:5px}
.report-month-head{display:flex;justify-content:space-between;gap:10px;font-size:.68rem}
.report-month-head span{color:#8a8f85;font-weight:700}
.report-month-head strong{font-weight:650;color:#4b4f47;text-align:right}
.report-months i{display:block;height:8px;background:#edf0ea;border-radius:999px;overflow:hidden}
.report-months i b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#98d800,#21d4f4)}

/* 2.7.1 – logo, hover, burger menu */
.brand{gap:10px;align-items:center}
.brand-logo{height:34px;width:auto;display:block}
.brand-light .brand-logo{filter:invert(1)}
.brand>span{font-weight:800;letter-spacing:.14em;font-size:.95rem}
/* zarovnanie loga s ľavým panelom členskej zóny */
.app-shell .topbar-inner{width:min(1440px,100%);padding:0 24px}
/* hover v hornom menu (desktop) */
.topnav a,.topnav .nav-button{padding:9px 14px;border-radius:999px;transition:background .15s,color .15s}
.topnav a:hover,.topnav .nav-button:hover{background:#f0f2ec;opacity:1}
.topnav .nav-cta:hover{background:#2b2d29;color:#fff!important}

/* burger */
.nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}
.nav-burger span{display:block;height:2px;border-radius:2px;background:#171815;transition:transform .2s,opacity .2s}
.nav-burger-light{border-color:rgba(255,255,255,.18);background:transparent}
.nav-burger-light span{background:#fff}
body.nav-open .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.nav-open .nav-burger span:nth-child(2){opacity:0}
body.nav-open .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-overlay{display:none;position:fixed;inset:0;background:rgba(12,13,11,.45);z-index:65}
body.nav-open .nav-overlay{display:block}
.mobile-drawer{display:none}
.admin-brand-row{display:flex;align-items:center;justify-content:space-between;gap:10px}

@media(max-width:850px){
  .nav-burger{display:flex}
  .topnav{display:none}
  body{overflow-x:hidden}
  body.nav-open{overflow:hidden}

  /* členský sidebar ako off-canvas drawer */
  .app-shell .member-sidebar{position:fixed;top:0;left:0;bottom:0;width:300px;max-width:85vw;transform:translateX(-105%);transition:transform .25s ease;z-index:70;overflow-y:auto;border-right:1px solid var(--line);padding:24px 22px;height:100vh;background:#fff}
  body.nav-open .member-sidebar{transform:translateX(0)}
  .app-shell .member-profile-mini{display:flex}
  .app-shell .sidebar-note{display:grid;position:static;margin-top:24px}
  .app-shell .member-nav{display:grid;overflow:visible;margin-top:22px}
  .app-shell .member-nav a{white-space:normal}

  /* verejné menu ako dropdown pod topbarom */
  .public-shell .mobile-drawer{position:fixed;top:74px;left:0;right:0;z-index:70;background:#fff;border-bottom:1px solid var(--line);padding:14px 20px;display:grid;gap:4px;transform:translateY(-130%);transition:transform .25s ease}
  body.nav-open .mobile-drawer{transform:translateY(0)}
  .mobile-drawer a{padding:12px 14px;border-radius:12px;font-weight:650;font-size:.9rem}
  .mobile-drawer a:hover{background:#f0f2ec}
  .mobile-drawer .mobile-cta{background:var(--dark);color:#fff;text-align:center;margin-top:6px}
  .public-shell .topnav{display:none}
  .public-shell .nav-cta{display:none}

  /* admin nav: rozbaľovacie menu pod brand riadkom */
  .admin-sidebar nav{display:none;margin-top:16px}
  body.nav-open .admin-sidebar nav{display:grid;gap:4px}
  .admin-sidebar nav a{white-space:normal}
}
.sidebar-logout{display:none}
@media(max-width:850px){
  .sidebar-logout{display:block;margin-top:18px}
  .sidebar-logout button{width:100%;padding:11px;border:1px solid var(--line);border-radius:12px;background:#f6f7f3;font-weight:700;font-size:.8rem;color:#62665e}
  body.nav-open .admin-logout{display:block;margin-top:14px}
}

/* 3.0.0 – redesign dashboardu podľa IZY_CLUB dizajnov */
.drop-banner{display:flex;align-items:center;gap:14px;padding:14px 20px;border-radius:16px;background:#f5f8ec;border:1px solid #dcebbc;margin-bottom:20px;flex-wrap:wrap}
.drop-banner-icon{font-size:1.3rem}
.drop-banner-text{flex:1;min-width:220px;font-size:.85rem}
.button-lime{background:var(--lime);color:#111!important;font-weight:750;border-radius:999px;padding:10px 18px;display:inline-block}
.button-lime:hover{background:#b9e33e}

.hero-grid-3{grid-template-columns:1.1fr auto 1fr;gap:26px}
.status-ring{position:relative;display:grid;place-items:center;justify-self:center}
.status-ring-label{position:absolute;display:grid;place-items:center;text-align:center;gap:2px}
.status-ring-label small{font-size:.55rem;letter-spacing:.14em;color:rgba(255,255,255,.55);font-weight:800}
.status-ring-label b{font-size:1.55rem;letter-spacing:-.04em}
.status-goals{align-self:center}
.status-goals small{font-size:.6rem;letter-spacing:.14em;color:rgba(255,255,255,.45);font-weight:800}
.status-goals ul{list-style:none;margin:10px 0 14px;padding:0;display:grid;gap:7px}
.status-goals li{display:flex;align-items:center;gap:9px;font-size:.8rem;color:rgba(255,255,255,.85)}
.status-goals li span{flex:0 0 20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:.62rem;background:rgba(255,255,255,.12)}
.status-goals li.done{color:rgba(255,255,255,.5);text-decoration:line-through}
.status-goals li.done span{background:#8fc300;color:#0c0d0b;font-weight:800}

.perks-title{display:block;font-size:.58rem;letter-spacing:.12em;color:#8a8f85;font-weight:800;margin:16px 0 8px}
.perks-chips{display:flex;flex-wrap:wrap;gap:7px}
.perks-chips span{background:#f3f7e9;border:1px solid #e0ecc6;border-radius:999px;padding:7px 12px;font-size:.68rem;font-weight:650;color:#4a6b00}

.activity-card .button{margin-top:10px;font-size:.72rem;padding:9px 15px}
.ready-drop{background:#eef9cc}
.ready-poll{background:#fde7f0}
.ready-survey{background:#e5f2fd}
.countdown{font-variant-numeric:tabular-nums;font-weight:800;font-size:1.35rem;letter-spacing:.08em;margin:8px 0 2px}

.referral-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:20px;padding:22px 26px;border-radius:22px;background:linear-gradient(120deg,#f5f8ec,#e9f6fb);border:1px solid var(--line)}
.referral-banner>div{display:flex;align-items:center;gap:14px}
.referral-icon{font-size:1.6rem}
.referral-banner p{margin:3px 0 0;font-size:.78rem;color:var(--muted)}

/* Môj status – rebríček úrovní */
.status-ladder{display:grid;gap:16px}
.ladder-step{position:relative}
.ladder-head{display:flex;gap:15px;align-items:flex-start}
.ladder-badge{flex:0 0 40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:#eef0eb;color:#74766f}
.ladder-unlocked .ladder-badge{background:#c9f052;color:#111}
.ladder-next .ladder-badge{background:#0c0d0b;color:#c9f052}
.ladder-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ladder-title h3{margin:0}
.ladder-locked{opacity:.75}
.ladder-conditions{display:grid;gap:10px;margin:16px 0 4px}
.ladder-perks{margin-top:12px}
.ladder-perks summary{cursor:pointer;font-weight:750;font-size:.78rem;color:#5d8200}
.ladder-perks ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px;font-size:.78rem;color:#4b4f47}

/* Budúce výhody */
.wallet-locked{opacity:.92;background:#fbfcf9}
.wallet-locked:before{background:#d9ddd4!important}
.future-perks{list-style:none;margin:18px 0;padding:0;display:grid;gap:7px;font-size:.76rem;color:#4b4f47;flex:1}

/* Hlasovania – priebežné výsledky */
.poll-results{margin-top:16px;display:grid;gap:9px}
.poll-thanks{font-weight:700;font-size:.8rem;color:#527700;margin:0 0 4px}
.poll-result-row{display:grid;grid-template-columns:minmax(90px,120px) 1fr 42px;gap:10px;align-items:center;font-size:.74rem}
.poll-result-row i{display:block;height:9px;background:#edf0ea;border-radius:999px;overflow:hidden}
.poll-result-row i b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#98d800,#21d4f4)}
.poll-result-row strong{text-align:right}

@media(max-width:1100px){.hero-grid-3{grid-template-columns:1fr 1fr}.status-goals{grid-column:1/-1}}
@media(max-width:850px){.hero-grid-3{grid-template-columns:1fr}.status-ring{justify-self:start}}

/* ---- Pravidlá programu ---- */
.container-narrow { max-width: 760px; }
.rules-page .section-white { padding: 72px 0 96px; }
.rules-list { margin: 28px 0 36px; padding-left: 22px; display: grid; gap: 14px; }
.rules-list li { line-height: 1.6; color: #2c2c2c; }
.rules-back { margin-top: 12px; }

/* ---- 3.1.0: dashboard podľa finálneho dizajnu (1.png) ---- */
/* Topbar: aktívny odkaz + zvonček s badge */
.topnav a.topnav-active{color:#fff;position:relative}
.topnav a.topnav-active:after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:var(--lime)}
.nav-bell{position:relative;display:inline-flex;align-items:center;color:rgba(255,255,255,.75)}
.nav-bell:hover{color:#fff}
.nav-bell-badge{position:absolute;top:-7px;right:-9px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--lime);color:#111;font-size:.6rem;font-weight:800;display:grid;place-items:center}

/* Sidebar: ikony + karta Pozvi kamaráta */
.member-nav a{display:flex;align-items:center;gap:11px}
.member-nav a svg{flex:0 0 17px;color:#9aa093}
.member-nav a:hover svg,.member-nav a.active svg{color:#517800}
.member-nav .member-admin-link svg{color:#fff}
.sidebar-referral{position:absolute;bottom:25px;left:24px;right:24px;padding:18px;border-radius:16px;background:var(--dark);color:#fff;display:grid;gap:8px;font-size:.72rem;overflow:hidden}
.sidebar-referral:before{content:'🤝';position:absolute;right:-6px;bottom:-10px;font-size:3.2rem;opacity:.18}
.sidebar-referral strong{color:var(--lime);font-size:.8rem}
.sidebar-referral span{color:rgba(255,255,255,.6);line-height:1.45}
.sidebar-referral .button{padding:9px 14px;font-size:.72rem;width:max-content}

/* Drop banner vo fialovom ladení + zatváranie */
.drop-banner{background:#f1ebfd;border:1px solid #ddd0f6}
.button-violet{background:#7c4dd8;color:#fff!important;font-weight:750;border-radius:999px;padding:10px 18px;display:inline-block}
.button-violet:hover{background:#6a3fc4}
.drop-banner-close{border:0;background:transparent;color:#8a7fa5;font-size:.85rem;cursor:pointer;padding:6px;border-radius:8px}
.drop-banner-close:hover{background:rgba(124,77,216,.12);color:#5b3fa0}

/* Hero riadok: tmavá karta + Čo je nové */
.hero-row{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1.1fr);gap:20px;margin-bottom:20px}
.hero-row .status-hero{margin-bottom:0}
.status-meta-date{text-decoration:underline;text-underline-offset:3px}
.quick-panel .panel-head{margin-bottom:15px}
.quick-stats{grid-template-columns:1fr 1fr;gap:10px}
.quick-stats div{position:relative;display:grid;gap:2px;padding:13px 14px}
.quick-icon{position:absolute;top:11px;right:11px;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-size:.85rem}
.quick-icon-orange{background:#ffe9d2}
.quick-icon-lime{background:#eef8cf}
.quick-icon-blue{background:#e0f3fb}
.quick-icon-yellow{background:#fdf3cd}
.quick-stats b{font-size:1.3rem}

/* Progress riadok s pilulkami podmienok */
.progress-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:26px;align-items:center;margin-bottom:24px}
.progress-row-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:13px}
.progress-row-head h3{margin:0;font-size:1.02rem}
.progress-row-head strong{font-size:.85rem;color:#6a6e64}
.progress-row .next-message{margin:12px 0 0}
.progress-row-gates{display:grid;gap:10px}
.progress-row-gates .gate{align-items:center}
.progress-row-gates .gate>span{background:#e9f5c8;color:#587c00}
.progress-row-gates .gate.done>span{background:#daf1a4;color:#507500}

/* Pripravené pre teba: tmavá/fialová/modrá karta */
.ready-section{margin-bottom:20px}
.ready-section .panel-head{margin-bottom:14px}
.ready-section .panel-head h3{font-size:1.05rem}
.activity-card.ready-drop,.activity-card.ready-poll,.activity-card.ready-survey{position:relative;overflow:hidden;color:#fff;min-height:190px}
.activity-card.ready-drop{background:#0e0f0c}
.activity-card.ready-drop:before{content:'';position:absolute;inset:auto -30% -60% 40%;height:260px;background:radial-gradient(circle,rgba(201,240,82,.35),transparent 60%);filter:blur(30px)}
.activity-card.ready-poll{background:linear-gradient(135deg,#5b2b9e,#8f3f9e)}
.activity-card.ready-survey{background:linear-gradient(135deg,#131c3a,#1e2f63)}
.activity-card.ready-drop small,.activity-card.ready-poll small,.activity-card.ready-survey small{color:rgba(255,255,255,.55)}
.activity-card.ready-drop h4,.activity-card.ready-poll h4,.activity-card.ready-survey h4{color:#fff;font-size:1rem}
.activity-card.ready-drop p,.activity-card.ready-poll p,.activity-card.ready-survey p{color:rgba(255,255,255,.62)}
.activity-card.ready-drop .ready-body,.activity-card.ready-poll .ready-body,.activity-card.ready-survey .ready-body{position:relative;z-index:2;display:grid;gap:7px;align-content:start;flex:1;min-width:0}
.activity-card .button{width:max-content;padding:9px 16px;font-size:.72rem;margin-top:4px}
.button-light{background:#fff;color:#1c1e19!important;font-weight:750;border-radius:999px;display:inline-block}
.button-light:hover{background:#eef0ea}
.countdown{font-variant-numeric:tabular-nums;letter-spacing:.14em;font-weight:800;font-size:1.05rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:8px 13px;width:max-content}

/* Spodný riadok: Odporúčané pre teba + Novinky */
.bottom-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1.1fr);gap:20px;margin-bottom:20px}
.bottom-grid .panel-head h3{font-size:1.02rem}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.product-card{display:grid;gap:6px;border:1px solid var(--line);border-radius:16px;padding:11px;font-size:.74rem;transition:.2s box-shadow,.2s transform}
.product-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(20,24,12,.08)}
.product-img{height:110px;border-radius:12px;background:#f4f6f0;display:grid;place-items:center;font-size:1.6rem;overflow:hidden}
.product-img img{width:100%;height:100%;object-fit:cover;border-radius:12px}
.product-card b{font-size:.74rem}
.product-price{color:#6a6e64;font-weight:700;font-size:.72rem}
.news-list article{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}
.news-list article:last-child{border-bottom:0}
.news-icon{flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:#f2f4ee;display:grid;place-items:center;font-size:.9rem}
.news-list b{font-size:.76rem}
.news-list p{font-size:.7rem;color:var(--muted);margin:3px 0 0}
.news-list article>small{margin-left:auto;white-space:nowrap;font-size:.62rem;color:#a0a49b;padding-top:3px}
.news-panel-wide{grid-column:1/-1}

/* Responzívne správanie nových sekcií */
@media(max-width:1100px){.hero-row,.bottom-grid{grid-template-columns:1fr}.progress-row{grid-template-columns:1fr}}
@media(max-width:850px){
  .product-grid{grid-template-columns:repeat(2,1fr)}
  .app-shell .sidebar-referral{display:grid;position:static;margin-top:24px}
  .topnav .nav-bell{display:none}
}

/* ---- 3.1.1: tmavý topbar + ikony a karty presne podľa 1.png ---- */
/* Tmavý topbar pre prihlásených členov */
.app-shell .topbar{background:rgba(11,12,10,.95);border-bottom:1px solid rgba(255,255,255,.08)}
.app-shell .topbar .brand{color:#fff}
.app-shell .topbar .brand-logo{filter:invert(1)}
.app-shell .topnav a{color:rgba(255,255,255,.62)}
.app-shell .topnav a.topnav-active{color:#fff}
/* Hover na tmavom topbare: tmavá priesvitná pilulka namiesto svetlej (#f0f2ec),
   inak by biely text na svetlom pozadí nebolo vidieť. */
.app-shell .topnav a:hover,.app-shell .topnav .nav-button:hover{color:#fff;background:rgba(255,255,255,.1);opacity:1}
.app-shell .topnav .nav-button{color:rgba(255,255,255,.62)}
.app-shell .nav-burger{border-color:rgba(255,255,255,.22);background:transparent}
.app-shell .nav-burger span{background:#fff}
.app-shell .nav-bell{color:rgba(255,255,255,.62)}
.app-shell .nav-bell:hover{color:#fff}

/* Dlaždice „Čo je nové": plné farebné chipy s bielymi line ikonami */
.quick-icon{color:#fff;width:30px;height:30px;border-radius:10px}
.quick-icon-gift{background:#f6a13c}
.quick-icon-bag{background:#f2884b}
.quick-icon-chart{background:#4aa8e0}
.quick-icon-coin{background:#e6b32b}

/* Drop banner: biely chip s fialovou darčekovou ikonou */
.drop-banner-icon{width:40px;height:40px;flex:0 0 40px;border-radius:13px;background:#fff;color:#7c4dd8;display:grid;place-items:center;box-shadow:0 4px 14px rgba(124,77,216,.18)}

/* Pripravené pre teba: chip štítky, dekorácie a countdown boxy */
.ready-chip{display:inline-flex;align-items:center;gap:5px;width:max-content;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.12);color:#fff;font-size:.55rem;font-weight:800;letter-spacing:.13em;padding:4px 10px;border-radius:999px}
.ready-chip-violet{background:#7c4dd8;border-color:#7c4dd8}
.activity-card.ready-drop,.activity-card.ready-poll,.activity-card.ready-survey{min-height:200px}
.ready-art{position:absolute;right:8px;bottom:2px;z-index:1;pointer-events:none;line-height:1}
.ready-art-vapes{right:-4px;bottom:-8px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.45))}
.ready-art-fruits{display:flex;gap:3px;align-items:flex-end;right:16px;bottom:44px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.4))}
.ready-art-fruits svg:nth-child(1){transform:rotate(-12deg) translateY(5px)}
.ready-art-fruits svg:nth-child(2){transform:translateY(-3px)}
.ready-art-fruits svg:nth-child(3){transform:rotate(11deg) translateY(4px)}
.ready-art-chat{right:16px;bottom:auto;top:50%;transform:translateY(-42%)}
.activity-card.ready-poll:after{content:'';position:absolute;inset:auto -25% -55% 45%;height:220px;background:radial-gradient(circle,rgba(255,140,190,.4),transparent 62%);filter:blur(26px)}
.activity-card.ready-survey:after{content:'';position:absolute;inset:auto -25% -55% 50%;height:210px;background:radial-gradient(circle,rgba(80,130,255,.35),transparent 62%);filter:blur(26px)}
.countdown{display:flex;align-items:center;gap:5px;background:none;border:0;padding:2px 0;width:max-content}
.countdown span{display:inline-block;min-width:36px;text-align:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:7px 8px;font-weight:800;font-size:.95rem;font-variant-numeric:tabular-nums;letter-spacing:0}
.countdown i{font-style:normal;font-weight:800;color:rgba(255,255,255,.45)}

/* Novinky: farebné ikonové chipy podľa typu */
.news-icon{color:#fff}
.news-icon-green{background:#57b45e}
.news-icon-dark{background:#1c1e19}
.news-icon-amber{background:#f0b429}
.news-icon-lime{background:#9ac700}

/* ---- 3.1.3: obrázok produktu v Club Drop kartách (podľa EAN z e-shopu) ---- */
.drop-art{position:relative}
.drop-art-badge{position:relative;z-index:2}
.drop-art em{position:relative;z-index:2}
.drop-art-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:22px 26px;z-index:1;filter:drop-shadow(0 14px 22px rgba(0,0,0,.45))}
.drop-art-photo .drop-art-badge{position:absolute;top:14px;left:16px}
.drop-art-photo em{position:absolute;bottom:14px;left:16px;margin-top:0}
.ready-art-product{right:4px;bottom:6px}
.ready-art-product img{height:118px;max-width:120px;object-fit:contain;filter:drop-shadow(0 12px 20px rgba(0,0,0,.5))}

/* ---- 3.1.5: Budúce výhody zoskupené podľa úrovní so zamknutými benefitmi ---- */
.future-tier-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:28px 0 14px}
.future-tier-head h3{margin:6px 0 4px;font-size:1.05rem}
.future-tier-head p{font-size:.78rem;color:var(--muted);max-width:640px;margin:0}
.future-tier-head p b{color:#53574f}
.future-tier-head .button{white-space:nowrap}
@media(max-width:850px){.future-tier-head{flex-direction:column;align-items:flex-start}}

/* ---- 3.2.0: benefit karta v Pripravené pre teba + krajšie ikony dlaždíc ---- */
.activity-card.ready-benefit{position:relative;overflow:hidden;color:#fff;min-height:200px;background:linear-gradient(135deg,#173f22,#2e7d3f)}
.activity-card.ready-benefit:after{content:'';position:absolute;inset:auto -25% -55% 45%;height:220px;background:radial-gradient(circle,rgba(201,240,82,.45),transparent 62%);filter:blur(26px)}
.activity-card.ready-benefit .ready-body{position:relative;z-index:2;display:grid;gap:7px;align-content:start;flex:1;min-width:0}
.activity-card.ready-benefit small{color:rgba(255,255,255,.55)}
.activity-card.ready-benefit h4{color:#fff;font-size:1rem}
.activity-card.ready-benefit p{color:rgba(255,255,255,.62)}
.ready-art-gift{right:14px;bottom:auto;top:50%;transform:translateY(-42%) rotate(6deg)}

/* Dlaždice „Čo je nové": plnofarebné ikony na jemných pastelových chipoch */
.quick-icon{color:inherit}
.quick-icon-gift{background:#ffedd9}
.quick-icon-bag{background:#fff3d6}
.quick-icon-chart{background:#e3f4fd}
.quick-icon-coin{background:#fdf4cf}

/* ---- 3.2.1: dekoratívna žiara v hero karte blokovala kliknutia ---- */
.status-hero:before{pointer-events:none}
.status-goals,.status-ring{position:relative;z-index:2}

/* ---- 3.2.2: viac drop bannerov – skrytý banner nesmie prebiť display:flex ---- */
.drop-banner[hidden]{display:none}

/* ---- 3.3.0: profesionálnejšia landing – produktový showcase + animácie ---- */
/* Hero showcase: reálny produkt medzi kartami úrovní */
.hero-showcase{position:relative;height:540px}
.hero-product{position:absolute;left:50%;top:50%;width:310px;margin:0;transform:translate(-50%,-52%) rotate(-3deg);z-index:2;border-radius:30px;overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.09);animation:showFloat 7s 1.1s ease-in-out infinite}
.hero-product:before{content:'';position:absolute;inset:0;border-radius:30px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);z-index:2;pointer-events:none}
.hero-product img{display:block;width:100%;height:auto}
.hero-product-chip{position:absolute;left:14px;bottom:14px;z-index:3;background:rgba(12,13,10,.85);backdrop-filter:blur(8px);color:#fff;font-size:.66rem;font-weight:800;letter-spacing:.06em;padding:9px 13px;border-radius:999px;border:1px solid rgba(201,240,82,.35)}
.hero-product-mini{position:absolute;left:2%;bottom:6%;width:120px;height:120px;object-fit:cover;border-radius:50%;z-index:1;box-shadow:0 22px 50px rgba(0,0,0,.45),0 0 0 4px rgba(255,255,255,.08);animation:showFloatAlt 8s 1.4s ease-in-out infinite;transform:rotate(6deg)}
.hero-showcase:before{content:'';position:absolute;left:50%;top:50%;width:430px;height:430px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(201,240,82,.25),rgba(33,212,244,.08) 55%,transparent 70%);filter:blur(38px);pointer-events:none}
.hero-showcase .floating-tier{z-index:3;width:212px;padding:19px 21px;backdrop-filter:blur(4px);transition:transform .25s,box-shadow .25s;animation:tierFloat 6.5s ease-in-out infinite}
.hero-showcase .floating-tier strong{font-size:1.25rem}
.hero-showcase .card-club{top:6px;left:-14px;--rot:-4deg;animation-delay:1.2s}
.hero-showcase .card-crew{top:64px;right:-20px;--rot:4deg;animation-delay:1.9s}
.hero-showcase .card-vip{bottom:96px;left:6px;--rot:-5deg;animation-delay:2.6s}
.hero-showcase .card-elite{bottom:-6px;right:-6px;--rot:3deg;animation-delay:3.3s}
.hero-showcase .floating-tier{transform:rotate(var(--rot,0deg))}
.hero-showcase .floating-tier:hover{transform:rotate(var(--rot,0deg)) translateY(-7px) scale(1.03);box-shadow:0 42px 90px rgba(0,0,0,.4);animation-play-state:paused;z-index:4}
@keyframes tierFloat{0%,100%{translate:0 0}50%{translate:0 -9px}}
@keyframes showFloat{0%,100%{translate:0 0}50%{translate:0 -12px}}
@keyframes showFloatAlt{0%,100%{translate:0 0}50%{translate:0 10px}}

/* Vstupná animácia hero obsahu (staggered) */
.hero-public .hero-badge,.hero-public h1,.hero-public>div>.container>div>p,.hero-public .hero-actions,.hero-public .hero-trust{animation:heroUp .75s cubic-bezier(.2,.7,.2,1) backwards}
.hero-public .hero-badge{animation-delay:.05s}
.hero-public h1{animation-delay:.15s}
.hero-grid>div:first-child p{animation:heroUp .75s .25s cubic-bezier(.2,.7,.2,1) backwards}
.hero-public .hero-actions{animation-delay:.35s}
.hero-public .hero-trust{animation-delay:.45s}
.hero-showcase .hero-product{animation:heroPop .8s .3s cubic-bezier(.2,.8,.25,1.15) backwards,showFloat 7s 1.3s ease-in-out infinite}
.hero-showcase .floating-tier{animation-name:heroPop,tierFloat;animation-duration:.7s,6.5s;animation-fill-mode:backwards,none;animation-timing-function:cubic-bezier(.2,.8,.25,1.15),ease-in-out;animation-iteration-count:1,infinite}
.hero-showcase .card-club{animation-delay:.55s,1.2s}
.hero-showcase .card-crew{animation-delay:.68s,1.9s}
.hero-showcase .card-vip{animation-delay:.81s,2.6s}
.hero-showcase .card-elite{animation-delay:.94s,3.3s}
.hero-showcase .hero-product-mini{animation:heroPop .8s .5s cubic-bezier(.2,.8,.25,1.15) backwards,showFloatAlt 8s 1.5s ease-in-out infinite}
@keyframes heroUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes heroPop{from{opacity:0;transform:translateY(34px) scale(.9) rotate(var(--rot,-3deg))}}
.hero-badge i{animation:badgePulse 2.4s ease-in-out infinite}
@keyframes badgePulse{0%,100%{box-shadow:0 0 16px var(--lime)}50%{box-shadow:0 0 3px var(--lime)}}

/* Scroll reveal (aktívne len s JS) */
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in{opacity:1;transform:none}
.js .how-grid article.reveal:nth-child(2),.js .tier-grid-public .reveal:nth-child(2),.js .review-grid .reveal:nth-child(2){transition-delay:.12s}
.js .how-grid article.reveal:nth-child(3),.js .tier-grid-public .reveal:nth-child(3),.js .review-grid .reveal:nth-child(3){transition-delay:.24s}
.js .tier-grid-public .reveal:nth-child(4){transition-delay:.36s}

/* Jemné hover mikrointerakcie sekcií */
.tier-card-public{transition:transform .25s,box-shadow .25s}
.tier-card-public:hover{transform:translateY(-6px);box-shadow:0 26px 60px rgba(24,28,14,.12)}
.how-grid article{transition:transform .25s,box-shadow .25s}
.how-grid article:hover{transform:translateY(-4px)}
.review-card{transition:transform .25s,box-shadow .25s}
.review-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(24,28,14,.1)}

/* Prístupnosť: obmedzený pohyb */
@media (prefers-reduced-motion: reduce){
  .hero-public *,.hero-showcase *,.hero-showcase:before,.hero-badge i{animation:none!important}
  .js .reveal{opacity:1;transform:none;transition:none}
  .tier-card-public,.how-grid article,.review-card,.hero-showcase .floating-tier{transition:none}
}

/* Mobil */
@media (max-width: 850px){
  .hero-showcase{height:470px;margin-top:10px}
  .hero-product{width:250px}
  .hero-product-mini{display:none}
  .hero-showcase .floating-tier{width:172px;padding:15px 17px}
  .hero-showcase .floating-tier strong{font-size:1.05rem}
  .hero-showcase .card-club{left:-4px}
  .hero-showcase .card-crew{right:-4px}
  .hero-showcase .card-vip{bottom:64px;left:-2px}
  .hero-showcase .card-elite{right:0;bottom:-2px}
}

/* ---- 3.4.0: výrazná landing – pill topbar, Unbounded, marquee, flavor rail ---- */
/* Plávajúci sklenený topbar (iba verejné stránky) */
.public-shell .topbar{position:fixed;top:14px;left:50%;transform:translateX(-50%);width:min(1120px,calc(100% - 24px));height:64px;border-radius:999px;background:rgba(13,14,11,.68);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 55px rgba(0,0,0,.35);transition:height .3s,background .3s,box-shadow .3s;animation:navDrop .8s .05s cubic-bezier(.2,.7,.2,1) backwards}
.public-shell .topbar.topbar-scrolled{height:54px;background:rgba(10,11,9,.92);box-shadow:0 12px 34px rgba(0,0,0,.5)}
.public-shell .topbar-inner{height:100%;width:100%;padding:0 10px 0 22px}
.public-shell .topbar .brand{color:#fff}
.public-shell .topbar .brand-logo{filter:invert(1)}
.public-shell .topnav a:not(.nav-cta){color:rgba(255,255,255,.68);position:relative}
.public-shell .topnav a:not(.nav-cta):after{content:'';position:absolute;left:14px;right:14px;bottom:6px;height:2px;border-radius:2px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(.2,.7,.2,1)}
.public-shell .topnav a:not(.nav-cta):hover{color:#fff;background:transparent;opacity:1}
.public-shell .topnav a:not(.nav-cta):hover:after{transform:scaleX(1)}
.public-shell .topnav .nav-cta{background:var(--lime);color:#10130a!important;font-weight:800;transition:transform .2s,box-shadow .2s}
.public-shell .topnav .nav-cta:hover{background:var(--lime);transform:translateY(-2px) scale(1.04);box-shadow:0 12px 30px rgba(153,216,0,.35)}
.public-shell .nav-burger{border-color:rgba(255,255,255,.22);background:transparent}
.public-shell .nav-burger span{background:#fff}
@keyframes navDrop{from{opacity:0;transform:translate(-50%,-30px)}}
/* Fixed topbar už nie je v toku – odsadenie obsahu */
.public-shell .hero-public{padding-top:165px}
.public-shell .auth-page{padding-top:120px}
.public-shell .rules-page .section-white{padding-top:135px}

/* Display typografia */
.hero-public h1{font-family:'Unbounded','Plus Jakarta Sans',sans-serif;font-weight:700;font-size:clamp(2.3rem,4.4vw,3.9rem);line-height:1.06;letter-spacing:-.02em}
.join-inner h2{font-family:'Unbounded','Plus Jakarta Sans',sans-serif;font-weight:700;letter-spacing:-.02em}

/* Marquee pás pod hero */
.club-marquee{position:relative;z-index:6;background:var(--lime);transform:rotate(-1.4deg);margin:-32px -12px 0;padding:14px 0;overflow:hidden;box-shadow:0 20px 46px rgba(20,30,0,.2)}
.club-marquee-track{display:flex;gap:46px;width:max-content;animation:marqueeMove 28s linear infinite;font-family:'Unbounded',sans-serif;font-weight:700;font-size:.74rem;letter-spacing:.16em;color:#10130a;white-space:nowrap;align-items:center}
.club-marquee-track span{display:block;padding-right:46px}
@keyframes marqueeMove{to{transform:translateX(-50%)}}

/* Flavor rail – reálne produkty z e-shopu */
.flavor-head{margin-top:70px}
.flavor-head h2{color:#fff;margin:10px 0 6px}
.flavor-head p{color:rgba(255,255,255,.55);font-size:.85rem;margin:0}
.flavor-rail{overflow:hidden;margin-top:34px;padding-bottom:8px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.flavor-track{display:flex;gap:16px;width:max-content;animation:marqueeMove 42s linear infinite}
.flavor-rail:hover .flavor-track{animation-play-state:paused}
.flavor-card{width:174px;flex:0 0 auto;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:20px;padding:14px 14px 16px;display:grid;gap:9px;justify-items:center;transition:transform .25s,background .25s,border-color .25s}
.flavor-card:hover{transform:translateY(-7px);background:rgba(255,255,255,.1);border-color:rgba(201,240,82,.4)}
.flavor-card img{width:120px;height:120px;object-fit:cover;border-radius:14px}
.flavor-card b{font-size:.74rem;color:#fff;text-align:center}
.flavor-card small{font-size:.56rem;font-weight:800;letter-spacing:.14em;color:rgba(255,255,255,.4)}

/* Parallax kontajner */
.hero-showcase{transition:transform .35s ease-out;will-change:transform}

/* Prístupnosť + mobil pre 3.4.0 */
@media (prefers-reduced-motion: reduce){
  .club-marquee-track,.flavor-track{animation:none!important}
  .public-shell .topbar{animation:none}
}
@media (max-width: 850px){
  .public-shell .topbar{top:10px;height:58px}
  .public-shell .hero-public{padding-top:120px}
  .public-shell .auth-page{padding-top:95px}
  .club-marquee{margin-top:-18px}
  .club-marquee-track{font-size:.62rem}
  .flavor-card{width:142px}
  .flavor-card img{width:98px;height:98px}
}
body.public-shell{overflow-x:clip}

/* ---- 3.4.1: dymiaca vape, iskry, scrollbar, šípka hore ---- */
/* Hlavička flavor sekcie s dymiacou vape */
.flavor-head{display:flex;justify-content:space-between;align-items:flex-end;gap:26px}
.vape-smoke{position:relative;flex:0 0 auto;width:90px;height:150px}
.vape-smoke svg{position:absolute;bottom:0;left:18px;filter:drop-shadow(0 14px 26px rgba(153,216,0,.25))}
.puff{position:absolute;left:34px;top:24px;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.55),rgba(255,255,255,0) 68%);filter:blur(5px);opacity:0;animation:puffUp 4.4s ease-out infinite}
.puff.p2{animation-delay:1.5s;width:20px;height:20px}
.puff.p3{animation-delay:2.9s;width:32px;height:32px}
@keyframes puffUp{0%{transform:translate(0,0) scale(.35);opacity:0}18%{opacity:.75}100%{transform:translate(-20px,-84px) scale(1.9);opacity:0}}

/* Iskry „vystreľujúce" okolo hero produktu */
.spark{position:absolute;z-index:4;font-size:1.05rem;line-height:1;opacity:0;pointer-events:none;animation:sparkPop 3.9s ease-in-out infinite;text-shadow:0 0 14px currentColor}
.spark.s1{top:6%;left:36%;color:var(--lime)}
.spark.s2{top:22%;right:5%;color:var(--cyan);animation-delay:1s;font-size:.85rem}
.spark.s3{bottom:16%;left:20%;color:var(--pink);animation-delay:2s}
.spark.s4{top:56%;right:26%;color:var(--lime);animation-delay:3s;font-size:.75rem}
@keyframes sparkPop{0%,100%{opacity:0;transform:scale(.15) rotate(0deg)}10%{opacity:1;transform:scale(1.25) rotate(45deg)}22%{opacity:0;transform:scale(.25) rotate(100deg)}}

/* Flavor karty: dlhšie názvy */
.flavor-card b{font-size:.68rem;line-height:1.3;max-width:150px}

/* Vlastný scrollbar pre verejné stránky (tmavá dráha, limetkový palec).
   html dostáva tmavé pozadie, aby na hrane dráhy nepresvital biely pás. */
html:has(body.public-shell){scrollbar-color:#9ac700 #101208;scrollbar-width:thin;background:#101208}
html:has(body.public-shell) body{background:#fff}
html:has(body.public-shell)::-webkit-scrollbar{width:11px}
html:has(body.public-shell)::-webkit-scrollbar-track,html:has(body.public-shell)::-webkit-scrollbar-corner{background:#101208;border:0;box-shadow:none}
html:has(body.public-shell)::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--lime),#719f00);border-radius:999px;border:3px solid #101208;background-clip:padding-box}
html:has(body.public-shell)::-webkit-scrollbar-thumb:hover{background:var(--lime);border:3px solid #101208;background-clip:padding-box}

/* Šípka späť hore */
.to-top{position:fixed;right:22px;bottom:22px;z-index:80;width:48px;height:48px;border-radius:50%;border:0;cursor:pointer;background:var(--lime);color:#10130a;display:grid;place-items:center;box-shadow:0 16px 38px rgba(120,170,0,.4);opacity:0;transform:translateY(16px) scale(.85);pointer-events:none;transition:opacity .3s,transform .3s,box-shadow .2s}
.to-top.to-top-visible{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{transform:translateY(-3px);box-shadow:0 20px 46px rgba(120,170,0,.5)}
.app-shell .to-top{background:var(--dark);color:#fff;box-shadow:0 16px 38px rgba(0,0,0,.35)}

@media (prefers-reduced-motion: reduce){
  .puff,.spark{animation:none;opacity:0}
  .to-top{transition:none}
}
@media (max-width: 850px){
  .flavor-head{flex-direction:row;align-items:flex-end}
  .vape-smoke{width:64px;height:118px}
  .vape-smoke svg{width:40px;height:94px;left:10px}
  .to-top{right:14px;bottom:14px;width:44px;height:44px}
}

/* ---- 3.5.0: stránka Novinky ---- */
.news-pager{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.news-pager-info{font-size:.72rem;color:var(--muted)}

/* ---- 3.5.1: červené upozornenie na zvončeku ---- */
.nav-bell-badge{background:#ff4b4b;color:#fff;box-shadow:0 0 0 2px rgba(12,13,10,.9)}
.nav-bell:has(.nav-bell-badge) svg{animation:bellRing 5s ease-in-out infinite}
.nav-bell-badge{animation:badgePop 2.6s ease-in-out infinite}
@keyframes badgePop{0%,100%{transform:scale(1)}8%{transform:scale(1.25)}16%{transform:scale(1)}}
@keyframes bellRing{0%,90%,100%{transform:rotate(0)}92%{transform:rotate(12deg)}94%{transform:rotate(-10deg)}96%{transform:rotate(6deg)}98%{transform:rotate(-4deg)}}
@media (prefers-reduced-motion: reduce){.nav-bell-badge,.nav-bell svg{animation:none!important}}

/* ---- 3.6.0: administrácia interaktívnych Drops ---- */
.interactive-admin-table td small{display:block;margin-top:5px;color:var(--muted);line-height:1.35}
.interactive-admin-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.interactive-admin-metrics span{padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8faf5;color:var(--muted);font-size:.7rem}
.interactive-admin-metrics b{display:block;margin-bottom:4px;color:#151712;font-size:1.25rem}
.reward-weight-grid label{padding:12px;border:1px solid var(--line);border-radius:14px;background:#fbfcfa}
.interactive-settings .info-strip span{min-width:34px}
.interactive-settings[hidden]{display:none!important}
.mystery-reward-editor{grid-column:1/-1}
.mystery-reward-list{display:grid;gap:14px;margin-top:18px}
.mystery-reward-row{position:relative;padding:17px;border:1px solid #dfe4d8;border-radius:17px;background:linear-gradient(135deg,#fcfef8 0%,#f7fbf2 58%,#f1f8ff 100%);box-shadow:0 10px 26px rgba(31,45,18,.05)}
.mystery-reward-row:before{content:"";position:absolute;inset:14px auto 14px 0;width:4px;border-radius:0 8px 8px 0;background:linear-gradient(#86d713,#35b7e6)}
.mystery-reward-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.mystery-reward-row-head strong{color:#20251a;font-size:.88rem}
.mystery-reward-core{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(220px,1.5fr) minmax(130px,.55fr);gap:12px}
.mystery-reward-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px;padding-top:12px;border-top:1px dashed #dbe2d2}
.mystery-reward-values [hidden]{display:none!important}
.mystery-reward-row .drop-option-remove{width:34px;height:34px;border:0;border-radius:10px;background:#f5e7e7;color:#a62f2f;font-size:1.2rem;cursor:pointer}
.mystery-reward-row .drop-option-remove:hover{background:#edcdcd}
@media(max-width:850px){.interactive-admin-metrics{grid-template-columns:1fr}.interactive-admin-table{min-width:1050px}}
@media(max-width:760px){.mystery-reward-core,.mystery-reward-values{grid-template-columns:1fr}.mystery-reward-editor .panel-head{align-items:flex-start;flex-direction:column}.mystery-reward-editor .panel-head .button{width:100%}}

/* ---- 4.5.3: e-mailové centrum (lokálny audit + Microsoft Graph) ---- */
.admin-sidebar nav{min-height:0;overflow-y:auto;scrollbar-width:thin}
.mail-center-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px}
.mail-tabs{display:flex;gap:6px;flex-wrap:wrap}
.mail-tabs a{display:inline-flex;align-items:center;min-height:38px;padding:8px 14px;border-radius:999px;background:#f0f2ed;color:#686d63;font-size:.7rem;font-weight:750}
.mail-tabs a.active{background:#111;color:#fff}
.mailbox-state{display:flex;align-items:center;gap:9px;color:#777c72;font-size:.7rem;font-weight:650}
.mail-compose{padding:0;overflow:hidden}
.mail-compose>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;padding:19px 22px}
.mail-compose>summary::-webkit-details-marker{display:none}
.mail-compose>summary>span:first-child{display:grid;gap:4px}
.mail-compose>summary b{font-size:.86rem}
.mail-compose>summary small{color:var(--muted);font-size:.67rem;font-weight:500}
.mail-compose>summary>span:last-child{font-size:1.3rem;color:#799f10}
.mail-compose[open]>summary{border-bottom:1px solid var(--line);background:#fbfcf9}
.mail-compose-form{padding:22px}
.mail-compose-form>.button,.mail-reply-panel .button{width:max-content}
.mail-filter-form{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(140px,.65fr) minmax(150px,.7fr) auto;gap:10px;align-items:end;margin-bottom:20px}
.mail-filter-form label{display:grid;gap:6px;color:#767b71;font-size:.62rem;font-weight:700}
.mail-filter-form input,.mail-filter-form select,.mail-search-form input{width:100%;min-height:42px;border:1px solid #dfe2db;border-radius:12px;padding:10px 12px;background:#fbfcfa;color:#171815;outline:none}
.mail-filter-form input:focus,.mail-filter-form select:focus,.mail-search-form input:focus{border-color:#9bc900;box-shadow:0 0 0 4px rgba(155,201,0,.1)}
.mail-filter-form .button,.mail-search-form .button{min-height:42px}
.mail-table{min-width:920px}
.mail-status{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;background:#edf0ea;color:#62675d;font-size:.61rem;font-weight:750;white-space:nowrap}
.mail-status:before{content:"";width:6px;height:6px;border-radius:50%;margin-right:6px;background:#9ba095}
.mail-status-sent,.mail-status-accepted{background:#edf8d8;color:#557700}.mail-status-sent:before,.mail-status-accepted:before{background:#8fbe16}
.mail-status-failed{background:#fff0f2;color:#b42340}.mail-status-failed:before{background:#dc3859}
.mail-status-retrying,.mail-status-pending,.mail-status-processing{background:#fff5df;color:#8a5b00}.mail-status-retrying:before,.mail-status-pending:before,.mail-status-processing:before{background:#eea32b}
.mail-exchange-tools{display:grid;gap:13px;margin-bottom:18px}.mail-search-form{display:flex;gap:10px;margin:0}.mail-search-form input{max-width:480px}
.mail-view-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.mail-view-filters a{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:7px 10px;border:1px solid #dfe3da;border-radius:10px;background:#fafbf8;color:#656b60;font-size:.63rem;font-weight:700}.mail-view-filters a b{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ecefe8;color:#7d8378;font-size:.55rem}.mail-view-filters a:hover{border-color:#cbd5bc;background:#fff;color:#3d4f17}.mail-view-filters a.active{border-color:#1f231b;background:#1f231b;color:#fff}.mail-view-filters a.active b{background:rgba(201,240,82,.18);color:#dfff80}
.mail-message-list{display:grid;border-top:1px solid var(--line)}
.mail-message-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-bottom:1px solid var(--line);color:#363a33;transition:background .15s}
.mail-message-row:hover{background:#f8faf5}.mail-message-row.unread{background:#f4fae8}.mail-message-row.unread .mail-subject b{font-weight:800}.mail-message-row.handled{background:#fafbf9}.mail-message-row.handled .mail-subject{opacity:.72}
.mail-message-link{display:grid;grid-template-columns:10px minmax(145px,.65fr) minmax(280px,1.6fr) minmax(125px,.45fr);gap:14px;align-items:center;min-width:0;padding:15px 10px;color:inherit}
.mail-read-dot{width:7px;height:7px;border-radius:50%;background:#c7cbc2}.mail-message-row.unread .mail-read-dot{background:#95c51d;box-shadow:0 0 0 4px rgba(149,197,29,.13)}
.mail-sender{font-size:.72rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mail-subject{display:grid;min-width:0}.mail-subject b{font-size:.73rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-subject small{margin-top:4px;color:var(--muted);font-size:.64rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mail-row-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px;text-align:right;color:#93988e;font-size:.62rem;white-space:nowrap}.mail-row-meta em{padding:4px 7px;border-radius:999px;background:#eaf5d2;color:#5f7e18;font-size:.54rem;font-style:normal;font-weight:750}
.mail-quick-actions{display:flex;align-items:center;gap:5px;padding:8px 10px 8px 0}.mail-quick-actions form{margin:0}.mail-quick-actions button{min-height:31px;padding:6px 8px;border:1px solid #dfe3da;border-radius:9px;background:#fff;color:#697064;font-size:.56rem;font-weight:700;white-space:nowrap}.mail-quick-actions button:hover{border-color:#b9c99c;color:#4e6a0e}.mail-quick-actions button.is-handled{background:#eff6df;color:#5a7815;border-color:#d8e8b8}
.mail-detail-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.mail-detail-actions>a{font-size:.72rem;font-weight:750;color:#5d8200}.mail-detail-state-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.mail-detail-state-actions form{margin:0}.mail-detail-state-actions .button{min-height:35px;padding:8px 12px;border-radius:10px;font-size:.6rem}.mail-detail-state{display:inline-flex;align-items:center;min-height:27px;padding:5px 8px;border-radius:999px;background:#edf0ea;color:#6c7268;font-size:.56rem;font-weight:750}.mail-detail-state.unread{background:#eff8db;color:#5d7d10}.mail-detail-state.handled{background:#e8f3d1;color:#56750d}.mail-detail-state.open{background:#fff2dc;color:#8a5b00}
.mail-detail-grid{grid-template-columns:minmax(300px,.7fr) minmax(420px,1.3fr)}
.mail-detail-grid h2,.graph-message-head h2{margin:9px 0 20px;font-size:1.35rem;line-height:1.25}
.mail-preview-panel{display:grid;align-content:start;gap:13px}
.mail-body-frame{display:block;width:100%;min-height:520px;border:1px solid #e1e4dd;border-radius:14px;background:#fff}
.graph-body-frame{min-height:600px}
.graph-message-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.graph-message-meta>div{display:grid;gap:4px;padding:14px;border-radius:14px;background:#f6f8f3;min-width:0}
.graph-message-meta span{color:#8d9288;font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;font-weight:750}
.graph-message-meta b{font-size:.72rem;overflow-wrap:anywhere}.graph-message-meta small{color:var(--muted);font-size:.61rem;overflow-wrap:anywhere}
.mail-reply-panel{max-width:920px}.mail-reply-panel textarea{min-height:180px}
.mail-attachment-list{display:flex;gap:10px;flex-wrap:wrap}.mail-attachment-list a{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center;min-width:230px;padding:12px 14px;border:1px solid #e0e4da;border-radius:13px;background:#f8faf5;color:#353a31}.mail-attachment-list a>span{grid-row:1/3}.mail-attachment-list b{font-size:.7rem;overflow-wrap:anywhere}.mail-attachment-list small{font-size:.59rem;color:var(--muted)}
@media(max-width:1000px){.mail-filter-form{grid-template-columns:1fr 1fr}.mail-filter-form .button{width:max-content}.mail-detail-grid{grid-template-columns:1fr}.graph-message-meta{grid-template-columns:1fr 1fr}}
@media(max-width:1050px){.mail-message-row{grid-template-columns:1fr}.mail-quick-actions{padding:0 10px 12px 34px;flex-wrap:wrap}}
@media(max-width:700px){.mail-center-head{align-items:flex-start;flex-direction:column}.mail-filter-form{grid-template-columns:1fr}.mail-search-form{display:grid}.mail-message-link{grid-template-columns:10px 1fr;gap:5px 10px}.mail-sender,.mail-subject,.mail-row-meta{grid-column:2}.mail-row-meta{justify-content:flex-start;text-align:left;flex-wrap:wrap}.mail-subject small{white-space:normal}.mail-sender{white-space:normal}.mail-quick-actions{padding-left:30px}.mail-detail-actions{align-items:flex-start;flex-direction:column}.mail-detail-state-actions{justify-content:flex-start}.graph-message-meta{grid-template-columns:1fr}.mail-body-frame,.graph-body-frame{min-height:480px}.mail-stat-grid{grid-template-columns:1fr 1fr}}

/* ---- 4.5.5: responzívne administračné menu s typografiou Roboto ---- */
.admin-icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.admin-shell{--admin-sidebar-width:276px;--admin-sidebar-compact:88px;--admin-side:#11130f;--admin-side-soft:#181b15;--admin-side-line:rgba(255,255,255,.075);--admin-side-muted:#858b7d;--admin-side-text:#f8faf4;--admin-accent:#c9f052;background:#f5f6f2}
.admin-sidebar,.admin-mobile-bar{font-family:'Roboto',sans-serif}
.admin-shell.admin-menu-locked{overflow:hidden}
.admin-shell .admin-layout{display:grid;grid-template-columns:var(--admin-sidebar-width) minmax(0,1fr);min-height:100vh;transition:grid-template-columns .28s cubic-bezier(.2,.75,.2,1)}
.admin-shell .admin-sidebar{position:sticky;z-index:90;top:0;width:auto;height:100vh;height:100dvh;padding:20px 16px 16px;background:var(--admin-side);color:var(--admin-side-text);display:flex;flex-direction:column;overflow:hidden;border-right:1px solid rgba(255,255,255,.04);box-shadow:18px 0 50px rgba(23,27,16,.055)}
.admin-sidebar:before{content:"";position:absolute;inset:-170px -150px auto auto;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,rgba(201,240,82,.1),transparent 67%);pointer-events:none}
.admin-sidebar-head{position:relative;z-index:1;display:flex;align-items:center;gap:9px;min-height:47px;padding:0 4px}
.admin-brand{display:flex;align-items:center;gap:11px;min-width:0;flex:1;color:#fff}
.admin-brand-mark{width:42px;height:42px;flex:0 0 42px;border-radius:13px;display:grid;place-items:center;background:#fff;box-shadow:0 9px 26px rgba(0,0,0,.22)}
.admin-brand-mark img{display:block;width:33px;height:auto}
.admin-brand-copy{display:grid;line-height:1.15;min-width:0;white-space:nowrap}
.admin-brand-copy b{font-size:.78rem;letter-spacing:.08em}
.admin-brand-copy small{margin-top:4px;color:#7e8577;font-size:.54rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}
.admin-icon-button{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:rgba(255,255,255,.045);color:#a4aa9c;padding:0;transition:background .18s,color .18s,border-color .18s,transform .18s}
.admin-icon-button:hover{background:rgba(255,255,255,.09);color:#fff;border-color:rgba(255,255,255,.16)}
.admin-icon-button:focus-visible,.admin-nav a:focus-visible,.admin-nav summary:focus-visible,.admin-sidebar-foot a:focus-visible,.admin-logout button:focus-visible{outline:2px solid var(--admin-accent);outline-offset:2px}
.admin-icon-button svg,.admin-nav-link svg,.admin-utility-link svg,.admin-logout svg,.admin-topline-link svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.admin-drawer-close{display:none}
.admin-role-card{position:relative;display:flex;align-items:center;gap:10px;min-height:58px;margin:19px 2px 15px;padding:9px 10px;border:1px solid var(--admin-side-line);border-radius:15px;background:rgba(255,255,255,.035);overflow:hidden}
.admin-avatar{width:36px;height:36px;flex:0 0 36px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#d9ff66,#94cb19);color:#11150b;font-size:.66rem;font-weight:850;letter-spacing:.03em}
.admin-role-copy{display:grid;min-width:0;line-height:1.2}
.admin-role-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.69rem}
.admin-role-copy small{margin-top:4px;color:var(--admin-side-muted);font-size:.55rem;font-weight:650}
.admin-online-dot{position:absolute;right:11px;top:12px;width:7px;height:7px;border-radius:50%;background:#aee733;box-shadow:0 0 0 3px rgba(174,231,51,.1)}
.admin-nav{position:relative;z-index:1;display:block!important;min-height:0;overflow-x:visible!important;overflow-y:auto!important;margin:0!important;padding:0 3px 14px 2px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent}
.admin-nav::-webkit-scrollbar{width:4px}.admin-nav::-webkit-scrollbar-track{background:transparent}.admin-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:999px}
.admin-nav-link{position:relative;display:flex!important;align-items:center;gap:12px;min-height:41px;padding:9px 11px!important;border-radius:11px!important;color:#999f92!important;font-size:.78rem!important;font-weight:600!important;white-space:nowrap;transition:background .16s,color .16s,transform .16s}
.admin-nav-link svg{flex:0 0 18px}
.admin-nav-link:hover{background:rgba(255,255,255,.055)!important;color:#fff!important;transform:translateX(2px)}
.admin-nav-link.active{background:linear-gradient(90deg,rgba(201,240,82,.17),rgba(201,240,82,.07))!important;color:#efffd0!important;box-shadow:inset 2px 0 0 var(--admin-accent)}
.admin-nav-link.active svg{color:var(--admin-accent)}
.admin-overview-link{margin-bottom:7px}
.admin-nav-group{margin:3px 0}
.admin-nav-group>summary{display:flex;align-items:center;justify-content:space-between;min-height:31px;padding:7px 10px;color:#70766a;cursor:pointer;list-style:none;font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;user-select:none;border-radius:8px;transition:color .16s,background .16s}
.admin-nav-group>summary::-webkit-details-marker{display:none}
.admin-nav-group>summary:hover{color:#aab0a2;background:rgba(255,255,255,.025)}
.admin-nav-group>summary svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .18s}
.admin-nav-group[open]>summary svg{transform:rotate(180deg)}
.admin-nav-links{display:grid;gap:2px;padding:2px 0 5px}
.admin-sidebar-foot{position:relative;z-index:2;display:grid;gap:2px;margin-top:auto;padding-top:12px;border-top:1px solid var(--admin-side-line)}
.admin-utility-link,.admin-logout button{position:relative;width:100%;min-height:38px;display:flex;align-items:center;gap:11px;padding:8px 11px;border:0;border-radius:10px;background:transparent;color:#858b7e;font-size:.72rem;font-weight:600;text-align:left;white-space:nowrap;transition:background .16s,color .16s}
.admin-utility-link:hover,.admin-logout button:hover{background:rgba(255,255,255,.05);color:#fff}
.admin-logout{display:block!important;margin:0!important}
.admin-logout button{color:#9c827e}
.admin-main{width:100%;max-width:100%;min-width:0;padding:34px clamp(24px,3.3vw,54px) 72px;background:radial-gradient(circle at 96% 0,rgba(201,240,82,.055),transparent 290px),#f5f6f2}
.admin-topline{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;min-height:58px;margin-bottom:25px;padding-bottom:17px;border-bottom:1px solid #e1e4dc}
.admin-topline .eyebrow{margin-bottom:5px;color:#8c9285;font-size:.56rem}
.admin-topline h1{font-size:clamp(1.65rem,2.4vw,2.1rem);line-height:1.08;letter-spacing:-.05em}
.admin-topline-link{display:inline-flex;align-items:center;gap:8px;min-height:39px;padding:9px 14px;border:1px solid #dde1d8;border-radius:12px;background:rgba(255,255,255,.72);color:#63695e;font-size:.65rem;font-weight:750;transition:border-color .18s,color .18s,background .18s}
.admin-topline-link:hover{border-color:#cbd4bb;background:#fff;color:#334500}
.admin-mobile-bar,.admin-drawer-backdrop{display:none}

/* Kompaktný desktopový režim – iba ikony, bez straty dostupnosti sekcií. */
.admin-shell.admin-sidebar-collapsed .admin-layout{grid-template-columns:var(--admin-sidebar-compact) minmax(0,1fr)}
.admin-shell.admin-sidebar-collapsed .admin-sidebar{padding-left:15px;padding-right:15px}
.admin-shell.admin-sidebar-collapsed .admin-brand-copy,.admin-shell.admin-sidebar-collapsed .admin-role-copy,.admin-shell.admin-sidebar-collapsed .admin-online-dot,.admin-shell.admin-sidebar-collapsed .admin-nav-link span,.admin-shell.admin-sidebar-collapsed .admin-utility-link span,.admin-shell.admin-sidebar-collapsed .admin-logout button span{display:none}
.admin-shell.admin-sidebar-collapsed .admin-sidebar-head{justify-content:center;padding:0}
.admin-shell.admin-sidebar-collapsed .admin-brand{flex:0 0 42px}
.admin-shell.admin-sidebar-collapsed .admin-collapse-button{position:absolute;top:49px;left:13px;width:30px;height:30px;transform:rotate(180deg);background:#20241c;box-shadow:0 8px 18px rgba(0,0,0,.25)}
.admin-shell.admin-sidebar-collapsed .admin-role-card{justify-content:center;margin-top:48px;padding:8px}
.admin-shell.admin-sidebar-collapsed .admin-nav{overflow:visible!important;padding-left:0;padding-right:0}
.admin-shell.admin-sidebar-collapsed .admin-nav-group{padding-top:5px;border-top:1px solid var(--admin-side-line)}
.admin-shell.admin-sidebar-collapsed .admin-nav-group>summary{display:none}
.admin-shell.admin-sidebar-collapsed .admin-nav-group>.admin-nav-links{display:grid!important;padding:0}
.admin-shell.admin-sidebar-collapsed .admin-nav-link,.admin-shell.admin-sidebar-collapsed .admin-utility-link,.admin-shell.admin-sidebar-collapsed .admin-logout button{justify-content:center;min-height:42px;padding:10px!important}
.admin-shell.admin-sidebar-collapsed :is(.admin-nav-link,.admin-utility-link,.admin-logout button)[data-label]:after{content:attr(data-label);position:absolute;z-index:110;left:calc(100% + 12px);top:50%;transform:translate(5px,-50%);padding:7px 10px;border-radius:8px;background:#11130f;color:#fff;box-shadow:0 10px 26px rgba(0,0,0,.18);font-family:'Roboto',sans-serif;font-size:.7rem;font-weight:600;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s,transform .14s}
.admin-shell.admin-sidebar-collapsed :is(.admin-nav-link,.admin-utility-link,.admin-logout button)[data-label]:hover:after,.admin-shell.admin-sidebar-collapsed :is(.admin-nav-link,.admin-utility-link,.admin-logout button)[data-label]:focus-visible:after{opacity:1;visibility:visible;transform:translate(0,-50%)}

@media(max-height:760px) and (min-width:1025px){
  .admin-shell .admin-sidebar{padding-top:14px;padding-bottom:12px}
  .admin-role-card{margin-top:11px;margin-bottom:9px;min-height:50px}
  .admin-avatar{width:32px;height:32px;flex-basis:32px}
  .admin-nav-link{min-height:37px;padding-top:7px!important;padding-bottom:7px!important}
  .admin-nav-group>summary{min-height:27px;padding-top:5px;padding-bottom:5px}
  .admin-sidebar-foot{padding-top:7px}
  .admin-utility-link,.admin-logout button{min-height:34px}
}

@media(max-width:1024px){
  .admin-shell .admin-layout,.admin-shell.admin-sidebar-collapsed .admin-layout{display:block;min-height:100vh}
  .admin-shell .admin-sidebar,.admin-shell.admin-sidebar-collapsed .admin-sidebar{position:fixed;z-index:120;inset:0 auto 0 0;width:min(310px,calc(100vw - 38px));height:100vh;height:100dvh;padding:18px 16px 15px;transform:translateX(-104%);transition:transform .25s cubic-bezier(.2,.75,.2,1);box-shadow:28px 0 70px rgba(0,0,0,.3)}
  .admin-shell.admin-drawer-open .admin-sidebar{transform:translateX(0)}
  .admin-shell.admin-sidebar-collapsed .admin-brand-copy,.admin-shell.admin-sidebar-collapsed .admin-role-copy,.admin-shell.admin-sidebar-collapsed .admin-online-dot,.admin-shell.admin-sidebar-collapsed .admin-nav-link span,.admin-shell.admin-sidebar-collapsed .admin-utility-link span,.admin-shell.admin-sidebar-collapsed .admin-logout button span{display:initial}
  .admin-shell.admin-sidebar-collapsed .admin-brand-copy,.admin-shell.admin-sidebar-collapsed .admin-role-copy{display:grid}
  .admin-shell.admin-sidebar-collapsed .admin-sidebar-head{justify-content:flex-start;padding:0 4px}
  .admin-shell.admin-sidebar-collapsed .admin-brand{flex:1}
  .admin-shell.admin-sidebar-collapsed .admin-role-card{justify-content:flex-start;margin:19px 2px 15px;padding:9px 10px}
  .admin-shell.admin-sidebar-collapsed .admin-nav{overflow-y:auto!important;padding:0 3px 14px 2px}
  .admin-shell.admin-sidebar-collapsed .admin-nav-group{padding-top:0;border-top:0}
  .admin-shell.admin-sidebar-collapsed .admin-nav-group>summary{display:flex}
  .admin-shell.admin-sidebar-collapsed .admin-nav-group:not([open])>.admin-nav-links{display:none!important}
  .admin-shell.admin-sidebar-collapsed .admin-nav-link,.admin-shell.admin-sidebar-collapsed .admin-utility-link,.admin-shell.admin-sidebar-collapsed .admin-logout button{justify-content:flex-start;min-height:41px;padding:9px 11px!important}
  .admin-shell.admin-sidebar-collapsed :is(.admin-nav-link,.admin-utility-link,.admin-logout button)[data-label]:after{display:none}
  .admin-collapse-button{display:none}
  .admin-drawer-close{display:grid}
  .admin-drawer-backdrop{display:block;position:fixed;z-index:110;inset:0;border:0;background:rgba(8,10,7,.58);backdrop-filter:blur(3px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s,visibility .22s}
  .admin-shell.admin-drawer-open .admin-drawer-backdrop{opacity:1;visibility:visible;pointer-events:auto}
  .admin-main{padding:0 22px 60px}
  .admin-mobile-bar{position:sticky;z-index:80;top:0;display:grid;grid-template-columns:42px auto 1fr;align-items:center;gap:11px;min-height:67px;margin:0 -22px 25px;padding:10px 22px;background:rgba(245,246,242,.92);border-bottom:1px solid #e0e3db;backdrop-filter:blur(16px)}
  .admin-mobile-bar .admin-icon-button{border-color:#dce0d6;background:#fff;color:#30352d}
  .admin-mobile-brand{display:flex;align-items:center;gap:5px;padding-right:12px;border-right:1px solid #dfe2da;font-size:.66rem;letter-spacing:.04em}
  .admin-mobile-brand img{width:38px;height:auto}
  .admin-mobile-bar>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#73786d;font-size:.67rem;font-weight:700}
  .admin-topline{min-height:0;margin-bottom:22px;padding-bottom:14px}
  .admin-topline-link{display:none}
}

@media(max-width:620px){
  .admin-main{padding-left:14px;padding-right:14px}
  .admin-mobile-bar{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}
  .admin-topline h1{font-size:1.55rem}
  .admin-sidebar-head{padding:0}
}

@media(prefers-reduced-motion:reduce){
  .admin-shell .admin-layout,.admin-shell .admin-sidebar,.admin-drawer-backdrop,.admin-nav-link,.admin-icon-button{transition:none!important}
}

/* ---- 4.5.4: administračný changelog ---- */
.changelog-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(180px,.55fr);gap:24px;overflow:hidden;margin-bottom:18px;padding:31px 32px 22px;border-radius:22px;background:#11130f;color:#fff;box-shadow:0 24px 60px rgba(24,28,17,.12)}
.changelog-hero:before{content:"";position:absolute;z-index:-1;right:-100px;top:-190px;width:470px;height:470px;border-radius:50%;background:radial-gradient(circle,rgba(201,240,82,.2),rgba(61,174,199,.08) 35%,transparent 68%)}
.changelog-hero-copy{max-width:720px}.changelog-kicker{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#aeb5a5;font-size:.58rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.changelog-kicker i{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px rgba(201,240,82,.1)}
.changelog-hero h2{max-width:680px;margin:0 0 10px;font-size:clamp(1.65rem,3vw,2.55rem);line-height:1.07;letter-spacing:-.055em}.changelog-hero-copy p{max-width:650px;margin:0;color:#8e9586;font-size:.76rem;line-height:1.65}
.changelog-current{align-self:center;justify-self:end;min-width:185px;padding:20px 22px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.055);backdrop-filter:blur(10px)}
.changelog-current span,.changelog-current small{display:block;color:#8e9586;font-size:.57rem;font-weight:700}.changelog-current strong{display:block;margin:5px 0 4px;color:var(--lime);font-size:2rem;letter-spacing:-.06em}
.changelog-stats{grid-column:1/-1;display:flex;gap:0;margin-top:7px;padding-top:18px;border-top:1px solid rgba(255,255,255,.075)}
.changelog-stats>div{display:flex;align-items:baseline;gap:7px;padding:0 24px;border-right:1px solid rgba(255,255,255,.09)}.changelog-stats>div:first-child{padding-left:0}.changelog-stats>div:last-child{border:0}.changelog-stats strong{font-size:1.05rem;color:#f8faf4}.changelog-stats span{color:#737a6d;font-size:.57rem;font-weight:650}
.changelog-controls{display:grid;grid-template-columns:minmax(230px,1fr) auto;gap:15px 18px;padding:18px 20px!important}
.changelog-search{position:relative;display:flex;align-items:center}.changelog-search svg{position:absolute;left:13px;width:17px;height:17px;fill:none;stroke:#8c9286;stroke-width:1.8;stroke-linecap:round}.changelog-search input{width:100%;min-height:43px;padding:10px 54px 10px 41px;border:1px solid #dfe3da;border-radius:12px;background:#fafbf8;color:#171a15;outline:none;font-size:.7rem}.changelog-search input:focus{border-color:#a3ce34;box-shadow:0 0 0 4px rgba(163,206,52,.12);background:#fff}.changelog-search kbd{position:absolute;right:10px;padding:3px 7px;border:1px solid #dfe2db;border-radius:6px;background:#fff;color:#92978d;font:600 .55rem var(--font);box-shadow:0 1px 2px rgba(0,0,0,.04)}
.changelog-filter-row{display:flex;gap:5px;flex-wrap:wrap;align-items:center}.changelog-filter-row button{min-height:36px;padding:7px 11px;border:0;border-radius:9px;background:#f0f2ed;color:#72776c;font-size:.6rem;font-weight:750;transition:background .16s,color .16s}.changelog-filter-row button:hover{background:#e7ebe2;color:#30342d}.changelog-filter-row button.active{background:#171a15;color:#fff;box-shadow:0 7px 18px rgba(23,26,21,.14)}
.changelog-view-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding-top:13px;border-top:1px solid var(--line)}.changelog-view-actions span{color:#92978d;font-size:.59rem;font-weight:650}.changelog-view-actions button{border:0;background:transparent;color:#587a0c;font-size:.61rem;font-weight:800;padding:4px}
.changelog-note{display:flex;align-items:flex-start;gap:11px;margin:0 0 22px;padding:13px 15px;border:1px solid #e0e7d5;border-radius:14px;background:#f8fbee;color:#68705f}.changelog-note>span{width:20px;height:20px;flex:0 0 20px;display:grid;place-items:center;border-radius:50%;background:#dff1b5;color:#537500;font-size:.62rem;font-weight:850}.changelog-note p{margin:0;font-size:.61rem;line-height:1.55}
.changelog-timeline{position:relative;display:grid;gap:12px;padding-left:37px}.changelog-timeline:before{content:"";position:absolute;left:10px;top:9px;bottom:9px;width:1px;background:linear-gradient(#afda40,#dce1d6 9%,#dce1d6 92%,transparent)}
.changelog-section-break{position:relative;display:grid;gap:3px;margin:23px 0 5px;padding:18px 21px;border:1px dashed #cfd8c6;border-radius:15px;background:linear-gradient(100deg,#f8fbed,#f4f8fb)}.changelog-section-break:before{content:"";position:absolute;left:-32px;top:50%;width:21px;height:1px;background:#d5dbd0}.changelog-section-break span{color:#7d9870;font-size:.5rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.changelog-section-break strong{font-size:.82rem}.changelog-section-break small{color:#7d8378;font-size:.59rem}
.changelog-entry{position:relative;min-width:0}.changelog-entry[hidden]{display:none}.changelog-node{position:absolute;z-index:2;left:-33px;top:26px;width:13px;height:13px;border:3px solid #f5f6f2;border-radius:50%;background:#c8cec1;box-shadow:0 0 0 1px #d6dbd1}.changelog-entry.is-latest .changelog-node{background:var(--lime2);box-shadow:0 0 0 1px #a8ce3c,0 0 0 7px rgba(166,211,58,.12)}
.changelog-entry details{overflow:hidden;border:1px solid #e0e3dc;border-radius:17px;background:#fff;box-shadow:0 10px 30px rgba(24,29,18,.035);transition:border-color .18s,box-shadow .18s}.changelog-entry details[open]{border-color:#d5dccd;box-shadow:0 16px 38px rgba(24,29,18,.065)}
.changelog-entry summary{display:grid;grid-template-columns:105px minmax(0,1fr) auto 22px;gap:18px;align-items:center;min-height:105px;padding:19px 21px;cursor:pointer;list-style:none;user-select:none}.changelog-entry summary::-webkit-details-marker{display:none}.changelog-entry summary:hover{background:#fbfcf9}
.changelog-version{display:inline-flex;align-items:center;justify-content:center;justify-self:start;min-width:78px;padding:8px 11px;border-radius:10px;background:#eff6dd;color:#5b7b0b;font-size:.71rem;font-weight:850;letter-spacing:-.02em}.changelog-version.connector-version{background:#e9f4fa;color:#277391;font-size:.6rem}
.changelog-summary-copy{display:grid;min-width:0}.changelog-meta{display:flex;align-items:center;gap:7px;margin-bottom:5px;color:#999e94;font-size:.53rem;font-weight:700}.changelog-meta i{width:3px;height:3px;border-radius:50%;background:#c0c4bc}.changelog-meta b{color:#7d8378;font-size:inherit}.changelog-meta em{padding:3px 6px;border-radius:999px;background:#e8f6c5;color:#557500;font-size:.49rem;font-style:normal;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.changelog-summary-copy>strong{overflow:hidden;text-overflow:ellipsis;color:#20231e;font-size:.83rem;line-height:1.35}.changelog-summary-copy>small{margin-top:5px;color:#7e8379;font-size:.63rem;line-height:1.55}.changelog-change-total{color:#a0a59b;font-size:.56rem;font-weight:700;white-space:nowrap}.changelog-chevron{width:18px;height:18px;fill:none;stroke:#8e9488;stroke-width:1.8;transition:transform .18s}.changelog-entry details[open] .changelog-chevron{transform:rotate(180deg)}
.changelog-body{padding:0 21px 22px 144px}.changelog-body ul{display:grid;gap:0;margin:0;padding:16px 0 0;border-top:1px solid #eceee9;list-style:none}.changelog-body li{display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px;align-items:start;padding:8px 0}.changelog-body li p{margin:0;color:#4d5249;font-size:.65rem;line-height:1.58}.change-type{display:inline-flex;justify-content:center;width:max-content;min-width:72px;padding:5px 7px;border-radius:7px;background:#f0f2ed;color:#6e7469;font-size:.5rem;font-weight:800}.change-type-new{background:#eaf6cf;color:#567600}.change-type-change{background:#e7f2f8;color:#236a87}.change-type-fix{background:#fff1d7;color:#8a5b00}.change-type-security{background:#f2eafb;color:#68419b}.change-type-integration{background:#e8effd;color:#365eae}
.changelog-empty{padding:54px 24px;border:1px dashed #d7dcd1;border-radius:18px;background:#fafbf8;text-align:center}.changelog-empty strong{font-size:.9rem}.changelog-empty p{margin:5px 0 0;color:var(--muted);font-size:.66rem}

/* 4.5.5 – Roboto a väčšia typografia na celej stránke Changelog. */
.changelog-hero,.changelog-controls,.changelog-note,.changelog-timeline,.changelog-empty{font-family:'Roboto',sans-serif}
.changelog-kicker{font-size:.68rem;font-weight:700}
.changelog-hero h2{font-family:'Roboto',sans-serif;font-size:clamp(1.75rem,3vw,2.65rem);font-weight:700;letter-spacing:-.035em}
.changelog-hero-copy p{color:#a0a79a;font-size:.9rem}
.changelog-current span,.changelog-current small{color:#9ca394;font-size:.68rem;font-weight:600}
.changelog-current strong{font-size:2.08rem;letter-spacing:-.045em}
.changelog-stats strong{font-size:1.12rem}.changelog-stats span{color:#858d7e;font-size:.68rem;font-weight:600}
.changelog-search input{font-family:'Roboto',sans-serif;font-size:.82rem}
.changelog-search kbd{font:600 .64rem 'Roboto',sans-serif}
.changelog-filter-row button{font-family:'Roboto',sans-serif;font-size:.7rem;font-weight:700}
.changelog-view-actions span{font-size:.7rem;font-weight:600}.changelog-view-actions button{font-size:.72rem;font-weight:700}
.changelog-note>span{font-size:.68rem;font-weight:800}.changelog-note p{font-size:.72rem;line-height:1.6}
.changelog-section-break span{font-size:.6rem;font-weight:800}.changelog-section-break strong{font-size:.94rem}.changelog-section-break small{font-size:.7rem}
.changelog-version{font-size:.82rem;font-weight:800}.changelog-version.connector-version{font-size:.72rem}
.changelog-meta{font-size:.62rem;font-weight:600}.changelog-meta em{font-size:.58rem;font-weight:700}
.changelog-summary-copy>strong{font-size:.95rem}.changelog-summary-copy>small{color:#71776d;font-size:.76rem}
.changelog-change-total{font-size:.65rem;font-weight:600}
.changelog-body li p{font-size:.77rem;line-height:1.62}.change-type{font-size:.58rem;font-weight:700}
.changelog-empty strong{font-size:1rem}.changelog-empty p{font-size:.76rem}

@media(max-width:900px){.changelog-hero{grid-template-columns:1fr}.changelog-current{justify-self:start}.changelog-controls{grid-template-columns:1fr}.changelog-filter-row{grid-row:auto}.changelog-entry summary{grid-template-columns:90px minmax(0,1fr) 18px}.changelog-change-total{display:none}.changelog-body{padding-left:129px}}
@media(max-width:650px){.changelog-hero{padding:25px 22px 19px}.changelog-current{min-width:155px;padding:15px 18px}.changelog-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px}.changelog-stats>div{padding:0;border:0}.changelog-stats>div:last-child{grid-column:1/-1}.changelog-controls{padding:15px!important}.changelog-search kbd{display:none}.changelog-filter-row{display:grid;grid-template-columns:repeat(2,1fr)}.changelog-filter-row button{width:100%}.changelog-timeline{padding-left:26px}.changelog-timeline:before{left:5px}.changelog-node{left:-25px}.changelog-entry summary{grid-template-columns:1fr 18px;gap:11px;min-height:0;padding:16px}.changelog-version{grid-column:1;grid-row:1}.changelog-summary-copy{grid-column:1;grid-row:2}.changelog-chevron{grid-column:2;grid-row:1/3;align-self:center}.changelog-summary-copy>strong{white-space:normal}.changelog-body{padding:0 16px 18px}.changelog-body ul{padding-top:13px}.changelog-body li{grid-template-columns:1fr;gap:6px;padding:9px 0}.changelog-note{display:none}}

/* ---- 4.5.9: e-mailové upozornenia v administrácii ---- */
.admin-mail-nav-badge{position:absolute;right:9px;top:50%;min-width:20px;height:20px;padding:0 6px;border:2px solid #11130f;border-radius:999px;background:#f04444;color:#fff;display:inline-grid;place-items:center;transform:translateY(-50%);font:700 .62rem/1 'Roboto',sans-serif;letter-spacing:0;box-shadow:0 6px 16px rgba(240,68,68,.3)}
.admin-mail-nav-badge[hidden],.admin-mail-dashboard-alert[hidden],.admin-mail-alert-actions a[hidden]{display:none!important}
.admin-nav-link:has(.admin-mail-nav-badge:not([hidden])){padding-right:42px!important}
.admin-shell.admin-sidebar-collapsed .admin-nav-link:has(.admin-mail-nav-badge:not([hidden])){padding-right:10px!important}
.admin-shell.admin-sidebar-collapsed .admin-mail-nav-badge{right:2px;top:3px;min-width:17px;height:17px;padding:0 4px;border-width:2px;transform:none;font-size:.54rem}
.admin-mail-nav-badge.is-new{animation:adminMailBadgePop .65s cubic-bezier(.2,.8,.2,1)}
.admin-mail-dashboard-alert{position:relative;isolation:isolate;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;overflow:hidden;margin:0 0 18px;padding:20px 22px;border:1px solid rgba(201,240,82,.22);border-radius:19px;background:#151812;color:#fff;box-shadow:0 18px 42px rgba(27,32,20,.12)}
.admin-mail-dashboard-alert:before{content:"";position:absolute;z-index:-1;right:-70px;top:-120px;width:270px;height:270px;border-radius:50%;background:radial-gradient(circle,rgba(201,240,82,.2),rgba(62,190,214,.06) 42%,transparent 69%)}
.admin-mail-dashboard-alert.is-visible{animation:adminMailAlertIn .52s cubic-bezier(.2,.8,.2,1)}
.admin-mail-dashboard-alert.is-new{animation:adminMailAlertPulse .8s cubic-bezier(.2,.8,.2,1)}
.admin-mail-alert-icon{position:relative;width:50px;height:50px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.1);border-radius:15px;background:rgba(255,255,255,.065);color:var(--lime)}
.admin-mail-alert-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.admin-mail-alert-icon i{position:absolute;right:-3px;top:-3px;width:12px;height:12px;border:3px solid #151812;border-radius:50%;background:#f04444;box-shadow:0 0 0 5px rgba(240,68,68,.1)}
.admin-mail-alert-copy{min-width:0}.admin-mail-alert-copy .eyebrow{display:block;margin:0 0 4px;color:#8f9888;font-size:.57rem}.admin-mail-alert-copy h2{margin:0;color:#f8faf4;font-family:'Roboto',sans-serif;font-size:1rem;font-weight:700;letter-spacing:-.02em}.admin-mail-alert-copy p{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:5px 0 0;color:#9ea699;font:500 .69rem/1.45 'Roboto',sans-serif}.admin-mail-alert-copy p i{color:#596052;font-style:normal}
.admin-mail-alert-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.admin-mail-alert-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 13px;border:1px solid rgba(255,255,255,.11);border-radius:11px;background:rgba(255,255,255,.06);color:#eef1e9;font:650 .66rem/1 'Roboto',sans-serif;white-space:nowrap;transition:background .16s,border-color .16s,color .16s}.admin-mail-alert-actions a:first-child{border-color:rgba(201,240,82,.24);background:rgba(201,240,82,.12);color:#dcff78}.admin-mail-alert-actions a:hover{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.11);color:#fff}
.mail-attention-stat strong{color:#c72f3b}.mail-attention-stat small a{color:#a52e38;font-weight:700}.mail-error-handled{display:inline-flex;margin-left:6px;padding:5px 8px;border-radius:999px;background:#eaf2e1;color:#5b7650;font-size:.56rem;font-weight:750}
@keyframes adminMailBadgePop{0%{scale:.6}55%{scale:1.25}100%{scale:1}}
@keyframes adminMailAlertIn{0%{opacity:0;transform:translateY(-10px) scale(.985)}100%{opacity:1;transform:none}}
@keyframes adminMailAlertPulse{0%{box-shadow:0 18px 42px rgba(27,32,20,.12)}45%{box-shadow:0 0 0 5px rgba(201,240,82,.15),0 22px 50px rgba(27,32,20,.18)}100%{box-shadow:0 18px 42px rgba(27,32,20,.12)}}
@media(max-width:760px){.admin-mail-dashboard-alert{grid-template-columns:auto minmax(0,1fr);align-items:start;padding:18px}.admin-mail-alert-actions{grid-column:1/-1;justify-content:flex-start}.admin-mail-alert-actions a{flex:1}.admin-mail-alert-copy p{display:grid;gap:2px}.admin-mail-alert-copy p i{display:none}}
@media(prefers-reduced-motion:reduce){.admin-mail-nav-badge,.admin-mail-dashboard-alert{animation:none!important}}

/* ---- 4.6.0: pätička verejných stránok + GDPR stránka ---- */
.site-footer{background:#0d0e0c;color:rgba(255,255,255,.62);padding:44px 0 38px;margin-top:0}
.site-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.site-footer-brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.06em;color:#fff}
.site-footer-brand img{width:44px;height:auto;filter:invert(1)}
.site-footer-links{display:flex;gap:22px;flex-wrap:wrap}
.site-footer-links a{color:rgba(255,255,255,.62);font-size:.82rem;font-weight:650;transition:color .18s}
.site-footer-links a:hover{color:var(--lime)}
.site-footer-note{width:100%;margin:0;font-size:.72rem;color:rgba(255,255,255,.34);border-top:1px solid rgba(255,255,255,.08);padding-top:18px}
@media(max-width:850px){.site-footer-inner{flex-direction:column;align-items:flex-start;gap:18px}.site-footer-links{gap:14px}}

.privacy-page .privacy-body{margin-top:26px}
.privacy-body h2{font-size:1.16rem;letter-spacing:-.02em;margin:34px 0 10px}
.privacy-body h2:first-child{margin-top:0}
.privacy-body p{margin:0 0 12px;line-height:1.68;color:#3f443b;font-size:.92rem}
.privacy-body strong{color:#10120d}
.privacy-body a{color:#5d8200;font-weight:700}
.privacy-updated{display:inline-block;background:#f2f4ee;border:1px solid var(--line);border-radius:999px;padding:8px 15px;font-size:.76rem!important;color:#61665c!important;margin-bottom:8px!important}

/* ---- 4.6.0: detail dotazníka v administrácii ---- */
.questionnaire-questions{display:grid;gap:14px}
.questionnaire-question{border:1px solid var(--line);border-radius:16px;padding:16px 18px;background:#fbfcfa}
.questionnaire-question-head{display:flex;gap:12px;align-items:flex-start}
.questionnaire-question-index{flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:#10120d;color:#c9f052;display:grid;place-items:center;font-size:.72rem;font-weight:800}
.questionnaire-question-head strong{display:block;font-size:.9rem}
.questionnaire-question-head small{display:block;margin-top:3px;font-size:.68rem;color:var(--muted)}
.questionnaire-scale{display:grid;gap:6px;margin-top:12px}
.questionnaire-scale-row{display:grid;grid-template-columns:120px 1fr 34px;gap:10px;align-items:center;font-size:.74rem}
.questionnaire-scale-row i{display:block;height:9px;border-radius:999px;background:#eef0ea;overflow:hidden}
.questionnaire-scale-row i b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--lime2,#9ac700),var(--cyan,#21d4f4))}
.questionnaire-scale-row strong{text-align:right;font-size:.74rem}
.questionnaire-average{margin:10px 0 0;font-size:.76rem;color:var(--muted)}
.questionnaire-responses td small{display:block;color:var(--muted);font-size:.65rem;margin-top:2px}
.questionnaire-responses td{max-width:280px;vertical-align:top}
.admin-toolbar-actions{display:flex;gap:10px;flex-wrap:wrap}

/* ---- Editor dotazníka: nápoveda k syntaxi ---- */
.questionnaire-syntax{margin:-6px 0 4px;border:1px solid var(--line);border-radius:14px;padding:12px 16px;background:#fbfcfa}
.questionnaire-syntax summary{cursor:pointer;font-size:.8rem;font-weight:700;color:#5d8200}
.questionnaire-syntax table{margin:12px 0 4px}
.questionnaire-syntax td{padding:6px 10px;font-size:.74rem;border-bottom:1px solid #eff0ed}
.questionnaire-syntax td:first-child{white-space:nowrap;width:190px}
.questionnaire-syntax code{background:#eef0ea;border-radius:4px;padding:1px 5px;font-size:.7rem}
.answer-chip{display:inline-block;background:#eef0ea;border-radius:999px;padding:3px 9px;margin:2px 3px 2px 0;font-size:.68rem}

/* Reálny stav skladu z e-shopu v zozname Club Drops */
.data-table .stock-warning { color: #c23b3b; font-weight: 700; }

/* Plávajúci pill topbar je position:fixed, takže flash hláška (napr. zlé heslo
   pri prihlásení) sa pod neho schovávala. Odsadíme ju pod lištu. */
.public-shell .flash-wrap { margin-top: 96px; }
.public-shell .flash-wrap + .auth-page { padding-top: 24px; min-height: calc(100vh - 190px); }
@media (max-width: 620px) {
  .public-shell .flash-wrap { margin-top: 82px; }
}

/* Náhľad a odstránenie obrázka benefitu v administrácii */
.benefit-image-preview { display:flex; align-items:flex-start; gap:16px; flex-wrap:wrap; margin-top:12px; padding:14px; border:1px solid var(--line); border-radius:14px; background:#fbfcfa; }
.benefit-image-preview img { max-height:120px; max-width:170px; border-radius:11px; background:#f2f4ee; padding:8px; object-fit:contain; }
.benefit-image-preview .check-row { margin:0; font-size:.78rem; }
.benefit-image-preview .check-row small { display:block; margin-top:4px; color:var(--muted); font-size:.72rem; font-weight:500; line-height:1.45; }

/* Upozornenie na dochádzajúce zásoby produktov v klube (admin dashboard) */
.low-stock-alert { display:flex; gap:16px; align-items:flex-start; margin-bottom:18px; padding:20px; border:1px solid #f0d8a8; border-radius:18px; background:linear-gradient(135deg,#fffaf0,#fdf3e0); }
.low-stock-icon { flex:0 0 42px; width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:#f5d79a; color:#7a5310; }
.low-stock-icon svg { width:22px; height:22px; }
.low-stock-copy { flex:1; min-width:0; }
.low-stock-copy .eyebrow { color:#9a7318; }
.low-stock-copy h2 { margin:4px 0 5px; font-size:1.05rem; }
.low-stock-copy > p { margin:0 0 12px; color:#7c6a4a; font-size:.8rem; }
.low-stock-list { list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.low-stock-list li { display:flex; align-items:center; gap:10px; padding:9px 12px; border-radius:11px; background:rgba(255,255,255,.8); font-size:.78rem; }
.low-stock-list a { font-weight:700; color:#5c4a1e; }
.low-stock-list a:hover { text-decoration:underline; }
.low-stock-kind { color:#9a9484; font-size:.68rem; }
.low-stock-list b { margin-left:auto; color:#7a5310; font-weight:800; white-space:nowrap; }
.low-stock-list b.is-out { color:#b3321f; }
.low-stock-copy > small { display:block; margin-top:8px; color:#9a9484; font-size:.7rem; }
@media (max-width:620px) {
  .low-stock-alert { flex-direction:column; }
  .low-stock-list li { flex-wrap:wrap; }
}

/* Upozornenie pri poli formulára (registrácia: rovnaký e-mail ako na e-shope) */
.field-notice {
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin:3px 0 0;
  padding:11px 13px;
  border:1px solid #f0d8a8;
  border-radius:13px;
  background:linear-gradient(135deg,#fffaf0,#fdf3e0);
  color:#7c6a4a;
  font-size:.72rem;
  font-weight:500;
  line-height:1.5;
}
.field-notice strong { color:#5c4a1e; font-weight:800; }
.field-notice-mark {
  flex:0 0 20px;
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  margin-top:1px;
  border-radius:50%;
  background:#f5d79a;
  color:#7a5310;
  font-size:.7rem;
  font-weight:800;
  line-height:1;
}

/* Popis poľa a jeho doplnok ("(voliteľné)") na jednom riadku.
   Label je grid, takže samostatný <small> by skočil na nový riadok. */
.label-text{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;min-width:0}
.form-card .label-text small,.form-grid>label>.label-text small{
  display:inline;
  margin:0;
  color:#8b9087;
  font-size:.68rem;
  font-weight:500;
}

/* Vlastné zaškrtávacie políčka v prihlasovacích a registračných formulároch.
   Natívny checkbox sa iba prekreslí (appearance:none), zostáva ovládateľný
   klávesnicou aj čítačkou obrazovky. */
.form-card .check-row{
  align-items:flex-start!important;
  gap:12px!important;
  margin:0 0 9px!important;
  padding:12px 14px;
  border:1px solid #e4e7e0;
  border-radius:14px;
  background:#fbfcfa;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease;
}
.form-card .check-row:hover{border-color:#cfd8c1;background:#fff}
.form-card .check-row:has(input:checked){border-color:#d2e7a0;background:#f8fcec}
.form-card .check-row input[type="checkbox"]{
  appearance:none;
  -webkit-appearance:none;
  flex:0 0 20px;
  width:20px!important;
  height:20px!important;
  min-height:20px!important;
  margin:1px 0 0!important;
  padding:0!important;
  display:grid;
  place-items:center;
  border:1.5px solid #c8d0bd;
  border-radius:7px;
  background:#fff;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.form-card .check-row:hover input[type="checkbox"]{border-color:#aab79a}
.form-card .check-row input[type="checkbox"]:focus-visible{
  outline:none;
  border-color:#9bc900;
  box-shadow:0 0 0 4px rgba(155,201,0,.18);
}
.form-card .check-row input[type="checkbox"]:checked{
  border-color:#a5cf1c;
  background:linear-gradient(135deg,var(--lime),var(--lime2));
}
.form-card .check-row input[type="checkbox"]::after{
  content:"";
  width:11px;
  height:11px;
  background:#10120d;
  clip-path:polygon(14% 44%,0 65%,40% 100%,100% 16%,82% 0,38% 62%);
  transform:scale(0);
  transition:transform .15s ease;
}
.form-card .check-row input[type="checkbox"]:checked::after{transform:scale(1)}
.form-card .check-row a{font-weight:700;color:#638b00;text-decoration:underline}
.form-card .check-row+.button{margin-top:9px}

/* Registrácia: formulár je rozložený do oboch stĺpcov, aby stránka nebola
   neúmerne vysoká. Vľavo pitch + registrácia cez Google, vpravo e-mailový
   formulár v dvoch stĺpcoch. */
.auth-card-register{grid-template-columns:.88fr 1.12fr}
.auth-card-register .auth-copy{padding:26px 32px}
.auth-copy-google{
  margin-top:26px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.12);
}
.auth-copy-google .google-auth-note{
  margin-top:9px;
  color:rgba(255,255,255,.42);
  text-align:left;
}
.form-card-eyebrow{margin-bottom:16px}
.auth-card-register .form-card{padding:30px 30px 26px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}

/* Súhlasy vedľa seba – dva krátke a jeden cez celú šírku. */
.consent-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin:16px 0 14px;
}
.consent-grid>*{min-width:0}
.form-card .consent-grid .check-row{margin:0!important;padding:11px 13px}
@media(max-width:980px){
  .auth-card-register{grid-template-columns:1fr 1fr}
}
@media(max-width:850px){
  .auth-card-register{grid-template-columns:1fr}
  .auth-card-register .form-card{align-self:auto}
}
@media(max-width:680px){
  .consent-grid{grid-template-columns:1fr}
}

/* ------------------------------------------------------------------
   Vlastný vzhľad rozbaľovacích zoznamov v prihlasovacích formulároch.
   Používa customizable <select> (appearance:base-select). V prehliadačoch,
   ktoré ho nepodporujú (Firefox), sa zobrazí štandardný systémový zoznam –
   formulár funguje rovnako, len bez klubového vzhľadu. Žiadne JS, takže
   ovládanie klávesnicou a čítačkou obrazovky zostáva natívne.
   ------------------------------------------------------------------ */
.form-card select,
.form-card select::picker(select){appearance:base-select}
/* Rozloženie tlačidla a položiek má zmysel len vtedy, keď prehliadač
   base-select naozaj podporuje – inak by display:flex zasiahol natívny
   <select>, ktorý sa takto štýlovať nedá. */
@supports (appearance:base-select){
  .form-card select{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    text-align:left;
  }
}
.form-card select::picker-icon{
  color:#8b9087;
  transition:transform .3s cubic-bezier(.16,1,.3,1),color .2s ease;
}
.form-card select:hover::picker-icon{color:#4f534b}
.form-card select:open{border-color:#9bc900;background:#fff;box-shadow:0 0 0 4px rgba(155,201,0,.10)}
.form-card select:open::picker-icon{transform:rotate(180deg)}
.form-card select::picker(select){
  width:anchor-size(width);
  margin-top:6px;
  padding:6px;
  border:1px solid #e0e4da;
  border-radius:15px;
  background:#fff;
  box-shadow:0 22px 48px rgba(22,25,18,.14);
  opacity:0;
  transform:translateY(-8px) scale(.97);
  transition:
    display .26s allow-discrete,
    overlay .26s allow-discrete,
    opacity .26s cubic-bezier(.16,1,.3,1),
    transform .26s cubic-bezier(.16,1,.3,1);
}
.form-card select:open::picker(select){opacity:1;transform:translateY(0) scale(1)}
@starting-style{
  .form-card select:open::picker(select){opacity:0;transform:translateY(-8px) scale(.97)}
}
@supports (appearance:base-select){
  .form-card select option{
    display:flex;
    align-items:center;
    gap:10px;
    padding:11px 12px;
    border-radius:11px;
    color:#2b2d27;
    font-size:.8rem;
    font-weight:600;
    cursor:pointer;
    transition:background .16s ease,color .16s ease;
  }
  .form-card select option:hover,
  .form-card select option:focus{background:#f3f7e7;color:#171815}
  .form-card select option:checked{background:#eef6d8;font-weight:800}
  .form-card select option::checkmark{color:#6d9900;order:1;margin-left:auto}
}

/* ------------------------------------------------------------------
   Registrácia – nástup obsahu a nadnášajúce svetlá v tmavom stĺpci.
   Všetko je čisté CSS (žiadne JS), takže pri vypnutom JavaScripte je
   stránka plne funkčná. Na konci bloku je vypnutie pre používateľov,
   ktorí majú v systéme obmedzený pohyb.
   ------------------------------------------------------------------ */
@keyframes authCardIn{from{opacity:0;transform:translateY(22px) scale(.986)}to{opacity:1;transform:none}}
@keyframes authRise{from{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:none}}
@keyframes authSlideLeft{from{opacity:0;transform:translateX(-34px)}to{opacity:1;transform:none}}
@keyframes authChipIn{from{opacity:0;transform:translateY(18px) scale(.8)}to{opacity:1;transform:none}}
@keyframes authFloatA{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-58px,52px,0) scale(1.22)}}
@keyframes authFloatB{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(54px,-46px,0) scale(1.26)}}
@keyframes authNoticePulse{from{box-shadow:0 0 0 0 rgba(234,196,120,.75)}to{box-shadow:0 0 0 13px rgba(234,196,120,0)}}

.auth-card-register{animation:authCardIn .6s cubic-bezier(.16,1,.3,1) both}

/* Nadnášajúce svetlá za textom o vstupe do klubu. */
.auth-card-register .auth-copy{position:relative;overflow:hidden}
.auth-card-register .auth-copy::before,
.auth-card-register .auth-copy::after{
  content:'';
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  will-change:transform;
}
.auth-card-register .auth-copy::before{
  width:380px;height:380px;top:-135px;right:-115px;
  background:radial-gradient(circle,rgba(201,240,82,.42),transparent 64%);
  filter:blur(14px);
  animation:authFloatA 11s ease-in-out infinite;
}
.auth-card-register .auth-copy::after{
  width:320px;height:320px;bottom:-125px;left:-105px;
  background:radial-gradient(circle,rgba(33,212,244,.36),transparent 64%);
  filter:blur(16px);
  animation:authFloatB 14s ease-in-out infinite;
}
.auth-card-register .auth-copy>*{position:relative;z-index:1}
.auth-card-register .auth-copy>.auth-smoke{position:absolute;inset:-12%;z-index:0}

/* Postupný nástup obsahu – ľavý stĺpec, potom formulár. */
.auth-card-register .auth-copy>*:not(.auth-smoke){animation:authSlideLeft .72s cubic-bezier(.16,1,.3,1) both}
.auth-card-register .form-card-eyebrow,
.auth-card-register .form-grid>label,
.auth-card-register .consent-grid>label,
.auth-card-register form>.button,
.auth-card-register .form-foot{animation:authRise .7s cubic-bezier(.16,1,.3,1) both}
.auth-card-register .auth-copy>*:nth-child(1){animation-delay:.06s}
.auth-card-register .auth-copy>*:nth-child(2){animation-delay:.12s}
.auth-card-register .auth-copy>*:nth-child(3){animation-delay:.18s}
.auth-card-register .auth-copy>*:nth-child(4){animation-delay:.24s}
.auth-card-register .auth-copy>*:nth-child(5){animation-delay:.3s}
.auth-card-register .form-card-eyebrow{animation-delay:.16s}
.auth-card-register .form-grid>label:nth-child(1){animation-delay:.22s}
.auth-card-register .form-grid>label:nth-child(2){animation-delay:.27s}
.auth-card-register .form-grid>label:nth-child(3){animation-delay:.31s}
.auth-card-register .form-grid>label:nth-child(4){animation-delay:.35s}
.auth-card-register .form-grid>label:nth-child(5){animation-delay:.39s}
.auth-card-register .form-grid>label:nth-child(6){animation-delay:.43s}
.auth-card-register .consent-grid>label:nth-child(1){animation-delay:.47s}
.auth-card-register .consent-grid>label:nth-child(2){animation-delay:.51s}
.auth-card-register .consent-grid>label:nth-child(3){animation-delay:.55s}
.auth-card-register form>.button{animation-delay:.6s}
.auth-card-register .form-foot{animation-delay:.66s}

/* Polia sa pri práci jemne nadvihnú. */
.auth-card-register .form-grid :where(input:not([type="checkbox"]),select){
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease;
}
.auth-card-register .form-grid :where(input:not([type="checkbox"]),select):hover{border-color:#cdd8bb}
.auth-card-register .form-grid :where(input:not([type="checkbox"]),select):focus,
.auth-card-register .form-grid select:open{transform:translateY(-1px)}
.auth-card-register .form-card .check-row{transition:border-color .18s ease,background .18s ease,transform .18s ease}
.auth-card-register .form-card .check-row:hover{transform:translateY(-1px)}
.auth-card-register .google-auth-button{transition:border-color .18s,box-shadow .18s,transform .18s}

/* Upozornenie pri e-maile krátko blikne, keď sa zmení trh (a s ním e-shop). */
.field-notice.is-updated{animation:authNoticePulse .85s ease-out}

@media(prefers-reduced-motion:reduce){
  .auth-card-register,
  .auth-card-register .auth-copy>*,
  .auth-card-register .auth-copy::before,
  .auth-card-register .auth-copy::after,
  .auth-card-register .form-card-eyebrow,
  .auth-card-register .form-grid>label,
  .auth-card-register .consent-grid>label,
  .auth-card-register form>.button,
  .auth-card-register .form-foot,
  .field-notice.is-updated{animation:none!important;opacity:1!important;transform:none!important}
  .auth-card-register .form-grid :where(input,select):focus,
  .auth-card-register .form-card .check-row:hover{transform:none!important}
  .form-card select::picker(select),
  .form-card select::picker-icon{transition:none!important}
}

/* ------------------------------------------------------------------
   Právne stránky (Pravidlá programu, Zásady ochrany osobných údajov).
   Tmavá hlavička s nadnášajúcimi svetlami, pravidlá ako číslované karty,
   zásady s obsahom po ľavej strane. Text samotných dokumentov sa nemení.
   ------------------------------------------------------------------ */
.legal-hero{
  position:relative;
  overflow:hidden;
  background:var(--dark);
  color:#fff;
  padding:78px 0 70px;
}
.legal-hero-inner{position:relative;z-index:1}
.legal-hero h1{font-size:clamp(2.1rem,4.6vw,3.4rem);letter-spacing:-.05em;line-height:1.06;margin:0 0 16px}
.legal-hero p{color:rgba(255,255,255,.56);font-size:1rem;max-width:620px;margin:0}
.legal-glow{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  will-change:transform;
}
.legal-glow-a{
  width:420px;height:420px;top:-190px;right:-120px;
  background:radial-gradient(circle,rgba(201,240,82,.22),transparent 66%);
  filter:blur(22px);
  animation:authFloatA 19s ease-in-out infinite;
}
.legal-glow-b{
  width:330px;height:330px;bottom:-190px;left:-110px;
  background:radial-gradient(circle,rgba(33,212,244,.18),transparent 66%);
  filter:blur(24px);
  animation:authFloatB 24s ease-in-out infinite;
}
.legal-meta{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  list-style:none;
  margin:26px 0 0;
  padding:0;
}
.legal-meta li{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  border-radius:999px;
  padding:8px 15px;
  font-size:.73rem;
  color:rgba(255,255,255,.6);
}
.legal-meta b{color:#fff;font-weight:800;margin-right:5px}
.legal-page .section-white{padding:60px 0 92px}
.public-shell .legal-page .legal-hero{padding-top:142px}
.public-shell .legal-page .section-white{padding-top:60px}

/* Pravidlá ako číslované karty. */
.rules-cards{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.rule-card{
  display:flex;
  gap:18px;
  align-items:flex-start;
  padding:22px 24px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.rule-card:hover{border-color:#d7e0c8;box-shadow:0 18px 40px rgba(22,25,18,.07);transform:translateY(-2px)}
.rule-num{
  flex:0 0 46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:linear-gradient(135deg,#f2f8e0,#e9f4cf);
  color:#5f8700;
  font-size:.86rem;
  font-weight:800;
  letter-spacing:-.02em;
}
.rule-card h2{margin:0 0 6px;font-size:1rem;letter-spacing:-.02em}
.rule-card p{margin:0;font-size:.88rem;line-height:1.65;color:#4a4f45}

.legal-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
  margin-top:28px;
  padding:28px 30px;
  border-radius:24px;
  background:linear-gradient(135deg,#f4f9e6,#eef6f8);
  border:1px solid #e6edd8;
}
.legal-cta h2{margin:0 0 6px;font-size:1.3rem;letter-spacing:-.03em}
.legal-cta p{margin:0;font-size:.85rem;color:#5c6154;max-width:460px}
.legal-back{margin-top:26px;font-size:.8rem;color:var(--muted)}

/* Zásady: obsah vľavo, text vpravo. */
.legal-shell{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:46px;
  align-items:start;
}
.legal-toc{position:sticky;top:98px}
.legal-toc:empty{display:none}
.legal-toc-list{
  list-style:none;
  counter-reset:toc;
  margin:0;
  padding:0;
  display:grid;
  gap:1px;
  border-left:2px solid var(--line);
}
.legal-toc-list li{counter-increment:toc}
.legal-toc-list a{
  display:block;
  padding:7px 14px;
  margin-left:-2px;
  border-left:2px solid transparent;
  color:#74786e;
  font-size:.76rem;
  font-weight:600;
  line-height:1.45;
  transition:color .18s ease,border-color .18s ease;
}
.legal-toc-list a:before{content:counter(toc) ". ";color:#a9ae9f;font-weight:700}
.legal-toc-list a:hover{color:#171815}
.legal-toc-list a.is-current{color:#5d8200;border-left-color:#9bc900}
.legal-body h2{scroll-margin-top:110px}
.legal-page .legal-body{margin-top:0}
.legal-page .legal-body h2{
  position:relative;
  margin:40px 0 14px;
  padding-top:22px;
  border-top:1px solid var(--line);
  font-size:1.22rem;
}
.legal-page .legal-body h2:first-of-type{margin-top:0;padding-top:0;border-top:0}
.legal-page .legal-body p{font-size:.92rem;line-height:1.72}
.legal-page .privacy-updated{margin-bottom:22px!important}

@media(max-width:980px){
  .legal-shell{grid-template-columns:1fr;gap:26px}
  .legal-toc{position:static;padding-bottom:8px;border-bottom:1px solid var(--line)}
  .legal-toc-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;border-left:0;gap:0 10px}
  .legal-toc-list a{border-left:0;padding:6px 0;margin-left:0}
  .legal-toc-list a.is-current{border-left:0}
}
@media(max-width:620px){
  .legal-hero{padding:58px 0 52px}
  .public-shell .legal-page .legal-hero{padding-top:120px}
  .rule-card{gap:14px;padding:19px 18px}
  .rule-num{flex-basis:40px;height:40px;font-size:.78rem}
  .legal-toc-list{grid-template-columns:1fr}
  .legal-cta{padding:22px 20px}
  .legal-cta .button{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .legal-glow{animation:none!important}
  .rule-card:hover{transform:none}
}

/* ------------------------------------------------------------------
   Registrácia – interaktívne prvky: poletujúce štítky úrovní, parallax
   svetiel za kurzorom, ukazovateľ vyplnenia, sila hesla a kontrola
   e-mailu. Markup ukazovateľov dopĺňa JS, takže bez JavaScriptu zostáva
   formulár úplne bežný a funkčný.
   ------------------------------------------------------------------ */
@keyframes authSheen{from{transform:translateX(-190%) skewX(-18deg)}to{transform:translateX(330%) skewX(-18deg)}}
@keyframes authTick{from{opacity:0;scale:.4}to{opacity:1;scale:1}}


/* Svetlá v pozadí sa mierne nesú za kurzorom (translate sa skladá s animáciou). */
.auth-card-register .auth-copy::before{translate:calc(var(--mx,0) * -26px) calc(var(--my,0) * -20px)}
.auth-card-register .auth-copy::after{translate:calc(var(--mx,0) * 22px) calc(var(--my,0) * 17px)}
.auth-card-register .auth-copy::before,
.auth-card-register .auth-copy::after{transition:translate .45s cubic-bezier(.16,1,.3,1)}

/* Ukazovateľ vyplnenia formulára. */
.form-progress{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.form-progress-bar{flex:1;height:7px;border-radius:999px;background:#eceee8;overflow:hidden}
.form-progress-bar i{
  display:block;
  height:100%;
  width:0;
  border-radius:999px;
  background:linear-gradient(90deg,var(--lime2),var(--cyan));
  transition:width .45s cubic-bezier(.16,1,.3,1);
}
.form-progress-label{font-size:.68rem;font-weight:800;color:#8b9087;white-space:nowrap;transition:color .25s ease}
.form-progress.is-complete .form-progress-label{color:#5d8200}

/* Sila hesla. */
.pw-meter{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:9px}
.pw-meter i{height:4px;border-radius:999px;background:#e8eae4;transition:background .25s ease}
.pw-meter small{grid-column:1/-1;margin-top:3px;font-size:.64rem;font-weight:600;color:#8b9087;transition:color .25s ease}
.pw-meter[data-score="1"] i:nth-child(-n+1){background:#e8705a}
.pw-meter[data-score="2"] i:nth-child(-n+2){background:#e8a23f}
.pw-meter[data-score="3"] i:nth-child(-n+3){background:#b5cf2b}
.pw-meter[data-score="4"] i{background:linear-gradient(90deg,var(--lime2),var(--cyan))}
.pw-meter[data-score="1"] small{color:#c05540}
.pw-meter[data-score="2"] small{color:#a9752a}
.pw-meter[data-score="3"],.pw-meter[data-score="4"]{color:#5d8200}
.pw-meter[data-score="3"] small,.pw-meter[data-score="4"] small{color:#5d8200}

/* Stav poľa: zelená fajka, červený výkričník pri obsadenom e-maile,
   alebo točiaci sa krúžok počas overovania. */
.field-input{display:block;position:relative;min-width:0}
.form-grid>label.is-marked .field-input input{padding-right:42px}
.field-mark{
  position:absolute;
  right:13px;
  top:50%;
  transform:translateY(-50%);
  width:19px;
  height:19px;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-size:.6rem;
  font-weight:900;
  pointer-events:none;
}
.field-mark:not([data-state]),
.field-mark[data-state=""]{display:none}
.field-mark[data-state="ok"]{
  background:linear-gradient(135deg,var(--lime),var(--lime2));
  color:#10120d;
  animation:authTick .3s cubic-bezier(.16,1,.3,1) both;
}
.field-mark[data-state="bad"]{
  background:#f4d3cd;
  color:#b3321f;
  animation:authTick .3s cubic-bezier(.16,1,.3,1) both;
}
.field-mark[data-state="busy"]{
  border:2px solid #e2e5dd;
  border-top-color:#9bc900;
  background:none;
  animation:fieldSpin .7s linear infinite;
}
@keyframes fieldSpin{to{rotate:360deg}}

.field-state{margin:7px 0 0;font-size:.68rem;font-weight:600;line-height:1.45}
.field-state:empty{display:none}
.field-state[data-state="busy"]{color:#8b9087}
.field-state[data-state="bad"]{color:#b3321f}
.field-state a{font-weight:800;color:#8d2718;text-decoration:underline}
.form-grid>label:has(.field-mark[data-state="bad"]) input{border-color:#e0b4ac;background:#fdf6f4}

/* Prejdenie svetla po tlačidle. */
.auth-card-register form>.button{position:relative;overflow:hidden}
.auth-card-register form>.button::after{
  content:'';
  position:absolute;
  top:0;
  bottom:0;
  width:34%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.26),transparent);
  transform:translateX(-190%) skewX(-18deg);
  pointer-events:none;
}
.auth-card-register form>.button:hover::after{animation:authSheen .8s ease both}

@media(prefers-reduced-motion:reduce){
  .auth-card-register form>.button:hover::after,
  .field-mark[data-state="ok"],
  .field-mark[data-state="bad"]{animation:none!important}
  .auth-card-register .auth-copy::before,
  .auth-card-register .auth-copy::after{translate:none!important;transition:none!important}
}

/* ------------------------------------------------------------------
   Dym v pozadí tmavého stĺpca registrácie. Päť mäkkých chuchvalcov sa
   pomaly nesie nahor, otáča sa a mení priehľadnosť – každý iným tempom
   a s posunutou fázou, takže sa pohyb nikdy viditeľne neopakuje.
   Animuje sa iba transform a opacity (kompozitné vlastnosti).
   ------------------------------------------------------------------ */
/* Stúpajúci obláčik: zdola nahor, rastie, točí sa a rozplýva sa. */
@keyframes authSmokeRise{
  0%{transform:translate3d(0,26%,0) rotate(0deg) scale(.6);opacity:0}
  14%{opacity:.62}
  58%{opacity:.46}
  100%{transform:translate3d(var(--drift,6%),-82%,0) rotate(var(--spin,24deg)) scale(2.2);opacity:0}
}
.auth-smoke{
  position:absolute;
  inset:-12%;
  overflow:hidden;
  pointer-events:none;
  border-radius:inherit;
}
/* Každý obláčik je svetlý prechod, z ktorého maska s fraktálnym šumom
   vytrhá nepravidelné diery – po rozostrení to dá chuchvalcovitú textúru
   dymu namiesto hladkého kruhu. Maska je statický obrázok, animuje sa iba
   transform a opacity, takže to nezaťažuje vykresľovanie. */
.auth-smoke i{
  position:absolute;
  display:block;
  background:radial-gradient(ellipse 62% 54% at 50% 56%,rgba(255,255,255,.62),rgba(255,255,255,.26) 44%,rgba(255,255,255,.06) 66%,transparent 78%);
  -webkit-mask-size:150% 150%;
  mask-size:150% 150%;
  -webkit-mask-position:center;
  mask-position:center;
  opacity:0;
  will-change:transform,opacity;
  animation:authSmokeRise 26s linear infinite;
}
.auth-smoke i:nth-child(1){
  width:230px;height:230px;left:4%;bottom:-16%;
  --drift:10%;--spin:22deg;
  filter:blur(13px);
  animation-duration:25s;animation-delay:-2s;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.011' numOctaves='4' seed='3'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23n)'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.011' numOctaves='4' seed='3'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23n)'/%3E%3C/svg%3E");
}
.auth-smoke i:nth-child(2){
  width:190px;height:190px;left:32%;bottom:-22%;
  --drift:-14%;--spin:-28deg;
  filter:blur(11px);
  animation-duration:31s;animation-delay:-13s;
  background:radial-gradient(ellipse 60% 52% at 50% 56%,rgba(215,245,160,.5),rgba(201,240,82,.2) 44%,transparent 76%);
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.014' numOctaves='4' seed='11'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.014' numOctaves='4' seed='11'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E");
}
.auth-smoke i:nth-child(3){
  width:280px;height:280px;right:-6%;bottom:-26%;
  --drift:-8%;--spin:18deg;
  filter:blur(16px);
  animation-duration:36s;animation-delay:-21s;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.009' numOctaves='5' seed='23'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.009' numOctaves='5' seed='23'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
}
.auth-smoke i:nth-child(4){
  width:160px;height:160px;left:16%;bottom:-12%;
  --drift:16%;--spin:-16deg;
  filter:blur(9px);
  animation-duration:22s;animation-delay:-7s;
  background:radial-gradient(ellipse 60% 52% at 50% 56%,rgba(190,240,250,.46),rgba(33,212,244,.18) 44%,transparent 76%);
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.017' numOctaves='4' seed='41'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.017' numOctaves='4' seed='41'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
}
.auth-smoke i:nth-child(5){
  width:250px;height:250px;right:22%;bottom:-20%;
  --drift:-5%;--spin:30deg;
  filter:blur(14px);
  animation-duration:29s;animation-delay:-17s;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='270' height='270'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.012' numOctaves='5' seed='57'/%3E%3C/filter%3E%3Crect width='270' height='270' filter='url(%23n)'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='270' height='270'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.012' numOctaves='5' seed='57'/%3E%3C/filter%3E%3Crect width='270' height='270' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Dym sa tiež mierne nesie za kurzorom. */
.auth-card-register .auth-smoke{translate:calc(var(--mx,0) * 14px) calc(var(--my,0) * 10px);transition:translate .6s cubic-bezier(.16,1,.3,1)}

@media(prefers-reduced-motion:reduce){
  .auth-smoke i{animation:none!important;opacity:.16!important}
  .auth-card-register .auth-smoke{translate:none!important;transition:none!important}
}

/* Viac akcií vedľa seba v hlavičke administračného panela. */
.admin-actions-inline{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.admin-actions-inline form{margin:0}
@media(max-width:620px){
  .admin-actions-inline{width:100%}
  .admin-actions-inline form,.admin-actions-inline .button{width:100%}
}

/* Hromadná akcia v hlavičke schránky. */
.mail-bulk-read{margin:0}
@media(max-width:620px){.mail-bulk-read,.mail-bulk-read .button{width:100%}}
