body{background:var(--bg-app);min-height:100vh}.pub-top{gap:var(--sp-3);height:var(--topbar-h);padding:0 var(--sp-6);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg-app) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pub-logo,.pub-top{display:flex;align-items:center}.pub-logo{min-width:0;text-decoration:none}.pub-top .spacer{flex:1 1}@media (max-width:760px){.pub-logo .marque .txt small{display:none}}@media (max-width:520px){.pub-top{padding:0 var(--sp-4);gap:var(--sp-2)}.pub-logo .marque .txt{display:none}.pub-top .ms-segmented button{padding:6px 9px;font-size:var(--text-xs);white-space:nowrap}}.login{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);min-height:calc(100vh - var(--topbar-h))}.brand-panel{background:linear-gradient(150deg,var(--green-700),var(--accent) 55%,var(--green-500));color:#fff;padding:var(--sp-10) var(--sp-9);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.brand-panel .g1{width:320px;height:320px;background:rgba(255,255,255,.08);right:-90px;top:-70px}.brand-panel .g1,.brand-panel .g2{position:absolute;border-radius:50%}.brand-panel .g2{width:220px;height:220px;background:rgba(255,255,255,.06);left:-60px;bottom:-40px}.brand-panel .inner{position:relative}.brand-panel .bmk{display:inline-flex;margin-bottom:var(--sp-6)}.brand-panel .bmk .ecusson{border-radius:14px;padding:5px;box-shadow:0 2px 10px rgba(0,0,0,.16)}.brand-panel h2{font-size:var(--text-3xl);font-weight:700;line-height:1.15;margin:0 0 var(--sp-3);letter-spacing:-.01em;max-width:380px}.brand-panel p{font-size:var(--text-md);opacity:.9;margin:0 0 var(--sp-7);max-width:360px;line-height:1.6}.blist{display:flex;flex-direction:column;gap:var(--sp-4)}.blist .it{gap:12px;font-size:var(--text-base)}.blist .bic,.blist .it{display:flex;align-items:center}.blist .bic{width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.16);justify-content:center;flex:none}.form-panel{display:flex;align-items:center;justify-content:center;padding:var(--sp-8) var(--sp-6)}.form-card{width:100%;max-width:380px}.form-card h1{font-size:var(--text-2xl);font-weight:700;color:var(--fg-strong);margin:0 0 4px;letter-spacing:-.01em}.form-card .sub{color:var(--fg-muted);margin:0 0 var(--sp-6)}.pw-wrap{position:relative}.pw-wrap .ms-input{padding-right:42px}.pw-wrap .toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--fg-subtle);padding:6px;display:flex;border-radius:var(--r-xs)}.pw-wrap .toggle:hover{color:var(--fg-strong)}.auth-error{display:flex;gap:10px;align-items:flex-start;background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-fg);border-radius:var(--r-md);padding:11px 13px;font-size:var(--text-sm);line-height:1.55}.auth-error .ic{flex:none;margin-top:1px}.auth-note{text-align:center;font-size:var(--text-xs);color:var(--fg-subtle)}.auth-foot{text-align:center;font-size:var(--text-sm);color:var(--fg-muted)}.auth-foot a{color:var(--accent);font-weight:600;text-decoration:none}.auth-foot a:hover{text-decoration:underline}@media (max-width:820px){.login{grid-template-columns:1fr}.brand-panel{display:none}}.auth-stage{min-height:calc(100vh - var(--topbar-h));display:flex;align-items:center;justify-content:center;padding:var(--sp-8) var(--sp-5)}.auth{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:780px;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;background:var(--bg-surface);box-shadow:var(--shadow-md)}.auth .brand{background:linear-gradient(150deg,var(--accent),var(--green-700));color:#fff;padding:var(--sp-7) var(--sp-6);display:flex;flex-direction:column;justify-content:space-between;gap:var(--sp-6)}.auth .brand .mk{display:inline-flex;flex:none;align-self:flex-start}.auth .brand .mk .ecusson{border-radius:11px;padding:4px;box-shadow:0 2px 8px rgba(0,0,0,.16)}.auth .brand h3{font-size:var(--text-xl);font-weight:700;margin:0;letter-spacing:-.015em;line-height:1.3}.auth .brand p{font-size:var(--text-sm);opacity:.9;margin:10px 0 0;line-height:1.6}.auth .brand .etab{font-family:var(--font-mono);font-size:11px;opacity:.75}.auth .form{padding:var(--sp-6);text-align:left}.auth .form h3{font-size:var(--text-lg);font-weight:700;color:var(--fg-strong);margin:0;letter-spacing:-.01em}.auth .form .sub{font-size:var(--text-sm);color:var(--fg-muted);margin:6px 0 var(--sp-5);line-height:1.6}@media (max-width:820px){.auth{grid-template-columns:1fr;max-width:460px}.auth .brand{flex-direction:row;align-items:center;gap:var(--sp-4);padding:var(--sp-5)}.auth .brand h3{font-size:var(--text-md)}.auth .brand .etab,.auth .brand p{display:none}}.steps{display:flex;gap:6px;margin-bottom:var(--sp-5)}.steps i{height:3px;flex:1 1;border-radius:3px;background:var(--border-strong);display:block}.steps i.on{background:var(--accent)}.sent{display:flex;gap:11px;background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-fg);border-radius:var(--r-md);padding:12px 14px;font-size:var(--text-sm);line-height:1.55}.sent .ic{flex:none;margin-top:1px}.pub-nav{display:flex;gap:2px;padding:3px;border-radius:var(--r-md);background:var(--bg-surface-2);border:1px solid var(--border);margin-right:var(--sp-2)}.pub-tab{padding:6px 14px;border-radius:calc(var(--r-md) - 4px);font-size:var(--text-sm);font-weight:600;color:var(--fg-muted);text-decoration:none;white-space:nowrap;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.pub-tab.on,.pub-tab:hover{color:var(--fg-strong)}.pub-tab.on{background:var(--bg-surface);box-shadow:var(--shadow-sm)}@media (max-width:560px){.pub-tab{padding:6px 10px;font-size:var(--text-xs)}}.auth .f2{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--sp-4);gap:var(--sp-4)}@media (max-width:600px){.auth .f2{grid-template-columns:1fr}}.auth .kv{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px dashed var(--border);font-size:var(--text-sm)}.auth .kv:last-child{border-bottom:none}.auth .kv .k{color:var(--fg-muted)}.auth .kv .v{font-weight:600;color:var(--fg-strong);text-align:right}