/* 客户品牌标志；独立样式兼容登录页与站内布局，不改正式文件模板。 */
.top a.logo.brand-home { width: 44px; height: 44px; flex: none; background: var(--panel); border: 1px solid var(--line); }
.top a.logo.brand-home img { display: block; width: 36px; height: 36px; object-fit: contain; }
.page .header .brand-mark { width: 44px; height: 44px; padding: 5px; background: var(--panel); border-radius: var(--r-md); object-fit: contain; }
.brand-section-mark { display: block; flex: none; padding: var(--sp-1); background: var(--panel); border-radius: var(--r-sm); object-fit: contain; }
.brand-loading { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--sp-3); padding: var(--sp-6); color: var(--ink-2); }
.brand-loading img { width: 52px; height: 52px; object-fit: contain; animation: brand-breathe 1.6s ease-in-out infinite; }
.brand-page-loading { position: fixed; inset: 0; z-index: 9990; background: var(--panel); opacity: .97; pointer-events: none; }
.brand-page-loading[hidden], .brand-loading[hidden], .idle-warning[hidden] { display: none; }
.idle-warning { position: fixed; bottom: var(--sp-6); left: 50%; transform: translateX(-50%); z-index: 9995; width: min(92vw, 540px); padding: var(--sp-4); border: 1px solid var(--warn); border-radius: var(--r-md); background: var(--warn-s); color: var(--ink); box-shadow: var(--shadow-card); font-size: var(--fs-body); }
.idle-warning button { margin-left: var(--sp-3); padding: var(--sp-2) var(--sp-3); border: 1px solid var(--warn); border-radius: var(--r-sm); background: var(--panel); cursor: pointer; }
.idle-lock { border: none; border-radius: var(--r-lg); padding: var(--sp-8); max-width: min(90vw, 480px); color: var(--ink); background: var(--panel); text-align: center; }
.idle-lock::backdrop { background: var(--paper); opacity: 1; }
.idle-lock img { width: 64px; height: 64px; }
.idle-lock h2 { font-size: var(--fs-title); }
.idle-lock p { line-height: 1.7; }
.idle-lock a { display: inline-block; padding: var(--sp-3) var(--sp-6); border-radius: var(--r-md); background: var(--brand); color: var(--on-dark, white); }
.is-loading .brand-submit-mark { width: 24px; height: 24px; vertical-align: middle; margin-right: var(--sp-2); background: var(--panel); border-radius: var(--r-sm); animation: brand-breathe 1.6s ease-in-out infinite; }
@keyframes brand-breathe { 0%, 100% { opacity: .55; transform: scale(.93); } 50% { opacity: 1; transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .brand-loading img, .is-loading .brand-submit-mark { animation: none; } }
