/* 登录页内嵌法务阅读器：滚动到底后方可同意 */
.legal-consent{margin-top:12px;font-size:12px;color:#666;line-height:1.55}
.legal-consent-title{margin-bottom:8px;color:#888;font-size:12px}
.legal-consent-row{display:flex;align-items:center;gap:8px;margin:6px 0;flex-wrap:wrap}
.legal-consent-dot{width:8px;height:8px;border-radius:50%;background:#ccc;flex-shrink:0}
.legal-consent-dot.done{background:#52c41a}
.legal-consent-link{border:none;background:none;padding:0;color:#667eea;cursor:pointer;font-size:12px;text-decoration:underline}
.legal-consent-link:hover{opacity:.85}
.legal-consent-status{font-size:11px;color:#999}
.legal-consent-status.done{color:#389e0d}
.legal-consent-hint{margin-top:8px;font-size:11px;color:#999}
.legal-consent-native-hidden{position:absolute;opacity:0;pointer-events:none;width:0;height:0}

body.legal-reader-scroll-lock{overflow:hidden}

.legal-reader-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.55);
  display:none;align-items:flex-end;justify-content:center;
  z-index:200000;padding:0;
}
.legal-reader-overlay.open{display:flex}
.legal-reader-sheet{
  width:100%;max-width:min(520px,calc(100vw - 24px));
  height:min(88vh,720px);min-height:min(72vh,560px);
  background:#fff;border-radius:16px 16px 0 0;
  display:flex;flex-direction:column;overflow:hidden;
  box-shadow:0 -8px 32px rgba(0,0,0,.18);
}
.legal-reader-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 16px;border-bottom:1px solid #eee;flex-shrink:0;
}
.legal-reader-head h3{margin:0;font-size:16px;color:#333;font-weight:600}
.legal-reader-close{
  border:none;background:#f5f5f5;width:32px;height:32px;border-radius:50%;
  font-size:20px;line-height:1;cursor:pointer;color:#666;flex-shrink:0;
}
.legal-reader-progress{font-size:11px;color:#999;padding:0 16px 8px;flex-shrink:0}
.legal-reader-body{
  flex:1 1 auto;min-height:0;overflow-y:auto;padding:16px 18px 24px;
  font-size:14px;line-height:1.75;color:#333;-webkit-overflow-scrolling:touch;
}
.legal-reader-body h1{font-size:20px;margin:0 0 8px;color:#222}
.legal-reader-body h2{font-size:15px;margin:20px 0 8px;color:#333}
.legal-reader-body .meta,.legal-reader-body .muted{color:#888;font-size:13px;margin-bottom:12px}
.legal-reader-body .note,.legal-reader-body .box{
  background:#fff8e6;border:1px solid #ffe0a3;border-radius:8px;
  padding:12px 14px;margin:12px 0;font-size:13px;
}
.legal-reader-body ul,.legal-reader-body ol{padding-left:1.3em;margin:8px 0 12px}
.legal-reader-foot{
  padding:12px 16px calc(12px + env(safe-area-inset-bottom,0));
  border-top:1px solid #eee;background:#fafafa;flex-shrink:0;
}
.legal-reader-foot p{margin:0 0 10px;font-size:12px;color:#888;text-align:center}
.legal-reader-agree{
  width:100%;padding:12px;border:none;border-radius:10px;
  background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;
  font-size:15px;font-weight:600;cursor:pointer;
}
.legal-reader-agree:disabled{opacity:.45;cursor:not-allowed}

/* 门户深色主题 */
.legal-reader-overlay.theme-portal .legal-reader-sheet{background:#1a2332;color:#e0e0e0}
.legal-reader-overlay.theme-portal .legal-reader-head{border-color:#2a3a4a}
.legal-reader-overlay.theme-portal .legal-reader-head h3{color:#f0c040}
.legal-reader-overlay.theme-portal .legal-reader-close{background:#0f1923;color:#aaa}
.legal-reader-overlay.theme-portal .legal-reader-body{color:#ddd}
.legal-reader-overlay.theme-portal .legal-reader-body h1,.legal-reader-overlay.theme-portal .legal-reader-body h2{color:#f0c040}
.legal-reader-overlay.theme-portal .legal-reader-body .box{background:#0f1923;border-color:#2a3a4a}
.legal-reader-overlay.theme-portal .legal-reader-foot{background:#0f1923;border-color:#2a3a4a}
.legal-reader-overlay.theme-portal .legal-reader-agree{
  background:linear-gradient(135deg,#f0c040,#e8a020);color:#1a1a1a;
}

.legal-consent.theme-portal{color:#aaa}
.legal-consent.theme-portal .legal-consent-link{color:#f0c040}

@media (min-width:640px){
  .legal-reader-overlay{align-items:center;padding:24px}
  .legal-reader-sheet{border-radius:16px;height:min(84vh,720px);min-height:min(68vh,520px)}
}
