/* Approved 04 sign-in layout. Values for colors and fonts live in tokens.css. */
body.login-mozi{padding:48px 24px 0}
.login-mozi>.topbar{max-width:1120px;margin:auto;height:76px;padding:0 28px;border:1px solid var(--line);border-radius:4px 4px 0 0}
.login-mozi .top-caption{display:none}
.mozi-mark{display:grid;place-items:center;width:38px;height:38px;color:var(--jade);border:1px solid var(--geometry);border-radius:2px;flex:none}
.mozi-mark svg{width:32px;height:32px;stroke:currentColor;stroke-width:1.5}
.login-mozi .brand{letter-spacing:-.015em}
.login-mozi .badge{margin-left:auto;background:transparent;border:1px solid var(--line);color:var(--ink2);font-size:11px;border-radius:3px}
.login-mozi .lang{margin-left:12px}
.login-mozi .lang select{background:transparent;border-color:var(--line)}
.login-mozi .layout{position:relative;max-width:1120px;margin:auto;grid-template-columns:minmax(0,1fr) 350px;min-height:610px;background:var(--surface);border:1px solid var(--line);border-top:0;border-radius:0 0 4px 4px;overflow:hidden}
.login-mozi .layout::after{content:'';position:absolute;pointer-events:none;left:0;bottom:0;width:22px;height:22px;border-left:2px solid var(--jade);border-bottom:2px solid var(--jade)}
.login-mozi main{padding:64px;align-items:flex-start}
.login-mozi .login{width:420px}
.login-mozi .eyebrow{display:flex;align-items:center;gap:10px;letter-spacing:.19em;font-size:11px;color:var(--ink2)}
.login-mozi .eyebrow::before{content:'';width:6px;height:6px;background:var(--jade);outline:4px solid var(--jade-soft)}
.login-mozi .headline{margin-top:16px;font-size:28px;letter-spacing:.035em;line-height:1.3}
.login-mozi .subtitle{margin:12px 0 32px;font-size:13px;line-height:1.8}
.login-mozi .card{border:0;border-radius:0;overflow:visible}
.login-mozi .step-head{padding:0 0 16px;margin-bottom:24px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.login-mozi .step-number{border-radius:4px;background:var(--jade-soft);color:var(--ink)}
.login-mozi .step-number.pending{background:transparent;border:1px solid var(--line);color:var(--ink3)}
.login-mozi .form-body{padding:0}
.login-mozi .field{margin-bottom:20px}
.login-mozi .field label{margin-bottom:8px}
.login-mozi input{height:48px;background:var(--surface-2);border-color:var(--line-strong)}
.login-mozi input:focus-visible{outline:2px solid var(--data);outline-offset:3px}
.login-mozi .eye{top:8px}
.login-mozi .primary{min-height:48px;letter-spacing:.035em}
.login-mozi .primary:hover{filter:brightness(1.1)}
.login-mozi .form-note{margin-top:14px;line-height:1.6}
.login-mozi .step-quiet{padding:16px 0;margin-top:24px}
.login-mozi .help{border-top:1px solid var(--line2);padding-top:16px;margin-top:0;line-height:1.9}
.login-mozi .account-summary{max-width:135px}
.login-mozi .alternate{flex-wrap:wrap}
.login-mozi .text-button{min-height:32px}
.login-mozi .sidebar{padding:24px 28px;background:var(--surface-2);gap:24px}
.login-mozi .section-eyebrow{font-size:12px;letter-spacing:.1em;color:var(--ink2);margin-bottom:8px}
.login-mozi .side-card{padding:0;border:0;background:transparent;border-radius:0}
.login-mozi .check-row{display:grid;grid-template-columns:72px minmax(0,1fr);min-height:64px;padding:9px 0;font-size:12px;align-items:center}
.login-mozi .check-row>span:last-child{justify-self:end;text-align:right;overflow-wrap:anywhere}
.login-mozi .status{justify-content:flex-end}
.login-mozi .last-login{min-height:5.55em}
.login-mozi #lang{width:112px}
.login-mozi #ink-mode{width:140px}
.login-mozi .last-login{font-size:13px;line-height:1.85;overflow-wrap:anywhere}
.login-mozi .freeze{margin-top:16px;min-height:36px;font-size:12px}
.login-mozi .audit{padding-top:16px;margin-top:8px;line-height:1.9}
.mechanism{border-bottom:1px solid var(--line);padding-bottom:18px}
.mechanism-label{display:flex;justify-content:space-between;font-size:11px;color:var(--ink2);letter-spacing:.09em}
.gate{width:100%;height:188px;display:block;margin:10px auto;stroke-width:1}
.gate-grid{stroke:var(--grid)}.gate-outline{stroke:var(--geometry)}.gate-circuit{stroke:var(--jade);stroke-dasharray:4 5}
.gate-core{stroke:var(--jade);fill:var(--surface);stroke-width:1.5}.gate-points{fill:var(--jade);stroke:none}
.mechanism-caption{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:8px;color:var(--ink2)}
.mechanism-caption .mono{font-size:11px;color:var(--ink2)}
.ink-controls{max-width:1120px;margin:auto;display:flex;align-items:center;justify-content:center;gap:12px;padding:20px 0;font-size:12px;color:var(--ink2);flex-wrap:wrap}
.ink-controls select{min-height:32px;padding:0 8px;background:var(--surface);border:1px solid var(--line-strong);border-radius:4px}
@media(max-width:1050px){.login-mozi main{padding:36px}.mechanism-caption{flex-wrap:wrap}}
@media(max-width:760px){body.login-mozi{padding:12px 12px 0}.login-mozi>.topbar{height:auto;min-height:74px;padding:16px}.login-mozi .layout{grid-template-columns:minmax(0,1fr)}.login-mozi .brand{font-size:16px}.login-mozi .lang{margin-left:auto}.login-mozi main{padding:32px 22px}.login-mozi .headline{font-size:24px}.login-mozi .sidebar{padding:24px 22px}.login-mozi .account-summary{max-width:100px}.mechanism{max-width:440px;width:100%;margin:auto}.gate{height:150px}}

.login-mozi .eyebrow{margin-bottom:0}
.login-intro{display:flow-root;min-height:180px}
