.site-auth-dialog [hidden]{display:none!important}.site-account-button{height:40px;padding:0 15px;border:1px solid #cfe0ff;border-radius:10px;background:#f3f7ff;color:#1764ff;font:14px "Microsoft YaHei",sans-serif;cursor:pointer;white-space:nowrap}.site-account-button.is-user{border-color:#bfe8d7;background:#eefaf5;color:#167651}.site-account-floating{position:fixed;right:22px;top:18px;z-index:80}.site-auth-dialog{width:min(92vw,430px);padding:0;border:0;border-radius:18px;background:#fff;color:#24344d;box-shadow:0 26px 80px #20325233}.site-auth-dialog::backdrop{background:#19263b66;backdrop-filter:blur(3px)}.site-auth-card{padding:28px}.site-auth-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.site-auth-head span{color:#1764ff;font-size:12px}.site-auth-head h2{margin:3px 0 0;font-size:24px}.site-auth-close{border:0;background:transparent;color:#718096;font-size:25px;cursor:pointer}.site-auth-tabs{display:flex;gap:8px;margin:22px 0 16px}.site-auth-tabs button{flex:1;height:38px;border:1px solid #dfe7f4;border-radius:9px;background:#fff;color:#65738a;cursor:pointer}.site-auth-tabs button.active{border-color:#1764ff;background:#eef4ff;color:#1764ff}.site-auth-form{display:grid;gap:12px}.site-auth-form label{display:grid;gap:6px;color:#526071;font-size:12px}.site-auth-form input{height:43px;padding:0 12px;border:1px solid #d5deea;border-radius:9px;font:14px inherit;outline:0}.site-auth-form input:focus{border-color:#7ba5ff;box-shadow:0 0 0 3px #eaf1ff}.site-auth-primary{height:43px;border:0;border-radius:9px;background:#1764ff;color:#fff;cursor:pointer}.site-auth-link{border:0;background:transparent;color:#1764ff;cursor:pointer}.site-auth-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.site-auth-notice{min-height:21px;margin:2px 0;color:#b45038;font-size:12px}.site-auth-user{display:grid;gap:14px}.site-auth-user-email{font-size:18px;font-weight:700}.site-auth-badges{display:flex;flex-wrap:wrap;gap:7px}.site-auth-badge{padding:4px 9px;border-radius:999px;background:#eef4ff;color:#1764ff;font-size:11px}.site-auth-badge.ok{background:#e8f8f0;color:#18734f}.site-auth-panel{padding:14px;border:1px solid #e1e8f2;border-radius:10px;background:#f9fbfe}.site-auth-panel form{display:grid;gap:10px}.site-auth-panel input{height:40px;padding:0 10px;border:1px solid #d5deea;border-radius:8px}.site-auth-row{display:flex;gap:8px}.site-auth-row>*{flex:1}@media(max-width:900px){.site-account-button{padding:0 10px}.site-header .site-nav{gap:3px}.site-account-floating{top:auto;bottom:18px}}

.site-auth-password-wrap{position:relative;display:block}.site-auth-password-wrap>input{width:100%;padding-right:58px}.site-auth-password-toggle{position:absolute;top:50%;right:7px;transform:translateY(-50%);border:0;background:transparent;color:#1764ff;font-size:12px;cursor:pointer}.site-auth-created{margin:-4px 0 0;color:#718096;font-size:11px}.site-auth-session-actions{display:flex;gap:10px;flex-wrap:wrap}.site-auth-logout-all{color:#b45038}
.site-auth-profile-summary{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid #e1e8f2;border-radius:12px;background:#fff}.site-auth-avatar{display:grid;place-items:center;width:58px;height:58px;flex:0 0 auto;border-radius:50%;background:linear-gradient(145deg,#5f7cff,#6f78f7);color:#fff;box-shadow:0 8px 22px rgba(82,109,246,.23)}.site-auth-avatar svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.site-auth-profile-name{display:block;margin-bottom:8px;font-size:18px}.site-auth-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.site-auth-info-grid>div{min-width:0;padding:13px 14px;border:1px solid #e1e8f2;border-radius:9px;background:#f8fafe}.site-auth-info-grid span,.site-auth-info-grid strong{display:block}.site-auth-info-grid span{margin-bottom:5px;color:#8a97aa;font-size:11px}.site-auth-info-grid strong{overflow-wrap:anywhere;color:#24344d;font-size:13px;font-weight:600}.site-auth-info-grid>div:first-child{grid-column:1/-1}.site-auth-profile-actions{justify-content:flex-start}.site-auth-profile-actions .site-auth-logout{height:40px;padding:0 16px;border:1px solid #ffb8b8;border-radius:8px;background:#fff7f7;color:#e03131}@media(max-width:520px){.site-auth-info-grid{grid-template-columns:1fr}.site-auth-info-grid>div:first-child{grid-column:auto}}
.site-auth-user>.site-auth-panel[hidden]:has(.site-auth-change){display:block!important}.site-auth-password-panel,.site-auth-user>.site-auth-panel:has(.site-auth-change){padding:16px}.site-auth-change strong{color:#24344d;font-size:15px}
.site-auth-feishu{margin-top:20px}.site-auth-feishu-button{display:flex;width:100%;min-height:58px;align-items:center;gap:12px;padding:10px 13px;border:1px solid #b8e1cf;border-radius:11px;background:#effaf5;color:#176a4c;text-align:left;cursor:pointer}.site-auth-feishu-button:hover{border-color:#48a47e;background:#e7f7ef}.site-auth-feishu-button>span:nth-child(2){display:grid;flex:1;gap:2px}.site-auth-feishu-button strong{font-size:15px}.site-auth-feishu-button small,.site-auth-feishu>p{color:#668478;font-size:11px}.site-auth-feishu>p{margin:7px 2px 0}.site-auth-feishu-mark{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;background:#20a46f;color:#fff;font-weight:700}.site-auth-separator{display:flex;align-items:center;gap:10px;margin:17px 0 0;color:#8a97aa;font-size:11px}.site-auth-separator::before,.site-auth-separator::after{height:1px;flex:1;background:#e1e8f2;content:""}

/* Hallmark · component: authentication dialog · genre: modern-minimal · theme: existing blue-purple
 * states: default · hover · focus · active · disabled · loading · error · success
 * contrast: pass
 */
.site-account-button,.site-account-logout,.site-auth-primary,.site-auth-tabs button,.site-auth-profile-actions .site-auth-logout{min-height:44px;height:auto}
.site-auth-form input,.site-auth-panel input{min-height:44px;border-color:var(--color-line-strong);background:var(--color-paper);color:var(--color-ink)}
.site-account-button,.site-account-logout,.site-auth-link{color:var(--color-brand)}
.site-auth-primary{background:var(--color-brand);color:var(--color-paper)}
.site-auth-tabs button.active{border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-strong)}
.site-auth-avatar{background:var(--color-brand);color:var(--color-paper);box-shadow:0 8px 22px var(--color-brand-shadow)}
.site-auth-close{display:grid;width:44px;height:44px;place-items:center;border-radius:var(--radius-sm)}
.site-auth-form input:focus-visible,.site-auth-panel input:focus-visible,.site-auth-tabs button:focus-visible,.site-auth-primary:focus-visible,.site-auth-link:focus-visible,.site-auth-close:focus-visible,.site-account-button:focus-visible,.site-account-logout:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}
.site-auth-primary:active,.site-account-button:active,.site-account-logout:active{transform:translateY(1px)}
.site-auth-primary:disabled,.site-auth-tabs button:disabled,.site-account-button:disabled,.site-account-logout:disabled{cursor:not-allowed;opacity:.55}
@media(max-width:520px){.site-auth-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.site-auth-card{padding:22px 18px}.site-auth-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}}
.site-account-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.site-account-actions>[hidden]{display:none!important}.site-account-actions .site-account-button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.site-account-actions .site-account-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.site-account-logout{height:40px;padding:0 18px;border:1px solid #cfe0ff;border-radius:8px;background:#fff;color:#1764ff;font:14px "Microsoft YaHei",sans-serif;cursor:pointer;white-space:nowrap}.site-account-logout:hover{border-color:#8db2ff;background:#f5f8ff}.site-header>.site-account-actions{position:relative;z-index:2}.site-account-floating{position:fixed;right:22px;top:18px;z-index:80}@media(max-width:900px){.site-header>.site-account-actions{position:fixed;right:14px;bottom:18px;z-index:80}.site-account-actions{gap:7px}.site-account-logout{height:40px;padding-inline:13px}}

/* Theme bridge: legacy auth selectors resolve through the shared product tokens. */
.site-account-button,.site-account-logout{border-color:var(--color-line-strong);background:var(--color-paper);color:var(--color-brand);font-family:var(--font-body);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.site-account-button:hover,.site-account-logout:hover{border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-strong)}
.site-account-button.is-user{border-color:var(--color-success-line);background:var(--color-success-soft);color:var(--color-success)}
.site-auth-dialog{background:var(--color-paper);color:var(--color-ink);box-shadow:0 26px 80px var(--color-shadow-strong)}
.site-auth-dialog::backdrop{background:var(--color-overlay)}
.site-auth-head span,.site-auth-password-toggle,.site-auth-link{color:var(--color-brand)}
.site-auth-close,.site-auth-created,.site-auth-info-grid span{color:var(--color-muted)}
.site-auth-close:hover{background:var(--color-surface);color:var(--color-ink)}
.site-auth-tabs button{border-color:var(--color-line);background:var(--color-paper);color:var(--color-muted);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}
.site-auth-tabs button:hover{border-color:var(--color-brand);color:var(--color-brand)}
.site-auth-form label{color:var(--color-muted-strong)}
.site-auth-form input:focus,.site-auth-panel input:focus{border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-brand-soft)}
.site-auth-primary{background:var(--color-brand);color:var(--color-paper);transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.site-auth-form>.site-auth-primary,.site-auth-actions>.site-auth-primary{width:100%;margin-top:4px}.site-auth-actions>.site-auth-primary{flex:1}
.site-auth-primary:hover{background:var(--color-brand-strong)}
.site-auth-notice,.site-auth-logout-all{color:var(--color-danger)}
.site-auth-badge{background:var(--color-brand-soft);color:var(--color-brand-strong)}
.site-auth-badge.ok{background:var(--color-success-soft);color:var(--color-success)}
.site-auth-panel,.site-auth-info-grid>div{border-color:var(--color-line);background:var(--color-surface)}
.site-auth-profile-summary{border-color:var(--color-line);background:var(--color-paper)}
.site-auth-info-grid strong,.site-auth-change strong{color:var(--color-ink)}
.site-auth-profile-actions .site-auth-logout{border-color:var(--color-danger-line);background:var(--color-danger-soft);color:var(--color-danger)}
.site-auth-primary[aria-busy="true"]{cursor:progress;opacity:.72}
.site-auth-form input[aria-invalid="true"],.site-auth-panel input[aria-invalid="true"]{border-color:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-soft)}
@media(prefers-reduced-motion:reduce){.site-account-button,.site-account-logout,.site-auth-tabs button,.site-auth-primary{transition:none}.site-auth-primary:active,.site-account-button:active,.site-account-logout:active{transform:none}}
