/* 各页共用状态语言，内容结构仍各自保留。 */
.state-panel{position:relative;margin:28px auto 36px;max-width:390px;padding:28px 22px 26px;text-align:left;border-top:1px solid #dacabd;border-bottom:1px solid #dacabd;background:#f8f3ed;border-radius:0}
.state-symbol{width:44px;height:44px;background:#efe5e1;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.state-symbol .ui-icon{width:23px;height:23px;opacity:.7;filter:sepia(.5) saturate(.6)}
.state-panel h3{font:500 24px/1.6 'Songti SC','STSong',serif;color:var(--accent);margin:0 0 10px}
.state-panel>p{font-size:14px;line-height:1.9;color:var(--muted);margin:0;text-wrap:pretty}
.state-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:24px}
.state-actions .primary{font-size:15px;min-height:48px;padding:10px 22px;border-radius:6px}
.state-actions .text-action{font-size:14px;min-height:44px}
.state-search,.state-error{background:transparent}

.profile-shell .state-panel{margin-top:20px}
.more-recommendations .state-panel{margin:14px 0 0;padding:20px;background:transparent}
.admin-app .state-panel{max-width:none;margin:12px 0 20px;padding:22px;background:#f8f3ed;border-color:#dfd4cc}
.admin-app .state-panel h3{font-size:20px;color:var(--accent)}
.admin-app .state-panel>p{font-size:13px;line-height:1.8}
.admin-app .state-symbol{width:36px;height:36px;margin-bottom:12px}
.admin-app .state-symbol .ui-icon{width:20px;height:20px}
.state-loading{display:flex;align-items:center;gap:10px;min-height:90px;padding:20px 0;color:#817779;font-size:14px;line-height:1.8}
.state-loading img{width:20px;height:20px;opacity:.6;animation:state-spin 1.15s linear infinite}
.reason-missing{display:flex;align-items:flex-start;gap:10px;background:#f4eee8;border-left:2px solid #c9b2a1;padding:14px 12px;line-height:1.9}
.reason-missing .ui-icon{flex:0 0 18px;width:18px;height:18px;margin-top:3px;opacity:.6}
.salon-app #formMsg .err,.salon-app #loginMsg .err{background:#f7e9e4;border-left:2px solid #b77d6d;padding:12px 14px;border-radius:3px;font-size:14px;line-height:1.8}
@keyframes state-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.state-loading img{animation:none}}
