/* ---------- LPWise auth gate + cloud sync badge ---------- */
.authwrap{min-height:100vh;display:grid;place-items:center;padding:32px 20px;}
.authcard{width:100%;max-width:392px;border:1px solid var(--panel-edge);border-radius:18px;padding:30px 30px 26px;background:linear-gradient(180deg,rgba(20,34,58,0.92),rgba(10,17,32,0.94));box-shadow:0 30px 80px rgba(0,0,0,0.6),inset 0 1px 0 rgba(120,170,240,0.08);}
.authbrand{display:flex;align-items:center;gap:11px;margin-bottom:22px;}
.authbrand img.m{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(45,212,191,0.45));}
.authbrand img.w{height:20px;width:auto;}
.auth-lang{margin-left:auto;}
.auth-lang .tb-lang-btn{padding:4px 8px;}
.auth-boot-lang{margin-top:16px;display:grid;place-items:center;}
.auth-h{font-size:19px;font-weight:700;letter-spacing:-0.01em;margin:0 0 5px;}
.auth-sub{font-size:12.5px;color:var(--ink-dim);line-height:1.5;margin:0 0 20px;text-wrap:pretty;}
.auth-f{display:flex;flex-direction:column;gap:12px;}
.auth-lbl{display:flex;flex-direction:column;gap:5px;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);}
.auth-lbl input{font-family:var(--sans,inherit);font-size:14px;color:var(--ink);background:rgba(8,14,26,0.8);border:1px solid var(--panel-edge);border-radius:9px;padding:10px 12px;letter-spacing:normal;text-transform:none;}
.auth-lbl input:focus{outline:none;border-color:#2DD4BF;box-shadow:0 0 0 3px rgba(45,212,191,0.16);}
.auth-btn{margin-top:4px;font-family:var(--mono);font-size:12px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;padding:12px;border-radius:10px;cursor:pointer;color:#04211c;background:linear-gradient(180deg,#4ade9f,#14b8a6);border:1px solid rgba(45,212,191,0.7);box-shadow:0 8px 24px rgba(20,184,166,0.28);}
.auth-btn:hover{filter:brightness(1.07);}
.auth-btn:disabled{opacity:.55;cursor:default;filter:none;}
.auth-alt{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;padding-top:15px;border-top:1px solid var(--panel-edge);}
.auth-link{background:none;border:none;padding:0;cursor:pointer;font-family:var(--mono);font-size:11px;font-weight:700;color:#2DD4BF;}
.auth-link:hover{text-decoration:underline;}
.auth-link.muted{color:var(--ink-faint);font-weight:600;}
.auth-link.muted:hover{color:var(--ink-dim);}
.auth-msg{margin-top:14px;font-size:12.5px;line-height:1.5;border-radius:10px;padding:10px 12px;text-wrap:pretty;}
.auth-msg.err{color:#FF9AAF;background:rgba(239,71,111,0.1);border:1px solid rgba(239,71,111,0.34);}
.auth-msg.ok{color:#7EE0A0;background:rgba(34,197,94,0.09);border:1px solid rgba(34,197,94,0.3);}
.auth-boot{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11.5px;color:var(--ink-dim);}
.auth-boot i{width:9px;height:9px;border-radius:50%;background:#2DD4BF;box-shadow:0 0 10px #2DD4BF;animation:authPulse 1.1s ease-in-out infinite;}
@keyframes authPulse{0%,100%{opacity:.35;}50%{opacity:1;}}
/* sync badge — lives in the nav's right group, costs almost no width */
.syncdot{position:relative;display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;padding:0 2px;font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:0.06em;color:var(--ink-faint);}
.syncdot i{width:8px;height:8px;border-radius:50%;flex:none;background:#4ADE80;box-shadow:0 0 8px rgba(74,222,128,0.7);}
.syncdot.saving i{background:#F5B84B;box-shadow:0 0 8px rgba(245,184,75,0.7);animation:authPulse 1s ease-in-out infinite;}
.syncdot.error i,.syncdot.local i{background:#EF476F;box-shadow:0 0 8px rgba(239,71,111,0.7);}
.syncdot.local i{background:#9AA8BD;box-shadow:none;}
.syncdot:hover{color:var(--ink-dim);}
@media(max-width:1120px){.syncdot .lbl{display:none;}}
.syncpop{position:absolute;top:calc(100% + 9px);right:0;z-index:200;width:236px;text-align:left;padding:13px 14px;border-radius:12px;border:1px solid var(--panel-edge);background:rgba(12,20,34,0.99);box-shadow:0 18px 44px rgba(0,0,0,0.6);cursor:default;}
.syncpop .who{font-family:var(--sans,inherit);font-size:12.5px;font-weight:600;color:var(--ink);letter-spacing:normal;word-break:break-all;margin-bottom:3px;}
.syncpop .st{font-size:11.5px;letter-spacing:normal;color:var(--ink-dim);line-height:1.45;text-wrap:pretty;}
.syncpop .out{margin-top:11px;width:100%;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:8px;border-radius:8px;cursor:pointer;color:#FF9AAF;background:rgba(239,71,111,0.1);border:1px solid rgba(239,71,111,0.34);}
.syncpop .out:hover{background:rgba(239,71,111,0.2);}
.auth-steps{margin:0 0 18px;padding-left:20px;display:flex;flex-direction:column;gap:7px;font-size:12.5px;color:var(--ink-dim);line-height:1.45;}
.auth-steps li::marker{color:#2DD4BF;font-family:var(--mono);font-size:11px;}
.cloud-banner{display:flex;align-items:center;gap:12px;margin:0 0 -8px;padding:11px 16px;font-size:12.5px;color:#FF9AAF;background:rgba(239,71,111,0.12);border-bottom:1px solid rgba(239,71,111,0.34);text-wrap:pretty;}
.cloud-banner button{margin-left:auto;flex:none;background:none;border:none;color:inherit;font-size:16px;line-height:1;cursor:pointer;opacity:.7;}
.cloud-banner button:hover{opacity:1;}
.cloud-banner.soft{color:#9FB4CF;background:rgba(148,163,184,0.10);border-bottom-color:rgba(148,163,184,0.26);}
.syncpop-cta{display:block;width:100%;margin-top:11px;padding:9px 12px;border-radius:8px;border:1px solid rgba(45,212,191,0.5);background:rgba(45,212,191,0.14);color:#7FF0DE;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:0.04em;cursor:pointer;}
.syncpop-cta:hover{background:rgba(45,212,191,0.22);}
.syncpop-cta:disabled{opacity:.6;cursor:default;}
.syncpop-note{margin-top:7px;font-size:11px;line-height:1.4;color:var(--ink-faint);}
.syncpop-err{margin-top:8px;padding:7px 9px;border-radius:7px;font-size:11.5px;line-height:1.4;color:#FF9AAF;background:rgba(239,71,111,0.12);border:1px solid rgba(239,71,111,0.34);}
.syncpop-lang{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px;padding-top:11px;border-top:1px solid var(--panel-edge);}
.syncpop-lang>span{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);}
/* Nav is width-starved below ~1120px: the EN/RU pair moves into this popover. */
@media(max-width:820px){.appnav-right>.tb-lang{display:none;}}
@media(min-width:821px){.syncpop-lang{display:none;}}
.acct-sync{display:flex;align-items:center;gap:9px;line-height:1.45;text-wrap:pretty;}
.acct-syncdot{width:8px;height:8px;border-radius:50%;flex:none;}
.acct-syncdot.on{background:#4ADE80;box-shadow:0 0 8px rgba(74,222,128,0.7);}
.acct-syncdot.off{background:#9AA8BD;}
