:root{--sp-ink:#10265c;--sp-muted:#64738e;--sp-accent:#245de2;--sp-teal:#2fb69f;--sp-line:#e6edf8;--sp-paper:#f7fbff;--sp-font:'Microsoft YaHei','PingFang SC','Noto Sans CJK SC',sans-serif;color-scheme:light}
.sp-brand{display:inline-flex;align-items:center;gap:12px;color:var(--sp-ink);text-decoration:none;font-family:var(--sp-font);font-size:22px;font-weight:900;letter-spacing:2px;line-height:1.2}
.sp-brand:hover,.sp-brand:focus{color:var(--sp-ink);text-decoration:none}
.sp-brand small{display:block;margin-top:5px;font-size:8px;font-weight:800;letter-spacing:.36em}
.sp-brand-mark{position:relative;display:block;width:44px;height:39px;flex:none}
.sp-brand-mark i{position:absolute;left:9px;top:0;width:10px;height:39px;border-radius:7px;background:#2d65e8;transform:rotate(34deg)}
.sp-brand-mark i:nth-child(2){left:23px;background:#3276df;transform:rotate(-35deg)}
.sp-brand-mark i:nth-child(3){left:19px;top:16px;height:22px;background:#38b5a0;transform:rotate(42deg)}
.sp-return{display:inline-flex;align-items:center;gap:12px;color:#586987;text-decoration:none;white-space:nowrap;font-family:var(--sp-font);font-size:13px;font-weight:600}
.sp-return:hover{color:var(--sp-accent);text-decoration:none}
.sp-return:focus-visible,.sp-brand:focus-visible{outline:3px solid #f7a51b;outline-offset:5px;border-radius:3px}

/* Match portal logo states; override inherited Keycloak link colors. */
.sp-auth-header a.sp-brand,.sp-auth-header a.sp-brand:visited,.sp-auth-header a.sp-brand:hover,.sp-auth-header a.sp-brand:active,.sp-auth-header a.sp-brand:focus{color:var(--sp-ink);text-decoration:none;transform:none;filter:none;box-shadow:none}
